Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
b9a43fc
init conversion version
tadelesh Jul 7, 2025
afa5c86
fix
tadelesh Jul 8, 2025
69217b1
update operation id
tadelesh Jul 8, 2025
5c49eac
update
tadelesh Jul 8, 2025
c4465e9
fix
tadelesh Jul 8, 2025
8adf0fc
fix
tadelesh Jul 8, 2025
be7c6fb
format
tadelesh Jul 8, 2025
2377ea6
fix
tadelesh Jul 8, 2025
a46a2c1
Merge branch 'main' into recovery_service_backup_typespec
tadelesh Aug 14, 2025
e08d175
update
Aug 14, 2025
85b875d
Merge remote-tracking branch 'origin/main' into recovery_service_back…
Aug 15, 2025
37e19ba
update
Aug 15, 2025
7d843e1
Merge branch 'recovery_service_backup_typespec' of github.com:Azure/a…
Aug 15, 2025
8411141
Merge branch 'main' into recovery_service_backup_typespec
tadelesh Aug 21, 2025
8bd0d6a
Merge branch 'main' into recovery_service_backup_typespec
msyyc Aug 28, 2025
d42db6f
fix python
msyyc Aug 28, 2025
6fab214
Merge branch 'main' into recovery_service_backup_typespec
tadelesh Sep 11, 2025
44c2015
update
Sep 11, 2025
8960d93
update
Sep 11, 2025
046b887
java backward compatible
weidongxu-microsoft Sep 11, 2025
10bdc7b
Add Java SDK breaking change mitigations for TypeSpec migration
weidongxu-microsoft Sep 11, 2025
bbd0831
java backward compatible
weidongxu-microsoft Sep 11, 2025
2b6d01d
fix plural
weidongxu-microsoft Sep 11, 2025
b989162
java backward compatible
weidongxu-microsoft Sep 11, 2025
4c8c486
Fix Java SDK breaking changes for UTC, PIN, VM abbreviations
weidongxu-microsoft Sep 11, 2025
58cc136
java backward compatible
weidongxu-microsoft Sep 11, 2025
7439f22
merge ResourceGuardProxy and ResourceGuardProxies
weidongxu-microsoft Sep 11, 2025
2545b16
update
Sep 12, 2025
7fb44f3
update fixme
Sep 12, 2025
5e497d9
change to legacy operations list
Sep 12, 2025
5db1c31
fix
Sep 12, 2025
c07cddb
update
Sep 12, 2025
871d592
fix
Sep 12, 2025
665eccf
Merge branch 'main' into recovery_service_backup_typespec
tadelesh Sep 19, 2025
ddc737a
resolve breaking
v-jiaodi Sep 19, 2025
412265b
fix ordering and go config
Sep 19, 2025
7944849
Merge branch 'recovery_service_backup_typespec' of github.com:Azure/a…
Sep 19, 2025
a68b823
update
Sep 19, 2025
c7778df
update
Sep 19, 2025
e810a1f
update
Sep 22, 2025
58d94c4
update
Sep 23, 2025
bfc3028
update
Sep 23, 2025
03a4aad
fix
Sep 23, 2025
e309813
fix
Sep 23, 2025
d7a0edf
fix
Sep 23, 2025
84c7f5a
resolve js model duplicate
v-jiaodi Sep 23, 2025
4f34bb4
Update ProtectionPolicies_Delete.json
Sep 23, 2025
bc90e78
fix cspell
XiaofeiCao Sep 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/rest";
import "./models.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using Azure.ResourceManager.Legacy;
using TypeSpec.Http;

namespace Microsoft.RecoveryServices;
/**
* The base backup engine class. All workload specific backup engines derive from this class.
*/
@parentResource(VaultResource)
model BackupEngineBaseResource
is TrackedResourceWithOptionalLocation<BackupEngineBase> {
...ResourceNameParameter<
Resource = BackupEngineBaseResource,
KeyName = "backupEngineName",
SegmentName = "backupEngines",
NamePattern = ""
>;

/**
* Optional ETag.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
eTag?: string;
}

@armResourceOperations
interface BackupEngines {
/**
* Returns backup management server registered to Recovery Services Vault.
*/
get is ArmResourceRead<
BackupEngineBaseResource,
Parameters = {
/**
* OData filter options.
*/
@query("$filter")
$filter?: string;

/**
* skipToken Filter.
*/
@query("$skipToken")
$skipToken?: string;
}
>;

/**
* Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.
*/
@list
list is ArmResourceListByParent<
BackupEngineBaseResource,
Parameters = {
/**
* OData filter options.
*/
@query("$filter")
$filter?: string;

/**
* skipToken Filter.
*/
@query("$skipToken")
$skipToken?: string;
},
Response = ArmResponse<BackupEngineBaseResourceList>
>;
}

@@doc(BackupEngineBaseResource.name, "Name of the backup management server.");
@@doc(BackupEngineBaseResource.properties,
"BackupEngineBaseResource properties"
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/rest";
import "./models.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using Azure.ResourceManager.Legacy;
using TypeSpec.Http;

namespace Microsoft.RecoveryServices;
/**
* The resource storage details.
*/
@singleton("vaultstorageconfig")
@parentResource(VaultResource)
model BackupResourceConfigResource
is TrackedResourceWithOptionalLocation<BackupResourceConfig> {
...ResourceNameParameter<
Resource = BackupResourceConfigResource,
KeyName = "backupstorageconfig",
SegmentName = "backupstorageconfig",
NamePattern = ""
>;

/**
* Optional ETag.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
eTag?: string;
}

#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@armResourceOperations
interface BackupResourceStorageConfigsNonCRR {
/**
* Fetches resource storage config.
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations"
get is ArmResourceRead<BackupResourceConfigResource>;

/**
* Updates vault storage model type.
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
update is ArmResourceCreateOrReplaceSync<
BackupResourceConfigResource,
Response = ArmResourceUpdatedResponse<BackupResourceConfigResource>
>;

/**
* Updates vault storage model type.
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations"
@patch(#{ implicitOptionality: false })
patch is ArmCustomPatchSync<
BackupResourceConfigResource,
PatchModel = BackupResourceConfigResource,
Response = ArmNoContentResponse
>;

/**
* Prepares source vault for Data Move operation
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations"
#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@action("prepareDataMove")
bmsPrepareDataMove is ArmResourceActionAsync<
BackupResourceConfigResource,
PrepareDataMoveRequest,
OkResponse
>;

/**
* Triggers Data Move Operation on target vault
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations"
#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@action("triggerDataMove")
bmsTriggerDataMove is ArmResourceActionAsync<
BackupResourceConfigResource,
TriggerDataMoveRequest,
OkResponse
>;
}

@armResourceOperations
interface BackupResourceConfigOperationResultOps
extends Azure.ResourceManager.Legacy.LegacyOperations<
{
...ApiVersionParameter,
...SubscriptionIdParameter,
...ResourceGroupParameter,
...Azure.ResourceManager.Legacy.Provider,

/** vaults */
@path @segment("vaults") vaultName: string,

/** backupStorageConfigName */
@path
@segment("backupstorageconfig")
backupStorageConfigName: "vaultstorageconfig",
},
KeysOf<ResourceNameParameter<
Resource = BackupResourceConfigResource,
KeyName = "operationId",
SegmentName = "operationResults",
NamePattern = ""
>>
> {}

#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@armResourceOperations
interface BMSPrepareDataMoveOperationResult {
/**
* Fetches operation status for data move operation on vault
*/
#suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations"
#suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
get is BackupResourceConfigOperationResultOps.Read<
BackupResourceConfigResource,
Response = ArmResponse<VaultStorageConfigOperationResultResponse> | AcceptedResponse
>;
}

@armResourceOperations
interface BackupResourceConfigOperationStatusOps
extends Azure.ResourceManager.Legacy.LegacyOperations<
{
...ApiVersionParameter,
...SubscriptionIdParameter,
...ResourceGroupParameter,
...Azure.ResourceManager.Legacy.Provider,

/** vaults */
@path @segment("vaults") vaultName: string,

/** backupStorageConfigName */
@path
@segment("backupstorageconfig")
backupStorageConfigName: "vaultstorageconfig",
},
KeysOf<ResourceNameParameter<
Resource = BackupResourceConfigResource,
KeyName = "operationId",
SegmentName = "operationStatus",
NamePattern = ""
>>
> {}

#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@armResourceOperations
interface BackupResourceConfigOperationStatuses {
/**
* Fetches Operation Result for Prepare Data Move
*/
@get
getOperationStatus is BackupResourceConfigOperationStatusOps.Read<
BackupResourceConfigResource,
Response = ArmResponse<OperationStatus>
>;
}

@@doc(BackupResourceConfigResource.name, "");
@@doc(BackupResourceConfigResource.properties,
"BackupResourceConfigResource properties"
);
@@doc(BackupResourceStorageConfigsNonCRR.update::parameters.resource,
"Vault storage config request"
);
@@doc(BackupResourceStorageConfigsNonCRR.patch::parameters.properties,
"Vault storage config request"
);
@@doc(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove::parameters.body,
"Prepare data move request"
);
@@doc(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove::parameters.body,
"Trigger data move request"
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/rest";
import "./models.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using Azure.ResourceManager.Legacy;
using TypeSpec.Http;

namespace Microsoft.RecoveryServices;

#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@singleton("backupResourceEncryptionConfig")
@parentResource(VaultResource)
@doc("")
model BackupResourceEncryptionConfigExtendedResource
is TrackedResourceWithOptionalLocation<BackupResourceEncryptionConfigExtended> {
...ResourceNameParameter<
Resource = BackupResourceEncryptionConfigExtendedResource,
KeyName = "backupEncryptionConfig",
SegmentName = "backupEncryptionConfigs",
NamePattern = ""
>;

/**
* Optional ETag.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
eTag?: string;
}

#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@singleton("backupResourceEncryptionConfig")
@parentResource(VaultResource)
@doc("")
model BackupResourceEncryptionConfigResource
is TrackedResourceWithOptionalLocation<BackupResourceEncryptionConfig> {
...ResourceNameParameter<
Resource = BackupResourceEncryptionConfigResource,
KeyName = "backupEncryptionConfig",
SegmentName = "backupEncryptionConfigs",
NamePattern = ""
>;

/**
* Optional ETag.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
eTag?: string;
}

#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@armResourceOperations
interface BackupResourceEncryptionConfigs {
/**
* Fetches Vault Encryption config.
*/
get is ArmResourceRead<BackupResourceEncryptionConfigExtendedResource>;

/**
* Updates Vault encryption config.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
#suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
#suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
update is ArmResourceCreateOrReplaceSync<
BackupResourceEncryptionConfigResource,
Response = OkResponse
>;
}

@@doc(BackupResourceEncryptionConfigExtendedResource.name, "");
@@doc(BackupResourceEncryptionConfigExtendedResource.properties,
"BackupResourceEncryptionConfigExtendedResource properties"
);
@@doc(BackupResourceEncryptionConfigs.update::parameters.resource,
"Vault encryption input config request"
);

@@doc(BackupResourceEncryptionConfigResource.name, "");
@@doc(BackupResourceEncryptionConfigResource.properties,
"BackupResourceEncryptionConfigResource properties"
);
Loading
Loading