From d1f4d6fcf1bbb2e71a32bb2079de12f17fedf56a Mon Sep 17 00:00:00 2001 From: jmegha123 <144662309+jmegha123@users.noreply.github.com> Date: Thu, 9 May 2024 08:34:52 +0530 Subject: [PATCH 01/30] revert changes for user mi (#28839) --- custom-words.txt | 1 - .../NetworkWatcherFlowLogConfigure.json | 24 ------------------- .../examples/NetworkWatcherFlowLogCreate.json | 24 ------------------- .../examples/NetworkWatcherFlowLogGet.json | 11 +-------- .../examples/NetworkWatcherFlowLogList.json | 22 ++--------------- .../NetworkWatcherFlowLogStatusQuery.json | 18 -------------- .../NetworkWatcherFlowLogUpdateTags.json | 11 +-------- .../stable/2023-11-01/networkWatcher.json | 8 ------- 8 files changed, 4 insertions(+), 115 deletions(-) diff --git a/custom-words.txt b/custom-words.txt index d7857d83c0cc..30b747c50c4e 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -1046,7 +1046,6 @@ fiveqi flexera flink flowlet -flowlog fluentd forceclosehandles forceencryption diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogConfigure.json index bcf8273c4dc2..0595cbb99a67 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogConfigure.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogConfigure.json @@ -9,12 +9,6 @@ "properties": { "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", "enabled": true - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} - } } } }, @@ -25,15 +19,6 @@ "properties": { "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", "enabled": true - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } } } }, @@ -46,15 +31,6 @@ "properties": { "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", "enabled": true - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } } } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogCreate.json index aae326485fb0..4fdba8aa3bd3 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogCreate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogCreate.json @@ -15,12 +15,6 @@ "type": "JSON", "version": 1 } - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} - } } } }, @@ -47,15 +41,6 @@ } }, "type": "Microsoft.Network/networkWatchers/FlowLogs", - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } - }, "location": "centraluseuap" } }, @@ -81,15 +66,6 @@ } }, "type": "Microsoft.Network/networkWatchers/FlowLogs", - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } - }, "location": "centraluseuap" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogGet.json index 5bddee8b4d62..cac8309d825e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogGet.json @@ -36,16 +36,7 @@ } }, "location": "centraluseuap", - "type": "Microsoft.Network/networkWatchers/FlowLogs", - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } - } + "type": "Microsoft.Network/networkWatchers/FlowLogs" } } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogList.json index 305a9fa404e1..0f94167d3b6e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogList.json @@ -37,16 +37,7 @@ } }, "location": "centraluseuap", - "type": "Microsoft.Network/networkWatchers/FlowLogs", - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } - } + "type": "Microsoft.Network/networkWatchers/FlowLogs" }, { "name": "flowLog2", @@ -69,16 +60,7 @@ } }, "type": "Microsoft.Network/networkWatchers/FlowLogs", - "location": "centraluseuap", - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } - } + "location": "centraluseuap" } ] } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogStatusQuery.json index 4b8e2d571b7a..1f25c541d745 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogStatusQuery.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogStatusQuery.json @@ -15,15 +15,6 @@ "properties": { "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", "enabled": true - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } } } }, @@ -36,15 +27,6 @@ "properties": { "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", "enabled": true - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } } } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogUpdateTags.json index d39514d2e08f..b61735f4bde0 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogUpdateTags.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/examples/NetworkWatcherFlowLogUpdateTags.json @@ -39,16 +39,7 @@ "tag2": "value2" }, "type": "Microsoft.Network/networkWatchers/FlowLogs", - "location": "centralus", - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", - "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" - } - } - } + "location": "centralus" } } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/networkWatcher.json index eabf3f2eb9c8..6ec21b03d05e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/networkWatcher.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-11-01/networkWatcher.json @@ -3159,10 +3159,6 @@ "readOnly": true, "type": "string", "description": "A unique read-only string that changes whenever the resource is updated." - }, - "identity": { - "description": "FlowLog resource Managed Identity", - "$ref": "./network.json#/definitions/ManagedServiceIdentity" } }, "allOf": [ @@ -3309,10 +3305,6 @@ "flowAnalyticsConfiguration": { "$ref": "#/definitions/TrafficAnalyticsProperties", "description": "Parameters that define the configuration of traffic analytics." - }, - "identity": { - "description": "FlowLog resource Managed Identity", - "$ref": "./network.json#/definitions/ManagedServiceIdentity" } } }, From d92225029019d724f36df203e6c073513def9ade Mon Sep 17 00:00:00 2001 From: pdaryani010 <139246834+pdaryani010@users.noreply.github.com> Date: Fri, 10 May 2024 00:13:02 +0530 Subject: [PATCH 02/30] Pdaryani010 recoveryservicesbackup microsoft.recovery services 2024 04 30 preview (#28713) * Copy files from stable/2024-04-01 Copied the files in a separate commit. This allows reviewers to easily diff subsequent changes against the previous spec. * Update version to preview/2024-04-30-preview Updated the API version from stable/2024-04-01 to preview/2024-04-30-preview. * Added tag for 2024-04-30-preview in readme file * update specs examples and readme * fix pretty checks * fix all examples pretty checks * fix pretty checks for nested * add example reference --------- Co-authored-by: madhura <56606095+madhura-np@users.noreply.github.com> --- .../preview/2024-04-30-preview/bms.json | 13681 ++++++++++++++++ .../AzureIaasVm/BackupFeature_Validate.json | 19 + .../AzureIaasVm/BackupPolicies_List.json | 76 + .../BackupProtectableItems_List.json | 30 + .../BackupProtectedItems_List.json | 39 + .../ClassicCompute_ProtectedItem_Get.json | 38 + .../Compute_ProtectedItem_Get.json | 38 + .../AzureIaasVm/ConfigureProtection.json | 51 + .../examples/AzureIaasVm/GetBackupStatus.json | 25 + .../ProtectedItemOperationResults.json | 46 + .../ProtectedItemOperationStatus.json | 28 + .../ProtectionIntent_CreateOrUpdate.json | 32 + .../ProtectionIntent_Validate.json | 25 + ...ectionPolicies_CreateOrUpdate_Complex.json | 181 + ...tectionPolicies_CreateOrUpdate_Simple.json | 75 + .../ProtectionPolicies_Delete.json | 13 + .../AzureIaasVm/ProtectionPolicies_Get.json | 43 + .../ProtectionPolicyOperationResults_Get.json | 44 + ...ProtectionPolicyOperationStatuses_Get.json | 28 + .../examples/AzureIaasVm/Provision_Ilr.json | 30 + ...RecoveryPointsRecommendedForMove_List.json | 101 + .../AzureIaasVm/RecoveryPoints_Get.json | 48 + .../AzureIaasVm/RecoveryPoints_List.json | 136 + .../examples/AzureIaasVm/Revoke_Ilr.json | 21 + .../examples/AzureIaasVm/StopProtection.json | 51 + ...iggerRestore_ALR_IaasVMRestoreRequest.json | 43 + ...reRequest_IdentityBasedRestoreDetails.json | 45 + ...R_IaasVMRestoreWithRehydrationRequest.json | 44 + .../TriggerRestore_ResourceGuardEnabled.json | 45 + ...ore_RestoreDisks_IaasVMRestoreRequest.json | 44 + ...reRequest_IdentityBasedRestoreDetails.json | 42 + ...s_IaasVMRestoreWithRehydrationRequest.json | 40 + .../TriggerValidateOperation_RestoreDisk.json | 44 + .../AzureIaasVm/V2Policy/IaaS_v2_daily.json | 191 + .../AzureIaasVm/V2Policy/IaaS_v2_hourly.json | 191 + .../AzureIaasVm/V2Policy/v2-Get-Policy.json | 48 + .../V2Policy/v2-List-Policies.json | 107 + .../AzureIaasVm/ValidateOperationResults.json | 33 + .../AzureIaasVm/ValidateOperationStatus.json | 35 + .../ValidateOperation_RestoreDisk.json | 53 + ...storeDisk_IdentityBasedRestoreDetails.json | 55 + .../ProtectableContainers_List.json | 42 + .../ProtectionContainers_Inquire.json | 19 + .../ProtectionContainers_Inquire_Result.json | 65 + .../ProtectionContainers_List.json | 32 + .../ProtectionContainers_Register.json | 44 + ...otectionPolicies_CreateOrUpdate_Daily.json | 180 + ...ctionPolicies_CreateOrUpdate_Hardened.json | 187 + ...tectionPolicies_CreateOrUpdate_Hourly.json | 176 + .../SoftDeletedContainers_List.json | 32 + .../AzureWorkload/BackupPolicies_List.json | 70 + .../BackupProtectionIntent_Delete.json | 14 + .../BackupProtectionIntent_Get.json | 26 + .../BackupProtectionIntent_List.json | 28 + .../BackupWorkloadItems_List.json | 47 + .../ProtectionContainers_Get.json | 57 + .../ProtectionContainers_Unregister.json | 21 + ...ectionPolicies_CreateOrUpdate_Complex.json | 260 + .../BackupDataMoveOperationStatus_Get.json | 20 + .../PrepareDataMoveOperationResult_Get.json | 23 + .../BackupDataMove/PrepareDataMove_Post.json | 23 + .../BackupDataMove/TriggerDataMove_Post.json | 23 + .../BackupResourceEncryptionConfig_Get.json | 27 + .../BackupResourceEncryptionConfig_Put.json | 19 + .../BackupProtectedItem_UsageSummary_Get.json | 62 + ...ProtectionContainers_UsageSummary_Get.json | 44 + .../BackupResourceVaultConfigs_Get.json | 20 + .../BackupResourceVaultConfigs_Patch.json | 25 + .../BackupResourceVaultConfigs_Put.json | 27 + .../Common/BackupSecurityPin_Get.json | 17 + .../Common/BackupStorageConfig_Get.json | 23 + .../Common/BackupStorageConfig_Patch.json | 17 + .../Common/BackupStorageConfig_Put.json | 29 + .../Common/CancelJobOperationResult.json | 20 + .../Common/ExportJobsOperationResult.json | 41 + .../examples/Common/GetJobDetails.json | 46 + .../examples/Common/ListJobs.json | 49 + .../ListJobsWithAllSupportedFilters.json | 33 + ...istJobsWithStartTimeAndEndTimeFilters.json | 51 + .../examples/Common/ProtectedItem_Delete.json | 22 + .../ProtectedItem_Delete_OperationResult.json | 20 + .../ProtectedItem_Delete_OperationStatus.json | 21 + .../Common/RecoveryPoints_Update.json | 44 + .../examples/Common/RefreshContainers.json | 17 + .../RefreshContainers_OperationResults.json | 19 + .../examples/Common/TriggerBackup_Post.json | 25 + .../examples/Common/TriggerCancelJob.json | 17 + .../examples/Common/TriggerExportJobs.json | 16 + .../examples/Dpm/BackupEngines_Get.json | 35 + .../examples/Dpm/BackupEngines_List.json | 60 + .../examples/ListOperations.json | 463 + .../DeletePrivateEndpointConnection.json | 19 + .../GetPrivateEndpointConnection.json | 31 + ...vateEndpointConnectionOperationStatus.json | 21 + .../PutPrivateEndpointConnection.json | 70 + .../DeleteResourceGuardProxy.json | 13 + .../GetResourceGuardProxy.json | 33 + .../ListResourceGuardProxy.json | 36 + .../PutResourceGuardProxy.json | 38 + .../UnlockDeleteResourceGuardProxy.json | 22 + .../FetchTieringCostForPolicy.json | 32 + .../FetchTieringCostForProtectedItem.json | 33 + .../FetchTieringCostForRehydrate.json | 33 + .../TieringCost/FetchTieringCostForVault.json | 31 + .../GetTieringCostOperationResult.json | 20 + .../GetTieringCostOperationStatus.json | 21 + .../TriggerRecoveryPointMove_Post.json | 26 + .../resource-manager/readme.md | 14 + 108 files changed, 19150 insertions(+) create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/bms.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupFeature_Validate.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupPolicies_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectableItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectedItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Compute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ConfigureProtection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/GetBackupStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_Validate.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Provision_Ilr.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Revoke_Ilr.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/StopProtection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-List-Policies.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectableContainers_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire_Result.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Register.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/SoftDeletedContainers_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupPolicies_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupWorkloadItems_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Unregister.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMove_Post.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/TriggerDataMove_Post.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectedItem_UsageSummary_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectionContainers_UsageSummary_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupSecurityPin_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Patch.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Put.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/CancelJobOperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ExportJobsOperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/GetJobDetails.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobs.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithAllSupportedFilters.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RecoveryPoints_Update.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers_OperationResults.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerBackup_Post.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerCancelJob.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerExportJobs.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_Get.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_List.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForPolicy.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForProtectedItem.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForRehydrate.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForVault.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationResult.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationStatus.json create mode 100644 specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TriggerRecoveryPointMove_Post.json diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/bms.json new file mode 100644 index 000000000000..76a19e99cfac --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/bms.json @@ -0,0 +1,13681 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-30-preview", + "title": "RecoveryServicesBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { + "get": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Fetches resource storage config.", + "operationId": "BackupResourceStorageConfigsNonCRR_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigsNonCRR_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Put.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Patch.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "post": { + "tags": [ + "ProtectionIntent" + ], + "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "operationId": "ProtectionIntent_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Enable backup validation request on Virtual Machine", + "required": true, + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupResponse" + } + } + }, + "x-ms-examples": { + "Validate Enable Protection on Azure Vm": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { + "post": { + "tags": [ + "BackupStatus" + ], + "summary": "Get the container backup status", + "operationId": "BackupStatus_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Container Backup Status Request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupStatusResponse" + } + } + }, + "x-ms-examples": { + "Get Azure Virtual Machine Backup Status": { + "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { + "post": { + "tags": [ + "FeatureSupport" + ], + "summary": "It will validate if given feature with resource properties is supported in service", + "operationId": "FeatureSupport_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Feature support request object", + "required": true, + "schema": { + "$ref": "#/definitions/FeatureSupportRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + } + } + }, + "x-ms-examples": { + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { + "get": { + "tags": [ + "ProtectionIntent" + ], + "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectionIntent_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Get ProtectionIntent for an item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionIntent" + ], + "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", + "operationId": "ProtectionIntent_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent object name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Create or Update Azure Vm Protection Intent": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionIntent" + ], + "description": "Used to remove intent from an item", + "operationId": "ProtectionIntent_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the intent.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Protection intent from item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { + "get": { + "tags": [ + "BackupProtectionIntent" + ], + "description": "Provides a pageable list of all intents that are present within a vault.", + "operationId": "BackupProtectionIntent_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionIntentQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection intent with backupManagementType filter": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { + "get": { + "tags": [ + "BackupUsageSummaries" + ], + "description": "Fetches the backup management usage summaries of the vault.", + "operationId": "BackupUsageSummaries_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupManagementUsageList" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Get Protected Items Usages Summary": { + "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" + }, + "Get Protected Containers Usages Summary": { + "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" + } + } + } + }, + "/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { + "get": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Fetches resource vault config.", + "operationId": "BackupResourceVaultConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config. ", + "operationId": "BackupResourceVaultConfigs_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "get": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Fetches Vault Encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigExtendedResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Updates Vault encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault encryption input config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { + "get": { + "tags": [ + "PrivateEndpoint" + ], + "summary": "Gets the operation status for a private endpoint connection.", + "operationId": "PrivateEndpoint_GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { + "tags": [ + "DataMove" + ], + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Prepare data move request", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "get": { + "tags": [ + "BMSPrepareDataMoveOperationResult" + ], + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. ", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Trigger data move request", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { + "get": { + "tags": [ + "ProtectedItems" + ], + "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectedItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", + "x-ms-examples": { + "Get Protected Classic Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" + }, + "Get Protected Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectedItems" + ], + "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Item name to be backed up.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Enable Protection on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" + }, + "Stop Protection with retain data on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/StopProtection.json" + } + } + }, + "delete": { + "tags": [ + "ProtectedItems" + ], + "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationResults" + ], + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item whose backup copies are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", + "operationId": "RecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + } + } + }, + "patch": { + "tags": [ + "RecoveryPoints" + ], + "description": "UpdateRecoveryPoint to update recovery point for given RecoveryPointID.", + "operationId": "RecoveryPoints_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateRecoveryPointRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Azure Vm Recovery Point Details": { + "$ref": "./examples/Common/RecoveryPoints_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { + "tags": [ + "Restores" + ], + "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", + "operationId": "Restores_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents the backed up data to be restored.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource restore request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequestResource" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Restore to New Azure IaasVm with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json" + }, + "Restore Disks with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json" + }, + "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore Disks with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json" + }, + "Trigger Restore with MUA": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" + }, + "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-List-Policies.json" + }, + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "get": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy information to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + }, + "Get Azure IaasVm Enhanced Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-Get-Policy.json" + } + } + }, + "put": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be created.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup policy", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" + }, + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json" + }, + "Create or Update Enhanced Azure Vm Protection Policy with daily backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Daily Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json" + }, + "Create or Update Hourly Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json" + }, + "Create or Update Azure Storage Vault Standard Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationResults" + ], + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { + "get": { + "tags": [ + "BackupJobs" + ], + "description": "Provides a pageable list of jobs.", + "operationId": "BackupJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List All Jobs": { + "$ref": "./examples/Common/ListJobs.json" + }, + "List Jobs With Filters": { + "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" + }, + "List Jobs With Time Filter": { + "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { + "get": { + "tags": [ + "JobDetails" + ], + "description": "Gets extended information associated with the job.", + "operationId": "JobDetails_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Job Details": { + "$ref": "./examples/Common/GetJobDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { + "post": { + "tags": [ + "JobCancellations" + ], + "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", + "operationId": "JobCancellations_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job to cancel.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Cancel Job": { + "$ref": "./examples/Common/TriggerCancelJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { + "get": { + "tags": [ + "JobOperationResults" + ], + "description": "Fetches the result of any operation.", + "operationId": "JobOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job name whose operation result has to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result has to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Cancel Job Operation Result": { + "$ref": "./examples/Common/CancelJobOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { + "get": { + "tags": [ + "ExportJobsOperationResults" + ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", + "operationId": "ExportJobsOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the export job.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Export Jobs Operation Results": { + "$ref": "./examples/Common/ExportJobsOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", + "operationId": "Jobs_Export", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-examples": { + "Export Jobs": { + "$ref": "./examples/Common/TriggerExportJobs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "get": { + "tags": [ + "BackupProtectedItems" + ], + "description": "Provides a pageable list of all items that are backed up within a vault.", + "operationId": "BackupProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/ProtectedItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protected items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { + "post": { + "tags": [ + "Operation" + ], + "description": "Validate operation for specified backed up item. This is a synchronous operation.", + "operationId": "Operation_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource validate operation request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOperationRequestResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + }, + "Validate Operation with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation": { + "post": { + "tags": [ + "ValidateOperation" + ], + "description": "Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API.", + "operationId": "ValidateOperation_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource validate operation request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOperationRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Validate Operation": { + "$ref": "./examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}": { + "get": { + "tags": [ + "ValidateOperationResults" + ], + "description": "Fetches the result of a triggered validate operation.", + "operationId": "ValidateOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Results of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}": { + "get": { + "tags": [ + "ValidateOperationStatuses" + ], + "description": "Fetches the status of a triggered validate operation. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation.\r\nIf operation has completed, this method returns the list of errors obtained while validating the operation.", + "operationId": "ValidateOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", + "operationId": "BackupEngines_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Returns backup management server registered to Recovery Services Vault.", + "operationId": "BackupEngines_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupEngineName", + "in": "path", + "description": "Name of the backup management server.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", + "x-ms-examples": { + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerRefreshOperationResults" + ], + "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", + "operationId": "ProtectionContainerRefreshOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID associated with the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { + "get": { + "tags": [ + "ProtectableContainers" + ], + "description": "Lists the containers that can be registered to Recovery Services Vault.", + "operationId": "ProtectableContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureStorage": { + "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "get": { + "tags": [ + "ProtectionContainers" + ], + "description": "Gets details of the specific container registered to your Recovery Services Vault.", + "operationId": "ProtectionContainers_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionContainers" + ], + "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.", + "operationId": "ProtectionContainers_Register", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container to be registered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionContainers" + ], + "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", + "operationId": "ProtectionContainers_Unregister", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "summary": "Inquires all the protectable items under the given container.", + "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", + "operationId": "ProtectionContainers_Inquire", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric Name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container in which inquiry needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", + "x-ms-examples": { + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "get": { + "tags": [ + "BackupWorkloadItems" + ], + "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.", + "operationId": "BackupWorkloadItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerOperationResults" + ], + "description": "Fetches the result of any operation on the container.", + "operationId": "ProtectionContainerOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name whose information should be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Storage Protection Container Operation Result": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { + "tags": [ + "Backups" + ], + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item for which backup needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", + "operationId": "ProtectedItemOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", + "operationId": "ItemLevelRecoveryConnections_Provision", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource ILR request", + "required": true, + "schema": { + "$ref": "#/definitions/ILRRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", + "operationId": "ItemLevelRecoveryConnections_Revoke", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", + "operationId": "ProtectionContainers_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", + "x-ms-examples": { + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { + "get": { + "tags": [ + "BackupOperationResults" + ], + "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", + "operationId": "BackupOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Result for Protected Item Delete Operation": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { + "get": { + "tags": [ + "BackupOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.", + "operationId": "BackupOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationStatuses" + ], + "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.", + "operationId": "ProtectionPolicyOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's status needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents an operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Status": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { + "get": { + "tags": [ + "BackupProtectableItems" + ], + "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.", + "operationId": "BackupProtectableItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadProtectableItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSPOQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { + "get": { + "tags": [ + "BackupProtectionContainers" + ], + "description": "Lists the containers registered to Recovery Services Vault.", + "operationId": "BackupProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers": { + "get": { + "tags": [ + "SoftDeletedContainers" + ], + "description": "Lists the soft deleted containers registered to Recovery Services Vault.", + "operationId": "DeletedProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/SoftDeletedContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { + "post": { + "tags": [ + "SecurityPINs" + ], + "description": "Get the security PIN.", + "operationId": "SecurityPINs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "security pin request", + "required": false, + "schema": { + "$ref": "#/definitions/SecurityPinBase" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TokenInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { + "post": { + "tags": [ + "RecoveryPoint" + ], + "summary": "Move recovery point from one datastore to another store.", + "operationId": "MoveRecoveryPoint", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Move Resource Across Tiers Request", + "required": true, + "schema": { + "$ref": "#/definitions/MoveRPAcrossTiersRequest" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger RP Move Operation": { + "$ref": "./examples/TriggerRecoveryPointMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { + "post": { + "tags": [ + "RecoveryPointsRecommendedForMove" + ], + "description": "Lists the recovery points recommended for move to another tier", + "operationId": "RecoveryPointsRecommendedForMove_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "List Recovery points Recommended for Move Request", + "required": true, + "schema": { + "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points Recommended for Move": { + "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": { + "get": { + "tags": [ + "ResourceGuardProxies" + ], + "description": "List the ResourceGuardProxies under vault", + "operationId": "ResourceGuardProxies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get VaultGuardProxies": { + "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": { + "get": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Returns ResourceGuardProxy under vault and with the name referenced in request", + "operationId": "ResourceGuardProxy_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json" + } + } + }, + "put": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Add or Update ResourceGuardProxy under vault\r\nSecures vault critical operations", + "operationId": "ResourceGuardProxy_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json" + } + } + }, + "delete": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Delete ResourceGuardProxy under vault", + "operationId": "ResourceGuardProxy_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": { + "post": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Secures delete ResourceGuardProxy operations.", + "operationId": "ResourceGuardProxy_UnlockDelete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/UnlockDeleteRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UnlockDeleteResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UnlockDelete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost": { + "post": { + "tags": [ + "FetchTieringCost" + ], + "operationId": "FetchTieringCost_Post", + "description": "Provides the details of the tiering related sizes and cost.\r\nStatus of the operation can be fetched using GetTieringCostOperationStatus API and result using GetTieringCostOperationResult API.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RestrictedVaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "in": "body", + "description": "Fetch Tiering Cost Request", + "required": true, + "schema": { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TieringCostInfo" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Get the tiering savings cost info for policy": { + "$ref": "./examples/TieringCost/FetchTieringCostForPolicy.json" + }, + "Get the tiering savings cost info for protected item": { + "$ref": "./examples/TieringCost/FetchTieringCostForProtectedItem.json" + }, + "Get the tiering savings cost info for vault": { + "$ref": "./examples/TieringCost/FetchTieringCostForVault.json" + }, + "Get the rehydration cost for recovery point": { + "$ref": "./examples/TieringCost/FetchTieringCostForRehydrate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}": { + "get": { + "tags": [ + "GetTieringCostOperationResult" + ], + "description": "Gets the result of async operation for tiering cost", + "operationId": "GetTieringCostOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RestrictedVaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TieringCostInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Fetch Tiering Cost Operation Result": { + "$ref": "./examples/TieringCost/GetTieringCostOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}": { + "get": { + "tags": [ + "TieringCostOperationStatus" + ], + "operationId": "TieringCostOperationStatus_Get", + "description": "Gets the status of async operations of tiering cost", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RestrictedVaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Fetch Tiering Cost Operation Status": { + "$ref": "./examples/TieringCost/GetTieringCostOperationStatus.json" + } + } + } + } + }, + "definitions": { + "BackupResourceEncryptionConfig": { + "type": "object", + "properties": { + "encryptionAtRestType": { + "description": "Encryption At Rest Type", + "enum": [ + "Invalid", + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAtRestType", + "modelAsString": true + } + }, + "keyUri": { + "description": "Key Vault Key URI", + "type": "string" + }, + "subscriptionId": { + "description": "Key Vault Subscription Id", + "type": "string" + }, + "lastUpdateStatus": { + "enum": [ + "Invalid", + "NotEnabled", + "PartiallySucceeded", + "PartiallyFailed", + "Failed", + "Succeeded", + "Initialized", + "FirstInitialization" + ], + "type": "string", + "x-ms-enum": { + "name": "LastUpdateStatus", + "modelAsString": true + } + }, + "infrastructureEncryptionState": { + "enum": [ + "Invalid", + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "BackupResourceEncryptionConfigExtended": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupResourceEncryptionConfig" + } + ], + "properties": { + "userAssignedIdentity": { + "description": "User Assigned Identity Id", + "type": "string" + }, + "useSystemAssignedIdentity": { + "description": "bool to indicate whether to use system Assigned Identity or not", + "type": "boolean" + } + } + }, + "BackupResourceEncryptionConfigExtendedResource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfigExtended", + "description": "BackupResourceEncryptionConfigExtendedResource properties" + } + } + }, + "BackupResourceEncryptionConfigResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfig", + "description": "BackupResourceEncryptionConfigResource properties" + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection", + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Gets or sets private endpoint associated with the private endpoint connection" + }, + "groupIds": { + "description": "Group Ids for the Private Endpoint", + "type": "array", + "items": { + "description": "GroupId for the PrivateEndpointConnection - AzureBackup, AzureBackup_secondary or AzureSiteRecovery", + "enum": [ + "AzureBackup", + "AzureBackup_secondary", + "AzureSiteRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "VaultSubResourceType", + "modelAsString": true + } + } + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Gets or sets private link service connection state" + } + } + }, + "PrivateEndpointConnectionResource": { + "description": "Private Endpoint Connection Response Properties", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection", + "description": "PrivateEndpointConnectionResource properties" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Private Link Service Connection State", + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description", + "type": "string" + }, + "actionsRequired": { + "description": "Gets or sets actions required", + "type": "string" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "type": "object", + "$ref": "#/definitions/CloudErrorBody", + "description": "The error object." + } + }, + "description": "An error response from the Container Instance service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "x-ms-identifiers": [ + "code" + ], + "description": "A list of additional details about the error." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "description": "The error additional info." + } + }, + "description": "An error response from the Container Instance service." + }, + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "x-ms-identifiers": [ + "/error/code" + ], + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "resourceState": { + "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", + "type": "string", + "readOnly": true + }, + "resourceStateSyncTime": { + "format": "date-time", + "description": "The resource state sync time for this backup item.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string" + }, + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer" + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + } + }, + "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + }, + "AzureFileShareRestoreRequest": { + "description": "AzureFileShare Restore Request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Source storage account ARM Id", + "type": "string" + }, + "copyOptions": { + "description": "Options to resolve copy conflicts.", + "enum": [ + "Invalid", + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" + ], + "type": "string", + "x-ms-enum": { + "name": "CopyOptions", + "modelAsString": true + } + }, + "restoreRequestType": { + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", + "enum": [ + "Invalid", + "FullShareRestore", + "ItemLevelRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreRequestType", + "modelAsString": true + } + }, + "restoreFileSpecs": { + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "type": "array", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + }, + "x-ms-identifiers": [] + }, + "targetDetails": { + "$ref": "#/definitions/TargetAFSRestoreInfo", + "description": "Target File Share Details" + } + }, + "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + }, + "x-ms-identifiers": [] + }, + "makePolicyConsistent": { + "description": "Fix the policy inconsistency", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "vaultRetentionPolicy": { + "$ref": "#/definitions/VaultRetentionPolicy", + "description": "Retention policy with the details on hardened backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSVMErrorInfo": { + "description": "Azure IaaS VM workload-specific error information.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer", + "readOnly": true + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string", + "readOnly": true + }, + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ResourceHealthDetails": { + "description": "Health Details for backup items.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer", + "readOnly": true + }, + "title": { + "description": "Health Title", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Health Message", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceHealthDetails" + } + ] + }, + "AzureIaaSVMJob": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + }, + "containerName": { + "description": "Container name of the entity on which the current job is executing.", + "type": "string" + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJob" + }, + "AzureIaaSVMJobV2": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "containerName": { + "description": "Container name of the entity on which the current job is executing.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJobV2" + }, + "AzureIaaSVMJobExtendedInfo": { + "description": "Azure IaaS VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "internalPropertyBag": { + "description": "Job internal properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "progressPercentage": { + "format": "double", + "description": "Indicates progress of the job. Null if it has not started or completed.", + "type": "number" + }, + "estimatedRemainingDuration": { + "description": "Time remaining for execution of this job.", + "type": "string" + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureIaaSVMJobTaskDetails": { + "description": "Azure IaaS VM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "instanceId": { + "description": "The instanceId.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + }, + "progressPercentage": { + "format": "double", + "description": "Progress of the task.", + "type": "number" + }, + "taskExecutionDetails": { + "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", + "type": "string" + } + } + }, + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string", + "readOnly": true + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string", + "readOnly": true + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + }, + "readOnly": true + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string", + "readOnly": true + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string", + "readOnly": true + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item across all tiers.", + "type": "string" + }, + "oldestRecoveryPointInVault": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier", + "type": "string" + }, + "oldestRecoveryPointInArchive": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier", + "type": "string" + }, + "newestRecoveryPointInArchive": { + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyInconsistent": { + "description": "Specifies if backup policy associated with the backup item is inconsistent.", + "type": "boolean" + } + } + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "instantRPDetails": { + "$ref": "#/definitions/InstantRPAdditionalDetails" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "tieringPolicy": { + "description": "Tiering policy to automatically move RPs to another tier\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + } + }, + "instantRpRetentionRangeInDays": { + "format": "int32", + "description": "Instant RP retention policy range in days", + "type": "integer" + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "policyType": { + "enum": [ + "Invalid", + "V1", + "V2" + ], + "type": "string", + "x-ms-enum": { + "name": "IAASVMPolicyType", + "modelAsString": true + } + }, + "snapshotConsistencyType": { + "enum": [ + "OnlyCrashConsistent" + ], + "type": "string", + "x-ms-enum": { + "name": "IaasVMSnapshotConsistencyType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureIaasVM" + }, + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "protectedItemDataId": { + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "State of the backup policy associated with this backup item.", + "type": "string" + } + } + }, + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "storageAccountName": { + "description": "Specifies friendly name of the storage account.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureStorageJobExtendedInfo", + "description": "Additional information about the job." + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureStorageJob" + }, + "AzureStorageJobExtendedInfo": { + "description": "Azure Storage workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureStorageJobTaskDetails": { + "description": "Azure storage workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureVmWorkloadProtectedItem": { + "description": "Azure VM workload-specific protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of protected item, example: for a DB, standalone server or distributed", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string", + "readOnly": true + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "description": "Additional information on Azure Workload for SQL specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item across all tiers.", + "type": "string" + }, + "oldestRecoveryPointInVault": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier", + "type": "string" + }, + "oldestRecoveryPointInArchive": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier", + "type": "string" + }, + "newestRecoveryPointInArchive": { + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "recoveryModel": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + } + } + }, + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP ASE Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaDBInstanceProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA DBInstance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDBInstance" + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, + "AzureWorkloadErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalDetails": { + "description": "Additional details for above error code.", + "type": "string" + } + } + }, + "AzureWorkloadJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "workloadType": { + "description": "Workload type of the job", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "AzureWorkloadJob" + }, + "AzureWorkloadJobExtendedInfo": { + "description": "Azure VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureWorkloadJobTaskDetails": { + "description": "Azure VM workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureWorkloadPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, + "AzureWorkloadPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" + }, + "AzureWorkloadRecoveryPoint": { + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointTimeInUTC": { + "format": "date-time", + "description": "UTC time at which recovery point was created", + "type": "string" + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + } + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", + "type": "string" + }, + "propertyBag": { + "description": "Workload specific property bag.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "description": "Defines whether the current recovery mode is file restore or database restore", + "enum": [ + "Invalid", + "FileRecovery", + "WorkloadRecovery", + "SnapshotAttach", + "RecoveryUsingSnapshot", + "SnapshotAttachAndRecover" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true + } + }, + "targetResourceGroupName": { + "description": "Defines the Resource group of the Target VM", + "type": "string" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\r\nCurrently used for snapshot." + }, + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\r\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the target VM\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime in SAPHana", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, + "AzureWorkloadSAPHanaRestoreRequest": { + "description": "AzureWorkload SAP Hana-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + }, + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + }, + "AzureWorkloadSQLRecoveryPointExtendedInfo": { + "description": "Extended info class details", + "type": "object", + "properties": { + "dataDirectoryTimeInUTC": { + "format": "date-time", + "description": "UTC time at which data directory info was captured", + "type": "string" + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "x-ms-identifiers": [] + } + } + }, + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "BEKDetails": { + "description": "BEK is bitlocker encryption key.", + "type": "object", + "properties": { + "secretUrl": { + "description": "Secret is BEK.", + "type": "string" + }, + "secretVaultId": { + "description": "ID of the Key Vault where this Secret is stored.", + "type": "string" + }, + "secretData": { + "description": "BEK data.", + "type": "string" + } + } + }, + "BMSRPQueryObject": { + "description": "Filters to list backup copies.", + "type": "object", + "properties": { + "startDate": { + "format": "date-time", + "description": "Backup copies created after this time.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "Backup copies created before this time.", + "type": "string" + }, + "restorePointQueryType": { + "description": "RestorePoint type", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "FullAndDifferential", + "All", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointQueryType", + "modelAsString": true + } + }, + "extendedInfo": { + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", + "type": "boolean" + }, + "moveReadyRPOnly": { + "description": "Whether the RP can be moved to another tier", + "type": "boolean" + }, + "includeSoftDeletedRP": { + "description": "Flag to indicate whether Soft Deleted RPs should be included/excluded from result.", + "type": "boolean" + } + } + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "isInclusionList": { + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", + "type": "boolean" + } + } + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name for shoebox log specification.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "blob duration of shoebox log specification", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + }, + "x-ms-identifiers": [] + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next chunk of Response.", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, + "DiskInformation": { + "description": "Disk information", + "type": "object", + "properties": { + "lun": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + } + } + }, + "DailyRetentionFormat": { + "description": "Daily retention format.", + "type": "object", + "properties": { + "daysOfTheMonth": { + "description": "List of days of the month.", + "type": "array", + "items": { + "$ref": "#/definitions/Day" + }, + "x-ms-identifiers": [] + } + } + }, + "DailyRetentionSchedule": { + "description": "Daily retention schedule.", + "type": "object", + "properties": { + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "Day": { + "description": "Day of the week.", + "type": "object", + "properties": { + "date": { + "format": "int32", + "description": "Date of the month", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + } + }, + "DpmErrorInfo": { + "description": "DPM workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DpmJob": { + "description": "DPM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed for job.", + "type": "string" + }, + "dpmServerName": { + "description": "DPM server name managing the backup item or backup job.", + "type": "string" + }, + "containerName": { + "description": "Name of cluster/server protecting current backup item, if any.", + "type": "string" + }, + "containerType": { + "description": "Type of container.", + "type": "string" + }, + "workloadType": { + "description": "Type of backup item.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + }, + "x-ms-identifiers": [] + }, + "extendedInfo": { + "$ref": "#/definitions/DpmJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "DpmJob" + }, + "BackupResourceConfigResource": { + "description": "The resource storage details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceConfig", + "description": "BackupResourceConfigResource properties" + } + } + }, + "BackupResourceConfig": { + "description": "The resource storage details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "crossRegionRestoreFlag": { + "description": "Opt in details of Cross Region Restore feature.", + "type": "boolean" + }, + "dedupState": { + "description": "Vault Dedup state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "dedupState", + "modelAsString": true + } + }, + "xcoolState": { + "description": "Vault x-cool state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "xcoolState", + "modelAsString": true + } + } + } + }, + "DpmJobExtendedInfo": { + "description": "Additional information on the DPM workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "DpmJobTaskDetails": { + "description": "DPM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "DPMProtectedItem": { + "description": "Additional information on Backup engine specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the managed item", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Management server protecting this backup item", + "type": "string" + }, + "protectionState": { + "description": "Protection state of the backup engine", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo", + "description": "Extended info of the backup item." + } + }, + "x-ms-discriminator-value": "DPMProtectedItem" + }, + "DPMProtectedItemExtendedInfo": { + "description": "Additional information of DPM Protected item.", + "type": "object", + "properties": { + "protectableObjectLoadPath": { + "description": "Attribute to provide information on various DBs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protected": { + "description": "To check if backup item is disk protected.", + "type": "boolean" + }, + "isPresentOnCloud": { + "description": "To check if backup item is cloud protected.", + "type": "boolean" + }, + "lastBackupStatus": { + "description": "Last backup status information on backup item.", + "type": "string" + }, + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time on backup item.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest cloud recovery point time.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "cloud recovery point count.", + "type": "integer" + }, + "onPremiseOldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest disk recovery point time.", + "type": "string" + }, + "onPremiseLatestRecoveryPoint": { + "format": "date-time", + "description": "latest disk recovery point time.", + "type": "string" + }, + "onPremiseRecoveryPointCount": { + "format": "int32", + "description": "disk recovery point count.", + "type": "integer" + }, + "isCollocated": { + "description": "To check if backup item is collocated.", + "type": "boolean" + }, + "protectionGroupName": { + "description": "Protection group name of the backup item.", + "type": "string" + }, + "diskStorageUsedInBytes": { + "description": "Used Disk storage in bytes.", + "type": "string" + }, + "totalDiskStorageSizeInBytes": { + "description": "total Disk storage in bytes.", + "type": "string" + } + } + }, + "EncryptionDetails": { + "description": "Details needed if the VM was encrypted at the time of backup.", + "type": "object", + "properties": { + "encryptionEnabled": { + "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", + "type": "boolean" + }, + "kekUrl": { + "description": "Key Url.", + "type": "string" + }, + "secretKeyUrl": { + "description": "Secret Url.", + "type": "string" + }, + "kekVaultId": { + "description": "ID of Key Vault where KEK is stored.", + "type": "string" + }, + "secretKeyVaultId": { + "description": "ID of Key Vault where Secret is stored.", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error Message related to the Code.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of recommendation strings.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ExportJobsOperationResultInfo": { + "description": "This class is used to send blob details after exporting jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "type": "string" + }, + "blobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + }, + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", + "type": "string" + }, + "excelFileBlobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + }, + "ExtendedProperties": { + "description": "Extended Properties for Azure IaasVM Backup.", + "type": "object", + "properties": { + "diskExclusionProperties": { + "$ref": "#/definitions/DiskExclusionProperties", + "description": "Extended Properties for Disk Exclusion." + }, + "linuxVmApplicationName": { + "description": "Linux VM name", + "type": "string" + } + } + }, + "GenericProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + }, + "x-ms-identifiers": [] + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "fabricName": { + "description": "Name of this policy's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectionPolicy" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "interval": { + "format": "int32", + "description": "Interval at which backup needs to be triggered. For hourly the value\r\n can be 4/6/8/12", + "type": "integer" + }, + "scheduleWindowStartTime": { + "format": "date-time", + "description": "To specify start time of the backup window", + "type": "string" + }, + "scheduleWindowDuration": { + "format": "int32", + "description": "To specify duration of the backup window", + "type": "integer" + } + } + }, + "DailySchedule": { + "type": "object", + "properties": { + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + } + } + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "scheduleRunDays": { + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + } + } + }, + "IdentityBasedRestoreDetails": { + "description": "IaaS VM workload specific restore details for restores using managed identity", + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "targetStorageAccountId": { + "description": "Fully qualified ARM ID of the target storage account.", + "type": "string" + } + } + }, + "IdentityInfo": { + "description": "Encapsulates Managed Identity related information", + "type": "object", + "properties": { + "isSystemAssignedIdentity": { + "description": "To differentiate if the managed identity is system assigned or user assigned", + "type": "boolean" + }, + "managedIdentityResourceId": { + "description": "Managed Identity Resource Id\r\nOptional: Might not be required in the case of system assigned managed identity", + "type": "string" + } + } + }, + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "GenericProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "protectedItemId": { + "format": "int64", + "description": "Data Plane Service ID of the protected item.", + "type": "integer" + }, + "sourceAssociations": { + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "fabricName": { + "description": "Name of this backup item's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectedItem" + }, + "GenericRecoveryPoint": { + "description": "Generic backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the backup copy.", + "type": "string" + }, + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + } + }, + "x-ms-discriminator-value": "GenericRecoveryPoint" + }, + "GetProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "expand": { + "description": "Specifies if the additional information should be provided for this item.", + "type": "string" + } + } + }, + "IaasVMRecoveryPoint": { + "description": "IaaS VM workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + }, + "sourceVMStorageType": { + "description": "Storage type of the VM whose backup copy is created.", + "type": "string" + }, + "isSourceVMEncrypted": { + "description": "Identifies whether the VM was encrypted when the backup copy is created.", + "type": "boolean" + }, + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + }, + "isInstantIlrSessionActive": { + "description": "Is the session to recover items from this backup copy still active.", + "type": "boolean" + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "isManagedVirtualMachine": { + "description": "Whether VM is with Managed Disks", + "type": "boolean" + }, + "virtualMachineSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "osType": { + "description": "OS type", + "type": "string" + }, + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" + }, + "zones": { + "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", + "type": "array", + "items": { + "type": "string" + } + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + }, + "securityType": { + "description": "Security Type of the Disk", + "type": "string" + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + }, + "isPrivateAccessEnabledOnAnyDisk": { + "description": "This flag denotes if any of the disks in the VM are using Private access network setting", + "type": "boolean" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Extended location of the VM recovery point,\r\nshould be null if VM is in public cloud" + } + }, + "x-ms-discriminator-value": "IaasVMRecoveryPoint" + }, + "ExtendedLocation": { + "description": "The extended location of Recovery point where VM was present.", + "type": "object", + "properties": { + "name": { + "description": "Name of the extended location.", + "type": "string" + }, + "type": { + "description": "Type of the extended location. Possible values include: 'EdgeZone'", + "type": "string" + } + } + }, + "SecuredVMDetails": { + "description": "Restore request parameters for Secured VMs", + "type": "object", + "properties": { + "securedVMOsDiskEncryptionSetId": { + "description": "Gets or Sets Disk Encryption Set Id for Secured VM OS Disk", + "type": "string" + } + } + }, + "TargetDiskNetworkAccessSettings": { + "description": "Specifies target network access settings for disks of VM to be restored.", + "type": "object", + "properties": { + "targetDiskNetworkAccessOption": { + "description": "Network access settings to be used for restored disks", + "enum": [ + "SameAsOnSourceDisks", + "EnablePrivateAccessForAllDisks", + "EnablePublicAccessForAllDisks" + ], + "type": "string", + "x-ms-enum": { + "name": "TargetDiskNetworkAccessOption" + } + }, + "targetDiskAccessId": { + "description": "Gets or sets the ARM resource ID of the target disk access to be used when TargetDiskNetworkAccessOption is set to TargetDiskNetworkAccessOption.UseNew", + "type": "string" + } + } + }, + "IaasVMRestoreRequest": { + "description": "IaaS VM workload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "ID of the backup copy to be recovered.", + "type": "string" + }, + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM which is being recovered.", + "type": "string" + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + }, + "targetResourceGroupId": { + "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", + "type": "string" + }, + "storageAccountId": { + "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", + "type": "string" + }, + "virtualNetworkId": { + "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", + "type": "string" + }, + "subnetId": { + "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", + "type": "string" + }, + "targetDomainNameId": { + "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", + "type": "string" + }, + "region": { + "description": "Region in which the virtual machine is restored.", + "type": "string" + }, + "affinityGroup": { + "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", + "type": "string" + }, + "createNewCloudService": { + "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", + "type": "boolean" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Details needed if the VM was encrypted at the time of backup." + }, + "restoreDiskLunList": { + "description": "List of Disk LUNs for partial restore", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "restoreWithManagedDisks": { + "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", + "type": "boolean" + }, + "diskEncryptionSetId": { + "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", + "type": "string" + }, + "zones": { + "description": "Target zone where the VM and its disks should be restored.", + "type": "array", + "items": { + "type": "string" + } + }, + "identityInfo": { + "$ref": "#/definitions/IdentityInfo", + "description": "Managed Identity information required to access customer storage account." + }, + "identityBasedRestoreDetails": { + "$ref": "#/definitions/IdentityBasedRestoreDetails", + "description": "IaaS VM workload specific restore details for restores using managed identity." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Target extended location where the VM should be restored,\r\nshould be null if restore is to be done in public cloud" + }, + "securedVMDetails": { + "$ref": "#/definitions/SecuredVMDetails", + "description": "Stores Secured VM Details" + }, + "targetDiskNetworkAccessSettings": { + "$ref": "#/definitions/TargetDiskNetworkAccessSettings", + "description": "Specifies target network access settings for disks of VM to be restored," + } + }, + "x-ms-discriminator-value": "IaasVMRestoreRequest" + }, + "Job": { + "description": "Defines workload agnostic properties for a job.", + "required": [ + "jobType" + ], + "type": "object", + "properties": { + "entityFriendlyName": { + "description": "Friendly name of the entity on which the current job is executing.", + "type": "string" + }, + "backupManagementType": { + "description": "Backup management type to execute the current job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "The operation name.", + "type": "string" + }, + "status": { + "description": "Job status.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "activityId": { + "description": "ActivityId of job.", + "type": "string" + }, + "jobType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "jobType" + }, + "JobQueryObject": { + "description": "Filters to list the jobs.", + "type": "object", + "properties": { + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete", + "UpdateCustomerManagedKey" + ], + "type": "string", + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true + } + }, + "jobId": { + "description": "JobID represents the job uniquely.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Job has started at this time. Value is in UTC.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", + "type": "string" + } + } + }, + "JobResource": { + "description": "Defines workload agnostic properties for a job.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" + } + } + }, + "JobResourceList": { + "description": "List of Job resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + } + } + }, + "KEKDetails": { + "description": "KEK is encryption key for BEK.", + "type": "object", + "properties": { + "keyUrl": { + "description": "Key is KEK.", + "type": "string" + }, + "keyVaultId": { + "description": "Key Vault ID where this Key is stored.", + "type": "string" + }, + "keyBackupData": { + "description": "KEK data.", + "type": "string" + } + } + }, + "KeyAndSecretDetails": { + "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", + "type": "object", + "properties": { + "kekDetails": { + "$ref": "#/definitions/KEKDetails", + "description": "KEK is encryption key for BEK." + }, + "bekDetails": { + "$ref": "#/definitions/BEKDetails", + "description": "BEK is bitlocker encryption key." + }, + "encryptionMechanism": { + "description": "Encryption mechanism: None/ SinglePass/ DoublePass", + "type": "string" + } + } + }, + "LogSchedulePolicy": { + "description": "Log policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleFrequencyInMins": { + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" + }, + "LongTermRetentionPolicy": { + "description": "Long term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklyRetentionSchedule", + "description": "Weekly retention schedule of the protection policy." + }, + "monthlySchedule": { + "$ref": "#/definitions/MonthlyRetentionSchedule", + "description": "Monthly retention schedule of the protection policy." + }, + "yearlySchedule": { + "$ref": "#/definitions/YearlyRetentionSchedule", + "description": "Yearly retention schedule of the protection policy." + } + }, + "x-ms-discriminator-value": "LongTermRetentionPolicy" + }, + "LongTermSchedulePolicy": { + "description": "Long term policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "x-ms-discriminator-value": "LongTermSchedulePolicy" + }, + "MabErrorInfo": { + "description": "MAB workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "MabFileFolderProtectedItem": { + "description": "MAB workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of this backup item.", + "type": "string" + }, + "computerName": { + "description": "Name of the computer associated with this backup item.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Status of last backup operation.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Protected, ProtectionStopped, IRPending or ProtectionError", + "type": "string" + }, + "deferredDeleteSyncTimeInUTC": { + "format": "int64", + "description": "Sync time for deferred deletion in UTC", + "type": "integer" + }, + "extendedInfo": { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "MabFileFolderProtectedItem" + }, + "MabFileFolderProtectedItemExtendedInfo": { + "description": "Additional information on the backed up item.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last time when the agent data synced to service.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies associated with the backup item.", + "type": "integer" + } + } + }, + "MabJob": { + "description": "MAB workload-specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time taken by job to run.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on jobs like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "mabServerName": { + "description": "Name of server protecting the DS.", + "type": "string" + }, + "mabServerType": { + "description": "Server type of MAB container.", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "MabServerType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type of backup item.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/MabErrorInfo" + }, + "x-ms-identifiers": [] + }, + "extendedInfo": { + "$ref": "#/definitions/MabJobExtendedInfo", + "description": "Additional information on the job." + } + }, + "x-ms-discriminator-value": "MabJob" + }, + "MabJobExtendedInfo": { + "description": "Additional information for the MAB workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job.", + "type": "array", + "items": { + "$ref": "#/definitions/MabJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message specific to this job.", + "type": "string" + } + } + }, + "MabJobTaskDetails": { + "description": "MAB workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "MabProtectionPolicy": { + "description": "Mab container-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "MAB" + }, + "MonthlyRetentionSchedule": { + "description": "Monthly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format type for monthly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "OperationResultInfo": { + "description": "Operation result info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "jobList": { + "description": "List of jobs created by this operation.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationResultInfo" + }, + "OperationResultInfoBase": { + "description": "Base class for operation result info.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", + "type": "object", + "properties": { + "resourceHealthStatus": { + "description": "Resource Health Status", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceHealthStatus", + "modelAsString": true + } + }, + "resourceHealthDetails": { + "description": "Resource Health Status", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + } + } + }, + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "ARM Id of target vault", + "type": "string" + }, + "targetRegion": { + "description": "Target Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" + } + } + }, + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], + "properties": { + "correlationId": { + "description": "Co-relationId for move operation", + "type": "string" + }, + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" + }, + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" + ], + "type": "object", + "properties": { + "sourceResourceId": { + "description": "ARM Id of source vault", + "type": "string" + }, + "sourceRegion": { + "description": "Source Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "correlationId": { + "description": "Correlation Id", + "type": "string" + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds", + "type": "array", + "items": { + "type": "string" + } + }, + "pauseGC": { + "description": "Pause GC", + "type": "boolean" + } + } + }, + "OperationResultInfoBaseResource": { + "description": "Base class for operation result info.", + "allOf": [ + { + "$ref": "#/definitions/OperationWorkerResponse" + } + ], + "properties": { + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" + } + } + }, + "OperationWorkerResponse": { + "description": "This is the base class for operation result responses.", + "type": "object", + "properties": { + "statusCode": { + "description": "HTTP Status Code of the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false + } + }, + "headers": { + "description": "HTTP headers associated with this operation.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "PointInTimeRange": { + "description": "Provides details for log ranges", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the time range for log recovery.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the time range for log recovery.", + "type": "string" + } + } + }, + "ProtectedItem": { + "description": "Base class for backup items.", + "required": [ + "protectedItemType" + ], + "type": "object", + "properties": { + "protectedItemType": { + "description": "backup item type.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + }, + "readOnly": true + }, + "workloadType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + }, + "readOnly": true + }, + "containerName": { + "description": "Unique name of container", + "type": "string" + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set the backup item belongs to", + "type": "string" + }, + "createMode": { + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", + "enum": [ + "Invalid", + "Default", + "Recover" + ], + "type": "string", + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "deferredDeleteTimeInUTC": { + "format": "date-time", + "description": "Time for deferred deletion in UTC", + "type": "string" + }, + "isScheduledForDeferredDelete": { + "description": "Flag to identify whether the DS is scheduled for deferred delete", + "type": "boolean" + }, + "deferredDeleteTimeRemaining": { + "description": "Time remaining before the DS marked for deferred delete is permanently deleted", + "type": "string" + }, + "isDeferredDeleteScheduleUpcoming": { + "description": "Flag to identify whether the deferred deleted DS is to be purged soon", + "type": "boolean" + }, + "isRehydrate": { + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", + "type": "boolean" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuardOperationRequests on which LAC check will be performed", + "type": "array", + "items": { + "type": "string" + } + }, + "isArchiveEnabled": { + "description": "Flag to identify whether datasource is protected in archive", + "type": "boolean" + }, + "policyName": { + "description": "Name of the policy used for protection", + "type": "string" + }, + "softDeleteRetentionPeriodInDays": { + "format": "int32", + "description": "Soft delete retention period in days", + "type": "integer" + }, + "vaultId": { + "description": "ID of the vault which protects this item", + "type": "string", + "readOnly": true + } + }, + "discriminator": "protectedItemType" + }, + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "healthState": { + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Backup management type for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "policyName": { + "description": "Backup policy name associated with the backup item.", + "type": "string" + }, + "containerName": { + "description": "Name of the container.", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Engine name", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of protected item", + "type": "string" + }, + "fabricName": { + "description": "Name of the fabric.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set.", + "type": "string" + } + } + }, + "ProtectedItemResource": { + "description": "Base class for backup items.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" + } + } + }, + "ProtectedItemResourceList": { + "description": "List of ProtectedItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + } + }, + "ProtectionPolicy": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "protectedItemsCount": { + "format": "int32", + "description": "Number of items associated with this policy.", + "type": "integer" + }, + "backupManagementType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + } + }, + "discriminator": "backupManagementType" + }, + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup policy.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "workloadType": { + "description": "Workload type for the backup policy.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + } + } + }, + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" + } + } + }, + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + } + }, + "RecoveryPoint": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RecoveryPointDiskConfiguration": { + "description": "Disk configuration", + "type": "object", + "properties": { + "numberOfDisksIncludedInBackup": { + "format": "int32", + "description": "Number of disks included in backup", + "type": "integer" + }, + "numberOfDisksAttachedToVm": { + "format": "int32", + "description": "Number of disks attached to the VM", + "type": "integer" + }, + "includedDiskList": { + "description": "Information of disks included in backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + }, + "x-ms-identifiers": [] + }, + "excludedDiskList": { + "description": "Information of disks excluded from backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + }, + "x-ms-identifiers": [] + } + } + }, + "RecoveryPointResource": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPoint", + "description": "RecoveryPointResource properties" + } + } + }, + "RecoveryPointResourceList": { + "description": "List of RecoveryPoint resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointResource" + } + } + } + }, + "RecoveryPointTierInformation": { + "description": "Recovery point tier information.", + "type": "object", + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + }, + "extendedInfo": { + "description": "Recovery point tier status.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "RecoveryPointTierInformationV2": { + "description": "RecoveryPoint Tier Information V2", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + ], + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": true + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": true + } + } + } + }, + "PatchRecoveryPointPropertiesInput": { + "description": "Recovery Point Properties Contract for Update Recovery Point API.", + "type": "object", + "properties": { + "expiryTime": { + "format": "date-time", + "description": "Expiry time of Recovery Point in UTC.", + "type": "string" + } + } + }, + "PatchRecoveryPointInput": { + "description": "Recovery Point Contract for Update Recovery Point API.", + "type": "object", + "properties": { + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/PatchRecoveryPointPropertiesInput" + } + } + }, + "UpdateRecoveryPointRequest": { + "description": "Patch Request content to update recovery point for given RecoveryPointId", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PatchRecoveryPointInput", + "description": "Resource properties." + } + } + }, + "Resource": { + "description": "ARM Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceList": { + "description": "Base for all lists of resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + } + }, + "RestoreFileSpecs": { + "description": "Restore file specs like file path, type and target folder path info.", + "type": "object", + "properties": { + "path": { + "description": "Source File/Folder path", + "type": "string" + }, + "fileSpecType": { + "description": "Indicates what the Path variable stands for", + "type": "string" + }, + "targetFolderPath": { + "description": "Destination folder path in target FileShare", + "type": "string" + } + } + }, + "RestoreRequest": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuardOperationRequests on which LAC check will be performed", + "type": "array", + "items": { + "type": "string" + } + } + }, + "discriminator": "objectType" + }, + "RestoreRequestResource": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RestoreRequest", + "description": "RestoreRequestResource properties" + } + } + }, + "RetentionDuration": { + "description": "Retention duration.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type of retention policy.", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" + ], + "type": "object", + "properties": { + "retentionPolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "retentionPolicyType" + }, + "SchedulePolicy": { + "description": "Base class for backup schedule.", + "required": [ + "schedulePolicyType" + ], + "type": "object", + "properties": { + "schedulePolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "schedulePolicyType" + }, + "Settings": { + "description": "Common settings field for backup management", + "type": "object", + "properties": { + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" + }, + "isCompression": { + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", + "type": "boolean" + } + } + }, + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." + } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" + }, + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "Hourly Schedule of this Policy" + }, + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SimpleSchedulePolicyV2": { + "description": "The V2 policy schedule for IaaS that supports hourly backups.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "hourly schedule of this policy" + }, + "dailySchedule": { + "$ref": "#/definitions/DailySchedule", + "description": "Daily schedule of this policy" + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklySchedule", + "description": "Weekly schedule of this policy" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicyV2" + }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "tieringPolicy": { + "description": "Tiering policy to automatically move RPs to another tier.\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + } + }, + "snapshotBackupAdditionalDetails": { + "$ref": "#/definitions/SnapshotBackupAdditionalDetails" + } + } + }, + "SnapshotBackupAdditionalDetails": { + "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem", + "type": "object", + "properties": { + "instantRpRetentionRangeInDays": { + "format": "int32", + "type": "integer" + }, + "instantRPDetails": { + "type": "string" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails" + } + } + }, + "SnapshotRestoreParameters": { + "description": "Encapsulates information regarding snapshot recovery for SAP Hana", + "type": "object", + "properties": { + "skipAttachAndMount": { + "type": "boolean" + }, + "logPointInTimeForDBRecovery": { + "type": "string" + } + } + }, + "SQLDataDirectory": { + "description": "SQLDataDirectory info", + "type": "object", + "properties": { + "type": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "path": { + "description": "File path", + "type": "string" + }, + "logicalName": { + "description": "Logical name of the file", + "type": "string" + } + } + }, + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", + "type": "object", + "properties": { + "mappingType": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "sourceLogicalName": { + "description": "Restore source logical name path", + "type": "string" + }, + "sourcePath": { + "description": "Restore source path", + "type": "string" + }, + "targetPath": { + "description": "Target path", + "type": "string" + } + } + }, + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", + "type": "object", + "properties": { + "name": { + "description": "File share name", + "type": "string" + }, + "targetResourceId": { + "description": "Target file share resource ARM ID", + "type": "string" + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "type": "string", + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true + } + }, + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" + }, + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "type": "string" + }, + "targetDirectoryForFileRestore": { + "description": "Target directory location for restore as files.", + "type": "string" + } + } + }, + "UserAssignedIdentityProperties": { + "type": "object", + "description": "User assigned managed identity properties", + "properties": { + "clientId": { + "description": "The client ID of the assigned identity.", + "type": "string" + }, + "principalId": { + "description": "The principal ID of the assigned identity.", + "type": "string" + } + } + }, + "UserAssignedManagedIdentityDetails": { + "type": "object", + "description": "User assigned managed identity details", + "properties": { + "identityArmId": { + "type": "string", + "description": "The ARM id of the assigned identity." + }, + "identityName": { + "type": "string", + "description": "The name of the assigned identity." + }, + "userAssignedIdentityProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperties" + } + } + }, + "ValidateIaasVMRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateRestoreOperationRequest" + } + ], + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + }, + "ValidateOperationRequest": { + "description": "Base class for validate operation request.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "ValidateOperationRequestResource": { + "description": "Base class for validate operation request.", + "required": [ + "id", + "properties" + ], + "type": "object", + "properties": { + "id": { + "description": "Recovery point ID.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ValidateOperationRequest", + "description": "ValidateOperationRequestResource properties" + } + } + }, + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", + "type": "object", + "properties": { + "validationResults": { + "description": "Gets the validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-identifiers": [ + "code" + ] + } + } + }, + "ValidateOperationsResponse": { + "type": "object", + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" + } + } + }, + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateOperationRequest" + } + ], + "properties": { + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" + } + }, + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + }, + "VaultRetentionPolicy": { + "description": "Vault retention policy for AzureFileShare", + "required": [ + "vaultRetention", + "snapshotRetentionInDays" + ], + "type": "object", + "properties": { + "vaultRetention": { + "$ref": "#/definitions/RetentionPolicy" + }, + "snapshotRetentionInDays": { + "format": "int32", + "type": "integer" + } + } + }, + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of the week.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "weeksOfTheMonth": { + "description": "List of weeks of month.", + "type": "array", + "items": { + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "WeekOfMonth", + "modelAsString": false + } + } + } + } + }, + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" + } + } + }, + "BackupResourceVaultConfig": { + "description": "Backup resource vault config details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "enhancedSecurityState": { + "description": "Enabled or Disabled.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnhancedSecurityState", + "modelAsString": true + } + }, + "softDeleteFeatureState": { + "description": "Soft Delete feature state", + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" + ], + "type": "string", + "x-ms-enum": { + "name": "SoftDeleteFeatureState", + "modelAsString": true + } + }, + "softDeleteRetentionPeriodInDays": { + "format": "int32", + "description": "Soft delete retention period in days", + "type": "integer" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + }, + "isSoftDeleteFeatureStateEditable": { + "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault", + "type": "boolean" + } + } + }, + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "monthsOfYear": { + "description": "List of months of year of yearly retention policy.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "type": "string", + "x-ms-enum": { + "name": "MonthOfYear", + "modelAsString": false + } + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "VaultJob": { + "description": "Vault level Job", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultJobErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "extendedInfo": { + "$ref": "#/definitions/VaultJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "VaultJob" + }, + "VaultJobErrorInfo": { + "description": "Vault Job specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "VaultJobExtendedInfo": { + "description": "Vault Job for CMK - has CMK specific info.", + "type": "object", + "properties": { + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AzureBackupServerContainer": { + "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DpmContainer" + } + ], + "x-ms-discriminator-value": "AzureBackupServerContainer" + }, + "AzureBackupServerEngine": { + "description": "Backup engine type when Azure Backup Server is used to manage the backups.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupEngineBase" + } + ], + "x-ms-discriminator-value": "AzureBackupServerEngine" + }, + "AzureFileShareBackupRequest": { + "description": "AzureFileShare workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" + }, + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentContainerFabricId": { + "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", + "type": "string" + }, + "parentContainerFriendlyName": { + "description": "Friendly name of container to which this protectable item belongs.", + "type": "string" + }, + "azureFileShareType": { + "description": "File Share type XSync or XSMB.", + "enum": [ + "Invalid", + "XSMB", + "XSync" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureFileShareType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureFileShare" + }, + "AzureFileShareProvisionILRRequest": { + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "Recovery point ID.", + "type": "string" + }, + "sourceResourceId": { + "description": "Source Storage account ARM Id", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" + }, + "AzureIaaSClassicComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSClassicComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + }, + "AzureSqlContainer": { + "description": "Azure Sql workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "AzureSqlContainer" + }, + "AzureStorageContainer": { + "description": "Azure Storage Account workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "Fully qualified ARM url.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Storage account version.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" + }, + "acquireStorageAccountLock": { + "description": "Whether storage account lock is to be acquired for this container or not.", + "enum": [ + "Acquire", + "NotAcquire" + ], + "type": "string", + "x-ms-enum": { + "name": "AcquireStorageAccountLock", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureStorageProtectableContainer": { + "description": "Azure Storage-specific protectable containers", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureVMAppContainerProtectableContainer": { + "description": "Azure workload-specific container", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVMAppContainerProtectionContainer": { + "description": "Container for SQL workloads under Azure Virtual Machines.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVmWorkloadItem": { + "description": "Azure VM workload-specific workload item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if workload item is auto-protectable", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subWorkloadItemCount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadItem" + }, + "AzureVmWorkloadProtectableItem": { + "description": "Azure VM workload-specific protectable item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "parentUniqueName": { + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if protectable item is auto-protectable", + "type": "boolean" + }, + "isAutoProtected": { + "description": "Indicates if protectable item is auto-protected", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subprotectableitemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "description": "Indicates if item is protectable", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" + }, + "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseDatabase" + }, + "AzureVmWorkloadSAPAseSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPAseSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSAPHanaDBInstance": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Dbinstance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDBInstance" + }, + "AzureVmWorkloadSAPHanaHSRProtectableItem": { + "description": "Azure VM workload-specific protectable item representing HANA HSR.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "HanaHSRContainer" + }, + "AzureVmWorkloadSAPHanaSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "properties": { + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" + }, + "AzureVmWorkloadSQLDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLInstanceProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureVmWorkloadSQLInstanceWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "properties": { + "dataDirectoryPaths": { + "description": "Data Directory Paths for default directories", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" + }, + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + }, + "AzureBackupGoalFeatureSupportRequest": { + "description": "Azure backup goal feature specific request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "x-ms-discriminator-value": "AzureBackupGoals" + }, + "AzureRecoveryServiceVaultProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "RecoveryServiceVaultItem" + }, + "AzureResourceProtectionIntent": { + "description": "IaaS VM specific backup protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureResourceItem" + }, + "AzureVMResourceFeatureSupportRequest": { + "description": "AzureResource(IaaS VM) Specific feature support request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "properties": { + "vmSize": { + "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", + "type": "string" + }, + "vmSku": { + "description": "SKUs (Premium/Managed etc) in case of IaasVM", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureVMResourceBackup" + }, + "AzureVMResourceFeatureSupportResponse": { + "description": "Response for feature support requests for Azure IaasVm", + "type": "object", + "properties": { + "supportStatus": { + "description": "Support status of feature", + "enum": [ + "Invalid", + "Supported", + "DefaultOFF", + "DefaultON", + "NotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportStatus", + "modelAsString": true + } + } + } + }, + "AzureWorkloadContainerAutoProtectionIntent": { + "description": "Azure workload specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadContainerAutoProtectionIntent" + }, + "AzureWorkloadAutoProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" + }, + "AzureWorkloadSQLAutoProtectionIntent": { + "description": "Azure Workload SQL Auto Protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + } + ], + "properties": { + "workloadItemType": { + "description": "Workload item type of the item for which intent is to be set", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" + }, + "BackupManagementUsage": { + "description": "Backup management usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "BackupManagementUsageList": { + "description": "Backup management usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of backup management usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupManagementUsage" + }, + "x-ms-identifiers": [] + } + } + }, + "BackupStatusRequest": { + "description": "BackupStatus request.", + "type": "object", + "properties": { + "resourceType": { + "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "poLogicalName": { + "description": "Protectable Item Logical Name", + "type": "string" + } + } + }, + "BackupStatusResponse": { + "description": "BackupStatus response.", + "type": "object", + "properties": { + "protectionStatus": { + "description": "Specifies whether the container is registered or not", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + }, + "vaultId": { + "description": "Specifies the arm resource id of the vault", + "type": "string" + }, + "fabricName": { + "description": "Specifies the fabric name - Azure or AD", + "enum": [ + "Invalid", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "FabricName", + "modelAsString": true + } + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "errorCode": { + "description": "ErrorCode in case of intent failed", + "type": "string" + }, + "errorMessage": { + "description": "ErrorMessage in case of intent failed.", + "type": "string" + }, + "policyName": { + "description": "Specifies the policy name which is used for protection", + "type": "string" + }, + "registrationStatus": { + "description": "Container registration status", + "type": "string" + }, + "protectedItemsCount": { + "format": "int32", + "description": "Number of protected items", + "type": "integer" + }, + "acquireStorageAccountLock": { + "description": "Specifies whether the storage account lock has been acquired or not", + "enum": [ + "Acquire", + "NotAcquire" + ], + "type": "string", + "x-ms-enum": { + "name": "AcquireStorageAccountLock", + "modelAsString": true + } + } + } + }, + "BMSBackupSummariesQueryObject": { + "description": "Query parameters to fetch backup summaries.", + "type": "object", + "properties": { + "type": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "BackupProtectedItemCountSummary", + "BackupProtectionContainerCountSummary" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "FeatureSupportRequest": { + "description": "Base class for feature request", + "required": [ + "featureType" + ], + "type": "object", + "properties": { + "featureType": { + "description": "backup support feature type.", + "type": "string" + } + }, + "discriminator": "featureType" + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + }, + "PreValidateEnableBackupRequest": { + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "ARM Virtual Machine Id", + "type": "string" + }, + "vaultId": { + "description": "ARM id of the Recovery Services Vault", + "type": "string" + }, + "properties": { + "description": "Configuration of VM if any needs to be validated like OS type etc", + "type": "string" + } + } + }, + "PreValidateEnableBackupResponse": { + "description": "Response contract for enable backup validation request", + "type": "object", + "properties": { + "status": { + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + }, + "errorCode": { + "description": "Response error code", + "type": "string" + }, + "errorMessage": { + "description": "Response error message", + "type": "string" + }, + "recommendation": { + "description": "Recommended action for user", + "type": "string" + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", + "type": "string" + } + } + }, + "ProtectionIntent": { + "description": "Base class for backup ProtectionIntent.", + "required": [ + "protectionIntentItemType" + ], + "type": "object", + "properties": { + "protectionIntentItemType": { + "description": "backup protectionIntent type.", + "enum": [ + "Invalid", + "AzureResourceItem", + "RecoveryServiceVaultItem", + "AzureWorkloadContainerAutoProtectionIntent", + "AzureWorkloadAutoProtectionIntent", + "AzureWorkloadSQLAutoProtectionIntent" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionIntentItemType", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "itemId": { + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectionIntentItemType" + }, + "ProtectionIntentQueryObject": { + "description": "Filters to list protection intent.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backed up item", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents", + "enum": [ + "Invalid", + "SQLInstance", + "SQLAvailabilityGroupContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "IntentItemType", + "modelAsString": true + } + }, + "parentName": { + "description": "Parent name of the intent", + "type": "string" + }, + "itemName": { + "description": "Item name of the intent", + "type": "string" + } + } + }, + "ProtectionIntentResource": { + "description": "Base class for backup ProtectionIntent.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionIntent", + "description": "ProtectionIntentResource properties" + } + } + }, + "ProtectionIntentResourceList": { + "description": "List of ProtectionIntent resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + } + }, + "AzureWorkloadContainer": { + "description": "Container for the workloads running inside Azure Compute or Classic Compute.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "ARM ID of the virtual machine represented by this Azure Workload Container", + "type": "string" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "Time stamp when this container was updated.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." + }, + "workloadType": { + "description": "Workload type for which registration was sent.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "operationType": { + "description": "Re-Do Operation", + "enum": [ + "Invalid", + "Register", + "Reregister" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadContainer" + }, + "AzureWorkloadContainerExtendedInfo": { + "description": "Extended information of the container.", + "type": "object", + "properties": { + "hostServerName": { + "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.", + "type": "string" + }, + "inquiryInfo": { + "$ref": "#/definitions/InquiryInfo", + "description": "Inquiry Status for the container." + }, + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + }, + "x-ms-identifiers": [] + } + } + }, + "BackupEngineBase": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "type": "object", + "required": [ + "backupEngineType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the backup engine.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "registrationStatus": { + "description": "Registration status of the backup engine with the Recovery Services Vault.", + "type": "string" + }, + "backupEngineState": { + "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}", + "type": "string" + }, + "healthStatus": { + "description": "Backup status of the backup engine.", + "type": "string" + }, + "backupEngineType": { + "description": "Type of the backup engine.", + "enum": [ + "Invalid", + "DpmBackupEngine", + "AzureBackupServerEngine" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupEngineType", + "modelAsString": true + } + }, + "canReRegister": { + "description": "Flag indicating if the backup engine be registered, once already registered.", + "type": "boolean" + }, + "backupEngineId": { + "description": "ID of the backup engine.", + "type": "string" + }, + "dpmVersion": { + "description": "Backup engine version", + "type": "string" + }, + "azureBackupAgentVersion": { + "description": "Backup agent version", + "type": "string" + }, + "isAzureBackupAgentUpgradeAvailable": { + "description": "To check if backup agent upgrade available", + "type": "boolean" + }, + "isDpmUpgradeAvailable": { + "description": "To check if backup engine upgrade available", + "type": "boolean" + }, + "extendedInfo": { + "$ref": "#/definitions/BackupEngineExtendedInfo", + "description": "Extended info of the backupengine" + } + }, + "discriminator": "backupEngineType" + }, + "BackupEngineBaseResource": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupEngineBase", + "description": "BackupEngineBaseResource properties" + } + } + }, + "BackupEngineBaseResourceList": { + "description": "List of BackupEngineBase resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + } + } + }, + "BackupEngineExtendedInfo": { + "description": "Additional information on backup engine.", + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of backup engine.", + "type": "string" + }, + "protectedItemsCount": { + "format": "int32", + "description": "Number of protected items in the backup engine.", + "type": "integer" + }, + "protectedServersCount": { + "format": "int32", + "description": "Number of protected servers in the backup engine.", + "type": "integer" + }, + "diskCount": { + "format": "int32", + "description": "Number of disks in the backup engine.", + "type": "integer" + }, + "usedDiskSpace": { + "format": "double", + "description": "Disk space used in the backup engine.", + "type": "number" + }, + "availableDiskSpace": { + "format": "double", + "description": "Disk space currently available in the backup engine.", + "type": "number" + }, + "refreshedAt": { + "format": "date-time", + "description": "Last refresh time in the backup engine.", + "type": "string" + }, + "azureProtectedInstances": { + "format": "int32", + "description": "Protected instances in the backup engine.", + "type": "integer" + } + } + }, + "BackupRequest": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "BackupRequestResource": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupRequest", + "description": "BackupRequestResource properties" + } + } + }, + "BMSBackupEngineQueryObject": { + "description": "Query parameters to fetch list of backup engines.", + "type": "object", + "properties": { + "expand": { + "description": "attribute to add extended info", + "type": "string" + } + } + }, + "BMSBackupEnginesQueryObject": { + "description": "Query parameters to fetch list of backup engines.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup engine.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "expand": { + "description": "Attribute to add extended info.", + "type": "string" + } + } + }, + "BMSContainerQueryObject": { + "description": "The query filters that can be used with the list containers API.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "containerType": { + "description": "Type of container for filter", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "HanaHSRContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true + } + }, + "backupEngineName": { + "description": "Backup engine name", + "type": "string" + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "status": { + "description": "Status of registration of this container with the Recovery Services Vault.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of this container.", + "type": "string" + } + } + }, + "BMSContainersInquiryQueryObject": { + "description": "The query filters that can be used with the inquire container API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type for this container.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + } + } + }, + "BMSPOQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "containerName": { + "description": "Full name of the container whose Protectable Objects should be returned.", + "type": "string" + }, + "status": { + "description": "Backup status query parameter.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name.", + "type": "string" + } + } + }, + "BMSRefreshContainersQueryObject": { + "description": "The query filters that can be used with the refresh container API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + } + } + }, + "BMSWorkloadItemQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadItemType": { + "description": "Workload Item type", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "protectionStatus": { + "description": "Backup status query parameter.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + } + }, + "ClientScriptForConnect": { + "description": "Client script details for file / folder restore.", + "type": "object", + "properties": { + "scriptContent": { + "description": "File content of the client script for file / folder restore.", + "type": "string" + }, + "scriptExtension": { + "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", + "type": "string" + }, + "osType": { + "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", + "type": "string" + }, + "url": { + "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", + "type": "string" + }, + "scriptNameSuffix": { + "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "type": "string" + } + } + }, + "ContainerIdentityInfo": { + "description": "Container identity information", + "type": "object", + "properties": { + "uniqueName": { + "description": "Unique name of the container", + "type": "string" + }, + "aadTenantId": { + "description": "Protection container identity - AAD Tenant", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "Protection container identity - AAD Service Principal", + "type": "string" + }, + "audience": { + "description": "Protection container identity - Audience", + "type": "string" + } + } + }, + "DistributedNodesInfo": { + "description": "This is used to represent the various nodes of the distributed container.", + "type": "object", + "properties": { + "nodeName": { + "description": "Name of the node under a distributed container.", + "type": "string" + }, + "status": { + "description": "Status of this Node.\r\nFailed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "sourceResourceId": { + "description": "ARM resource id of the node", + "type": "string" + } + } + }, + "DpmBackupEngine": { + "description": "Data Protection Manager (DPM) specific backup engine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupEngineBase" + } + ], + "x-ms-discriminator-value": "DpmBackupEngine" + }, + "DpmContainer": { + "description": "DPM workload-specific protection container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "canReRegister": { + "description": "Specifies whether the container is re-registrable.", + "type": "boolean" + }, + "containerId": { + "description": "ID of container.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of protected items in the BackupEngine", + "type": "integer" + }, + "dpmAgentVersion": { + "description": "Backup engine Agent version", + "type": "string" + }, + "dpmServers": { + "description": "List of BackupEngines protecting the container", + "type": "array", + "items": { + "type": "string" + } + }, + "upgradeAvailable": { + "description": "To check if upgrade available", + "type": "boolean" + }, + "protectionStatus": { + "description": "Protection status of the container.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/DPMContainerExtendedInfo", + "description": "Extended Info of the container." + } + }, + "x-ms-discriminator-value": "DPMContainer" + }, + "DPMContainerExtendedInfo": { + "description": "Additional information of the DPMContainer.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time of the DPMContainer.", + "type": "string" + } + } + }, + "GenericContainer": { + "description": "Base class for generic container of backup items", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "fabricName": { + "description": "Name of the container's fabric", + "type": "string" + }, + "extendedInformation": { + "$ref": "#/definitions/GenericContainerExtendedInfo", + "description": "Extended information (not returned in List container API calls)" + } + }, + "x-ms-discriminator-value": "GenericContainer" + }, + "GenericContainerExtendedInfo": { + "description": "Container extended information", + "type": "object", + "properties": { + "rawCertData": { + "description": "Public key of container cert", + "type": "string" + }, + "containerIdentityInfo": { + "$ref": "#/definitions/ContainerIdentityInfo", + "description": "Container identity information" + }, + "serviceEndpoints": { + "description": "Azure Backup Service Endpoints for the container", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "IaasVMBackupRequest": { + "description": "IaaS VM workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaasVMBackupRequest" + }, + "IaaSVMContainer": { + "description": "IaaS VM workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "virtualMachineId": { + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.", + "type": "string" + }, + "virtualMachineVersion": { + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaasVMContainer" + }, + "IaasVMILRRegistrationRequest": { + "description": "Restore files/folders from a backup copy of IaaS VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.", + "type": "string" + }, + "initiatorName": { + "description": "iSCSI initiator name.", + "type": "string" + }, + "renewExistingRegistration": { + "description": "Whether to renew existing registration with the iSCSI server.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" + }, + "IaaSVMProtectableItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine.", + "type": "string" + }, + "virtualMachineVersion": { + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaaSVMProtectableItem" + }, + "ILRRequest": { + "description": "Parameters to Provision ILR API.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "ILRRequestResource": { + "description": "Parameters to Provision ILR API.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ILRRequest", + "description": "ILRRequestResource properties" + } + } + }, + "InquiryInfo": { + "description": "Details about inquired protectable items under a given container.", + "type": "object", + "properties": { + "status": { + "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "inquiryDetails": { + "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadInquiryDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "InquiryValidation": { + "description": "Validation for inquired protectable items under a given container.", + "type": "object", + "properties": { + "status": { + "description": "Status for the Inquiry Validation.", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Detail in case the status is non-success." + }, + "additionalDetail": { + "description": "Error Additional Detail in case the status is non-success.", + "type": "string", + "readOnly": true + }, + "protectableItemCount": { + "description": "Dictionary to store the count of ProtectableItems with key POType.", + "type": "object", + "readOnly": true + } + } + }, + "InstantItemRecoveryTarget": { + "description": "Target details for file / folder restore.", + "type": "object", + "properties": { + "clientScripts": { + "description": "List of client scripts.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientScriptForConnect" + }, + "x-ms-identifiers": [] + } + } + }, + "MabContainer": { + "description": "Container with items backed up using MAB backup engine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "canReRegister": { + "description": "Can the container be registered one more time.", + "type": "boolean" + }, + "containerId": { + "format": "int64", + "description": "ContainerID represents the container.", + "type": "integer" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" + }, + "agentVersion": { + "description": "Agent version of this container.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/MabContainerExtendedInfo", + "description": "Additional information for this container" + }, + "mabContainerHealthDetails": { + "description": "Health details on this mab container.", + "type": "array", + "items": { + "$ref": "#/definitions/MABContainerHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + }, + "containerHealthState": { + "description": "Health state of mab container.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Windows" + }, + "MabContainerExtendedInfo": { + "description": "Additional information of the container.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Time stamp when this container was refreshed.", + "type": "string" + }, + "backupItemType": { + "description": "Type of backup items associated with this container.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupItemType", + "modelAsString": true + } + }, + "backupItems": { + "description": "List of backup items associated with this container.", + "type": "array", + "items": { + "type": "string" + } + }, + "policyName": { + "description": "Backup policy associated with this container.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Latest backup status of this container.", + "type": "string" + } + } + }, + "MABContainerHealthDetails": { + "description": "MAB workload-specific Health Details.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer" + }, + "title": { + "description": "Health Title", + "type": "string" + }, + "message": { + "description": "Health Message", + "type": "string" + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "OperationStatus": { + "description": "Operation status.", + "type": "object", + "properties": { + "id": { + "description": "ID of the operation.", + "type": "string" + }, + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "enum": [ + "Invalid", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationStatusValues", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "Operation start time. Format: ISO-8601.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Operation end time. Format: ISO-8601.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error information related to this operation." + }, + "properties": { + "$ref": "#/definitions/OperationStatusExtendedInfo", + "description": "Additional information associated with this operation." + } + } + }, + "OperationStatusError": { + "description": "Error information associated with operation status call.", + "type": "object", + "properties": { + "code": { + "description": "Error code of the operation failure.", + "type": "string" + }, + "message": { + "description": "Error message displayed if the operation failure.", + "type": "string" + } + } + }, + "OperationStatusExtendedInfo": { + "description": "Base class for additional information of operation status.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "OperationStatusJobExtendedInfo": { + "description": "Operation status job extended info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobId": { + "description": "ID of the job created for this protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" + }, + "OperationStatusJobsExtendedInfo": { + "description": "Operation status extended info for list of jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobIds": { + "description": "IDs of the jobs created for the protected item.", + "type": "array", + "items": { + "type": "string" + } + }, + "failedJobsError": { + "description": "Stores all the failed jobs along with the corresponding error codes.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" + }, + "OperationStatusProvisionILRExtendedInfo": { + "description": "Operation status extended info for ILR provision action.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "recoveryTarget": { + "$ref": "#/definitions/InstantItemRecoveryTarget", + "description": "Target details for file / folder restore." + } + }, + "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" + }, + "OperationStatusValidateOperationExtendedInfo": { + "description": "Operation status extended info for ValidateOperation action.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse", + "description": "Gets the validation operation response" + } + }, + "x-ms-discriminator-value": "OperationStatusValidateOperationExtendedInfo" + }, + "PreBackupValidation": { + "description": "Pre-backup validation for Azure VM Workload provider.", + "type": "object", + "properties": { + "status": { + "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", + "enum": [ + "Invalid", + "Success", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "InquiryStatus", + "modelAsString": true + } + }, + "code": { + "description": "Error code of protectable item", + "type": "string" + }, + "message": { + "description": "Message corresponding to the error code for the protectable item", + "type": "string" + } + } + }, + "ProtectableContainer": { + "description": "Protectable Container Class.", + "type": "object", + "required": [ + "protectableContainerType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "protectableContainerType": { + "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ], + "type": "string", + "readOnly": false, + "x-ms-enum": { + "name": "protectableContainerType", + "modelAsString": false + } + }, + "healthStatus": { + "description": "Status of health of the container.", + "type": "string" + }, + "containerId": { + "description": "Fabric Id of the container such as ARM Id.", + "type": "string" + } + }, + "discriminator": "protectableContainerType" + }, + "ProtectableContainerResource": { + "description": "Protectable Container Class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableContainer", + "description": "ProtectableContainerResource properties" + } + } + }, + "ProtectableContainerResourceList": { + "description": "List of ProtectableContainer resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableContainerResource" + } + } + } + }, + "ProtectionContainer": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "type": "object", + "required": [ + "containerType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "registrationStatus": { + "description": "Status of registration of the container with the Recovery Services Vault.", + "type": "string" + }, + "healthStatus": { + "description": "Status of health of the container.", + "type": "string" + }, + "containerType": { + "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "protectableContainerType", + "modelAsString": true + } + }, + "protectableObjectType": { + "description": "Type of the protectable object associated with this container", + "type": "string" + } + }, + "discriminator": "containerType" + }, + "ProtectionContainerResource": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainer", + "description": "ProtectionContainerResource properties" + } + } + }, + "ProtectionContainerResourceList": { + "description": "List of ProtectionContainer resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + } + }, + "SecurityPinBase": { + "description": "Base class for get security pin request body", + "type": "object", + "properties": { + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TokenInformation": { + "description": "The token information details.", + "type": "object", + "properties": { + "token": { + "description": "Token value.", + "type": "string" + }, + "expiryTimeInUtcTicks": { + "format": "int64", + "description": "Expiry time of token.", + "type": "integer" + }, + "securityPIN": { + "description": "Security PIN", + "type": "string" + } + } + }, + "WorkloadInquiryDetails": { + "description": "Details of an inquired protectable item.", + "type": "object", + "properties": { + "type": { + "description": "Type of the Workload such as SQL, Oracle etc.", + "type": "string" + }, + "itemCount": { + "format": "int64", + "description": "Contains the protectable item Count inside this Container.", + "type": "integer" + }, + "inquiryValidation": { + "$ref": "#/definitions/InquiryValidation", + "description": "Inquiry validation such as permissions and other backup validations." + } + } + }, + "WorkloadItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", + "required": [ + "workloadItemType" + ], + "properties": { + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "workloadItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "workloadItemType" + }, + "WorkloadItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadItem", + "description": "WorkloadItemResource properties" + } + } + }, + "WorkloadItemResourceList": { + "description": "List of WorkloadItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadItemResource" + } + } + } + }, + "WorkloadProtectableItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", + "required": [ + "protectableItemType" + ], + "properties": { + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "protectableItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectableItemType" + }, + "WorkloadProtectableItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadProtectableItem", + "description": "WorkloadProtectableItemResource properties" + } + } + }, + "WorkloadProtectableItemResourceList": { + "description": "List of WorkloadProtectableItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProtectableItemResource" + } + } + } + }, + "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest" + }, + "IaasVMRestoreWithRehydrationRequest": { + "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaasVMRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest" + }, + "MoveRPAcrossTiersRequest": { + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "sourceTierType": { + "description": "Source tier from where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "targetTierType": { + "description": "Target tier where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + } + } + }, + "RecoveryPointMoveReadinessInfo": { + "type": "object", + "properties": { + "isReadyForMove": { + "type": "boolean" + }, + "additionalInfo": { + "type": "string" + } + } + }, + "RecoveryPointRehydrationInfo": { + "description": "RP Rehydration Info", + "type": "object", + "properties": { + "rehydrationRetentionDuration": { + "description": "How long the rehydrated RP should be kept\r\nShould be ISO8601 Duration format e.g. \"P7D\"", + "type": "string" + }, + "rehydrationPriority": { + "description": "Rehydration Priority", + "enum": [ + "Standard", + "High" + ], + "type": "string", + "x-ms-enum": { + "name": "RehydrationPriority", + "modelAsString": true + } + } + } + }, + "RecoveryPointProperties": { + "description": "Properties of Recovery Point", + "type": "object", + "properties": { + "expiryTime": { + "description": "Expiry time of Recovery Point in UTC.", + "type": "string" + }, + "ruleName": { + "description": "Rule name tagged on Recovery Point that governs life cycle", + "type": "string" + }, + "isSoftDeleted": { + "description": "Bool to indicate whether RP is in soft delete state or not", + "type": "boolean" + } + } + }, + "ListRecoveryPointsRecommendedForMoveRequest": { + "description": "ListRecoveryPointsRecommendedForMoveRequest Request", + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "excludedRPList": { + "description": "List of Recovery Points excluded from Move", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UnlockDeleteRequest": { + "description": "Request body of unlock delete API.", + "type": "object", + "properties": { + "resourceGuardOperationRequests": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceToBeDeleted": { + "type": "string" + } + } + }, + "UnlockDeleteResponse": { + "description": "Response of Unlock Delete API.", + "type": "object", + "properties": { + "unlockDeleteExpiryTime": { + "description": "This is the time when unlock delete privileges will get expired.", + "type": "string" + } + } + }, + "ResourceGuardOperationDetail": { + "type": "object", + "properties": { + "vaultCriticalOperation": { + "type": "string" + }, + "defaultResourceRequest": { + "type": "string" + } + } + }, + "ResourceGuardProxyBase": { + "type": "object", + "required": [ + "resourceGuardResourceId" + ], + "properties": { + "resourceGuardResourceId": { + "type": "string" + }, + "resourceGuardOperationDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardOperationDetail" + }, + "x-ms-identifiers": [] + }, + "lastUpdatedTime": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "ResourceGuardProxyBaseResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResourceGuardProxyBase", + "description": "ResourceGuardProxyBaseResource properties" + } + } + }, + "ResourceGuardProxyBaseResourceList": { + "description": "List of ResourceGuardProxyBase resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + } + } + }, + "TieringPolicy": { + "description": "Tiering Policy for a target tier.\r\nIf the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier", + "type": "object", + "properties": { + "tieringMode": { + "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\r\n1. TierRecommended: Tier all recovery points recommended to be tiered\r\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\r\n3. DoNotTier: Do not tier any recovery points", + "enum": [ + "Invalid", + "TierRecommended", + "TierAfter", + "DoNotTier" + ], + "type": "string", + "x-ms-enum": { + "name": "TieringMode", + "modelAsString": true + } + }, + "duration": { + "format": "int32", + "description": "Number of days/weeks/months/years to retain backups in current tier before tiering.\r\nUsed only if TieringMode is set to TierAfter", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type: days/weeks/months/years\r\nUsed only if TieringMode is set to TierAfter", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } + }, + "TieringCostInfo": { + "description": "Base class for tiering cost response", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "FetchTieringCostInfoForRehydrationRequest": { + "description": "Request parameters for fetching cost info of rehydration", + "required": [ + "objectType", + "containerName", + "protectedItemName", + "recoveryPointId", + "rehydrationPriority", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "properties": { + "containerName": { + "description": "Name of the protected item container", + "type": "string" + }, + "protectedItemName": { + "description": "Name of the protectedItemName", + "type": "string" + }, + "recoveryPointId": { + "description": "ID of the backup copy for rehydration cost info needs to be fetched.", + "type": "string" + }, + "rehydrationPriority": { + "description": "Rehydration Priority", + "enum": [ + "Standard", + "High" + ], + "type": "string", + "x-ms-enum": { + "name": "RehydrationPriority", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "FetchTieringCostInfoForRehydrationRequest" + }, + "FetchTieringCostInfoRequest": { + "description": "Base class for tiering cost request.\r\nSpecific cost request types are derived from this class.", + "required": [ + "sourceTierType", + "targetTierType", + "objectType" + ], + "type": "object", + "properties": { + "sourceTierType": { + "description": "Source tier for the request", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "targetTierType": { + "description": "target tier for the request", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "TieringCostRehydrationInfo": { + "description": "Response parameters for tiering cost info for rehydration", + "required": [ + "objectType", + "rehydrationSizeInBytes", + "retailRehydrationCostPerGBPerMonth" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TieringCostInfo" + } + ], + "properties": { + "rehydrationSizeInBytes": { + "format": "int64", + "description": "Rehydration size in bytes", + "type": "integer" + }, + "retailRehydrationCostPerGBPerMonth": { + "format": "double", + "description": "Source tier to target tier rehydration cost per GB per month", + "type": "number" + } + }, + "x-ms-discriminator-value": "TieringCostRehydrationInfo" + }, + "TieringCostSavingInfo": { + "description": "Response parameters for tiering cost info for savings", + "required": [ + "objectType", + "sourceTierSizeReductionInBytes", + "targetTierSizeIncreaseInBytes", + "retailSourceTierCostPerGBPerMonth", + "retailTargetTierCostPerGBPerMonth" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TieringCostInfo" + } + ], + "properties": { + "sourceTierSizeReductionInBytes": { + "format": "int64", + "description": "Source tier size reduction in bytes after moving all the recommended backup points to target tier", + "type": "integer" + }, + "targetTierSizeIncreaseInBytes": { + "format": "int64", + "description": "Target tier size increase in bytes after moving all the recommended backup points to target tier", + "type": "integer" + }, + "retailSourceTierCostPerGBPerMonth": { + "format": "double", + "description": "Source tier retail cost per GB per month", + "type": "number" + }, + "retailTargetTierCostPerGBPerMonth": { + "format": "double", + "description": "Target tier retail cost per GB per month", + "type": "number" + } + }, + "x-ms-discriminator-value": "TieringCostSavingInfo" + }, + "FetchTieringCostSavingsInfoForPolicyRequest": { + "description": "Request parameters for tiering cost info for policy", + "required": [ + "objectType", + "policyName", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "properties": { + "policyName": { + "description": "Name of the backup policy for which the cost savings information is requested", + "type": "string" + } + }, + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForPolicyRequest" + }, + "FetchTieringCostSavingsInfoForProtectedItemRequest": { + "description": "Request parameters for tiering cost info for protected item", + "required": [ + "objectType", + "containerName", + "protectedItemName", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "properties": { + "containerName": { + "description": "Name of the protected item container", + "type": "string" + }, + "protectedItemName": { + "description": "Name of the protectedItemName", + "type": "string" + } + }, + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForProtectedItemRequest" + }, + "FetchTieringCostSavingsInfoForVaultRequest": { + "description": "Request parameters for tiering cost info for vault", + "required": [ + "objectType", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForVaultRequest" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "AzureRegion": { + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RestrictedVaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$", + "minLength": 2, + "maxLength": 50 + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupFeature_Validate.json new file mode 100644 index 000000000000..4d1ca381d043 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupFeature_Validate.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2024-04-30-preview", + "parameters": { + "featureType": "AzureVMResourceBackup", + "vmSize": "Basic_A0", + "vmSku": "Premium" + } + }, + "responses": { + "200": { + "body": { + "supportStatus": "DefaultOFF" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupPolicies_List.json new file mode 100644 index 000000000000..fa3450ebd3d4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupPolicies_List.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectableItems_List.json new file mode 100644 index 000000000000..17dde3f70302 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionState": "NotProtected", + "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectedItems_List.json new file mode 100644 index 000000000000..69f4e88535ea --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json new file mode 100644 index 000000000000..5553c0d41b60 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Compute_ProtectedItem_Get.json new file mode 100644 index 000000000000..077154b9691d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ConfigureProtection.json new file mode 100644 index 000000000000..1ff10c9a1416 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ConfigureProtection.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/GetBackupStatus.json new file mode 100644 index 000000000000..5e8fa1411732 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/GetBackupStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2024-04-30-preview", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "resourceType": "VM" + } + }, + "responses": { + "200": { + "body": { + "protectionStatus": "Protected", + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm", + "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", + "policyName": "myPolicy", + "errorCode": "Success", + "errorMessage": "ErrorMessage" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationResults.json new file mode 100644 index 000000000000..9a885c68ea9c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationResults.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationStatus.json new file mode 100644 index 000000000000..551a43aca8a4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusJobExtendedInfo", + "jobId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json new file mode 100644 index 000000000000..e547ab0b8e25 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel", + "protectionIntentItemType": "AzureResourceItem", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureResourceItem", + "backupManagementType": "AzureIaasVM", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionState": "Protected" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_Validate.json new file mode 100644 index 000000000000..4c09cd59bcb5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionIntent_Validate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2024-04-30-preview", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1", + "resourceType": "VM", + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault", + "properties": "" + } + }, + "responses": { + "200": { + "body": { + "status": "Failed", + "errorCode": "VirtualMachineAlreadyProtected", + "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault", + "recommendation": "Please do not enable protection again.", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", + "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..7acc1d770fdc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json new file mode 100644 index 000000000000..2eb8f1161400 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..9705905fab3a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Get.json new file mode 100644 index 000000000000..80ad8125c5f7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json new file mode 100644 index 000000000000..c078e8081a61 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 1 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json new file mode 100644 index 000000000000..69231db21f77 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "GetProtectionPolicyOperationStatus", + "status": "Succeeded", + "startTime": "2018-01-24T12:57:32.1142968Z", + "endTime": "2018-01-24T12:57:32.1142968Z", + "properties": { + "objectType": "OperationStatusJobsExtendedInfo", + "jobIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "failedJobsError": {} + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Provision_Ilr.json new file mode 100644 index 000000000000..125a84b511d8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Provision_Ilr.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "initiatorName": "Hello World", + "recoveryPointId": "38823086363464", + "renewExistingRegistration": true, + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1", + "objectType": "IaasVMILRRegistrationRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json new file mode 100644 index 000000000000..c9c823981ae3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "api-version": "2024-04-30-preview", + "parameters": { + "objectType": "ListRecoveryPointsRecommendedForMoveRequest", + "excludedRPList": [ + "348916168024334", + "348916168024335" + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_Get.json new file mode 100644 index 000000000000..fceb2eb0985e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "recoveryPointId": "26083826328862", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", + "name": "26083826328862", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ], + "isPrivateAccessEnabledOnAnyDisk": true + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_List.json new file mode 100644 index 000000000000..5d8e0f1f043a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/RecoveryPoints_List.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "Archive": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": false, + "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved." + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ], + "isPrivateAccessEnabledOnAnyDisk": true + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/FijiValidation-asr-microsoftrrdclab3-408/providers/Microsoft.RecoveryServices/vaults/testVault408/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/protectedItems/VM;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/recoveryPoints/70477518625276", + "name": "70477518625276", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2023-09-22T20:02:00.1225746Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "PremiumVMOnPartialPremiumStorage", + "isSourceVMEncrypted": true, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Valid" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D2s_v3", + "originalStorageAccountOption": false, + "osType": "Windows", + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": false, + "additionalInfo": "We're still determining if this Recovery Point can be moved.. Please check again after some time." + } + }, + "extendedLocation": { + "name": "microsoftrrdclab3", + "type": "EdgeZone" + }, + "securityType": "None", + "isPrivateAccessEnabledOnAnyDisk": false + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Revoke_Ilr.json new file mode 100644 index 000000000000..0b3991e6a25a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/Revoke_Ilr.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/StopProtection.json new file mode 100644 index 000000000000..55a49960fb27 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/StopProtection.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionState": "ProtectionStopped" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "ProtectionStopped", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..6721a9527fc6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": true + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..79aac716743c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": true + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..3b4e45e626f3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "High" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json new file mode 100644 index 000000000000..93b66b247945 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + }, + "resourceGuardOperationRequests": [ + "/subscriptions/063bf7bc-e4dc-4cde-8840-8416fbd7921e/resourcegroups/ankurRG1/providers/Microsoft.DataProtection/resourceGuards/RG341/triggerRestoreRequests/default" + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..1be55908702f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "targetDiskNetworkAccessSettings": { + "targetDiskNetworkAccessOption": "EnablePrivateAccessForAllDisks", + "targetDiskAccessId": "/subscriptions/e7a191f5-713c-4bdb-b5e4-cf3dd90230ef/resourceGroups/arpja/providers/Microsoft.Compute/diskAccesses/arpja-diskaccess-ccy" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..1419e53c398e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..1ed650527575 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "Standard" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..be48b7132958 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Retry-After": 10 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json new file mode 100644 index 000000000000..f69521354fda --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json @@ -0,0 +1,191 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "India Standard Time", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily", + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "timeZone": "India Standard Time" + }, + "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json new file mode 100644 index 000000000000..701330d9c418 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json @@ -0,0 +1,191 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "India Standard Time", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "timeZone": "India Standard Time" + }, + "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json new file mode 100644 index 000000000000..50d2a4eceb82 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-List-Policies.json new file mode 100644 index 000000000000..885b38ce5563 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/V2Policy/v2-List-Policies.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy", + "name": "v2-daily-policy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily", + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationResults.json new file mode 100644 index 000000000000..de43b23a799f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationResults.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Retry-After": 10 + } + }, + "200": { + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationStatus.json new file mode 100644 index 000000000000..49e06138df5c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperationStatus.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusValidateOperationExtendedInfo", + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..60680c033bb9 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..f732b9447d4c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectableContainers_List.json new file mode 100644 index 000000000000..29b02d6d0373 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectableContainers_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testvault", + "fabricName": "Azure", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", + "name": "StorageContainer;storage;test-rg;testst", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", + "name": "StorageContainer;ClassicStorage;test-rg;teststorage", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire.json new file mode 100644 index 000000000000..98fb611aa45c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire_Result.json new file mode 100644 index 000000000000..8fa5644a45ba --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_List.json new file mode 100644 index 000000000000..58b0e4b636f8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "fabricName": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", + "protectedItemCount": 2, + "friendlyName": "suchandrtestsa125", + "backupManagementType": "AzureStorage", + "registrationStatus": "Registered", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Register.json new file mode 100644 index 000000000000..0cb06cfcb55e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionContainers_Register.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "fabricName": "Azure", + "containerName": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "friendlyName": "swaggertestsa", + "backupManagementType": "AzureStorage", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", + "containerType": "StorageContainer", + "acquireStorageAccountLock": "Acquire" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2019-05-13-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "name": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", + "protectedItemCount": 0, + "acquireStorageAccountLock": "Acquire", + "friendlyName": "swaggertestsa", + "backupManagementType": "AzureStorage", + "registrationStatus": "Registered", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json new file mode 100644 index 000000000000..ea0c066a3c34 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "dailyPolicy2", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "timeZone": "UTC", + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2", + "name": "dailyPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json new file mode 100644 index 000000000000..e3ad34a09315 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "newPolicyV2", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "timeZone": "UTC", + "vaultRetentionPolicy": { + "snapshotRetentionInDays": 5, + "vaultRetention": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2", + "name": "newPolicyV2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "vaultRetentionPolicy": { + "snapshotRetentionInDays": 5, + "vaultRetention": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operations/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json new file mode 100644 index 000000000000..5f554ef8802c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "newPolicy2", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "hourlySchedule": { + "interval": 4, + "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z", + "scheduleWindowDuration": 12 + } + }, + "timeZone": "UTC", + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": null, + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": null, + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null, + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null, + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2", + "name": "newPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "hourlySchedule": { + "interval": 4, + "scheduleWindowStartTime": "2021-09-29T08:00:00Z", + "scheduleWindowDuration": 12 + }, + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/SoftDeletedContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/SoftDeletedContainers_List.json new file mode 100644 index 000000000000..bec6b95c6d94 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureStorage/SoftDeletedContainers_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "fabricName": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", + "protectedItemCount": 2, + "friendlyName": "suchandrtestsa125", + "backupManagementType": "AzureStorage", + "registrationStatus": "SoftDeleted", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupPolicies_List.json new file mode 100644 index 000000000000..5bf3c01ef207 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupPolicies_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", + "name": "HourlyLogBackup", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "UTC", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Delete.json new file mode 100644 index 000000000000..a457c80c0782 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2024-04-30-preview", + "parameters": {} + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Get.json new file mode 100644 index 000000000000..1840a0f2eb1e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2024-04-30-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_List.json new file mode 100644 index 000000000000..fd4b59cbea5c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupProtectionIntent_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "api-version": "2024-04-30-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupWorkloadItems_List.json new file mode 100644 index 000000000000..6723bf492b7c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/BackupWorkloadItems_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "suchandr-seacan-rsv", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureWorkload'", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", + "name": "SQLInstance;MSSQLSERVER", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items", + "properties": { + "dataDirectoryPaths": [ + { + "type": "Data", + "path": "F:\\DATA\\" + }, + { + "type": "Log", + "path": "F:\\LOG\\" + } + ], + "parentName": "MSSQLSERVER", + "serverName": "sqlserver-1.contoso.com", + "isAutoProtectable": true, + "subinquireditemcount": 0, + "subWorkloadItemCount": 3, + "backupManagementType": "AzureWorkload", + "workloadType": "SQL", + "workloadItemType": "SQLInstance", + "friendlyName": "MSSQLSERVER", + "protectionState": "NotProtected" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Get.json new file mode 100644 index 000000000000..0b1945317a2c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Get.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "api-version": "2024-04-30-preview", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Unregister.json new file mode 100644 index 000000000000..05da6fdc4c1d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..20450c6b0571 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,260 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Friday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json new file mode 100644 index 000000000000..da2e417c98c4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json new file mode 100644 index 000000000000..04e5aceae26e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + }, + "200": { + "body": { + "objectType": "PrepareDataMoveResponse" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMove_Post.json new file mode 100644 index 000000000000..65095933fb9a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/PrepareDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "api-version": "2024-04-30-preview", + "parameters": { + "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv", + "targetRegion": "USGov Virginia", + "dataMoveLevel": "Vault" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/TriggerDataMove_Post.json new file mode 100644 index 000000000000..2ab3face425a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupDataMove/TriggerDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "targetRG", + "vaultName": "target-rsv", + "api-version": "2024-04-30-preview", + "parameters": { + "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv", + "sourceRegion": "USGov Iowa", + "dataMoveLevel": "Vault", + "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Get.json new file mode 100644 index 000000000000..30d0a95dbeb9 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rishgrp", + "vaultName": "rishTestVault", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig", + "name": "backupResourceEncryptionConfig", + "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs", + "properties": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false, + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "lastUpdateStatus": "Succeeded", + "infrastructureEncryptionState": "Disabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Put.json new file mode 100644 index 000000000000..95d85cfdae5a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/BackupResourceEncryptionConfig_Put.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "source-rsv", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "infrastructureEncryptionState": "true" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectedItem_UsageSummary_Get.json new file mode 100644 index 000000000000..682822b40b48 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectedItem_UsageSummary_Get.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "$filter": "type eq 'BackupProtectedItemCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 7, + "limit": -1, + "name": { + "value": "AzureIaasVM", + "localizedValue": "Azure Virtual Machine" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureStorage", + "localizedValue": "Azure Storage (Azure Files)" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectionContainers_UsageSummary_Get.json new file mode 100644 index 000000000000..364069b365c0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "$filter": "type eq 'BackupProtectionContainerCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Get.json new file mode 100644 index 000000000000..be291997ddd6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Patch.json new file mode 100644 index 000000000000..d3adcfd324ca --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Put.json new file mode 100644 index 000000000000..200097cce375 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupResourceVaultConfigs_Put.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..25031454da5e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupSecurityPin_Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "token": "200432", + "expiryTimeInUtcTicks": 636495150137443121, + "securityPIN": "200432" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..cb00064ffa20 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..77b7f77f7af8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..27fa49e5442d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/BackupStorageConfig_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/CancelJobOperationResult.json new file mode 100644 index 000000000000..8b5398adab2d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/CancelJobOperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "204": {}, + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ExportJobsOperationResult.json new file mode 100644 index 000000000000..4520e302a90b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ExportJobsOperationResult.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo", + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", + "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r" + }, + "headers": {} + } + }, + "202": { + "headers": { + "Retry-After": 60, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + }, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo" + }, + "headers": { + "Location": [ + "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + ], + "Retry-After": [ + "60" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/GetJobDetails.json new file mode 100644 index 000000000000..f32976d6ece0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/GetJobDetails.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT9.8782791S", + "virtualMachineVersion": "Compute", + "extendedInfo": { + "tasksList": [ + { + "taskId": "Take Snapshot", + "duration": "PT0S", + "status": "InProgress" + }, + { + "taskId": "Transfer data to vault", + "duration": "PT0S", + "status": "NotStarted" + } + ], + "propertyBag": { + "VM Name": "testvm" + } + }, + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobs.json new file mode 100644 index 000000000000..dcf704ddfea2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobs.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithAllSupportedFilters.json new file mode 100644 index 000000000000..16dc63863e4d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithAllSupportedFilters.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json new file mode 100644 index 000000000000..6dcf7a49a678 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete.json new file mode 100644 index 000000000000..753fd3a849c4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..cbf1ca58ecde --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..455a31dd79d3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "InProgress", + "startTime": "2017-08-03T06:52:53.886027Z", + "endTime": "0001-01-01T00:00:00.00000Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RecoveryPoints_Update.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RecoveryPoints_Update.json new file mode 100644 index 000000000000..f5f1aea40f08 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RecoveryPoints_Update.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "hanasnapshottesting", + "vaultName": "HanaSnapshotTest", + "fabricName": "Azure", + "containerName": "VMAppContainer;compute;hanasnapshottesting;hana-eacan-2", + "protectedItemName": "SAPHanaDatabase;hye;hye", + "recoveryPointId": "2265668074516978193", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "recoveryPointProperties": { + "expiryTime": "2025-01-02T00:00:00.0000000Z" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hanasnapshottesting/providers/Microsoft.RecoveryServices/vaults/HanaSnapshotTest/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;hanasnapshottesting;hana-eacan-2/protectedItems/SAPHanaDatabase;hye;hye/recoveryPoints/2265668074516978193", + "name": "2265668074516978193", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "AzureWorkloadSAPHanaRecoveryPoint", + "recoveryPointProperties": { + "expiryTime": "2025-01-02T00:00:00.0000000Z", + "isSoftDeleted": false, + "ruleName": "On-Demand" + }, + "recoveryPointTierDetails": [ + { + "status": "Valid", + "type": "HardenedRP" + } + ], + "recoveryPointTimeInUTC": "2023-08-18T06:26:36.922Z", + "type": "Full" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers.json new file mode 100644 index 000000000000..a4cc731a2a45 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..79872dd6d12b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/RefreshContainers_OperationResults.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..44bf467b2538 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerBackup_Post.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "linuxRsVaultRG", + "vaultName": "linuxRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "objectType": "IaasVMBackupRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerCancelJob.json new file mode 100644 index 000000000000..6b97c79ad2bb --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerCancelJob.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerExportJobs.json new file mode 100644 index 000000000000..5adf7370ac4b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Common/TriggerExportJobs.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_Get.json new file mode 100644 index 000000000000..e3e5d8505d20 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "backupEngineName": "testServer", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", + "name": "testServer", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_List.json new file mode 100644 index 000000000000..ffdc00ca1e1e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Dpm/BackupEngines_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", + "name": "testServer1", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer1", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", + "name": "testServer5", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9530.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer5", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json new file mode 100644 index 000000000000..7a3ffd21bb94 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..67c419230cf1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..8cc041c2ee23 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json new file mode 100644 index 000000000000..4ba1c7ff7258 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..55fcca57866b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json new file mode 100644 index 000000000000..fe41420927dc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json new file mode 100644 index 000000000000..c38d86869ffb --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json new file mode 100644 index 000000000000..5012bedc9c8c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json new file mode 100644 index 000000000000..13cebbadfde5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2024-04-30-preview", + "parameters": { + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json new file mode 100644 index 000000000000..f7b2a471d569 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2024-04-30-preview", + "parameters": { + "resourceGuardOperationRequests": [ + "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default" + ], + "resourceToBeDeleted": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb" + } + }, + "responses": { + "200": { + "body": { + "unlockDeleteExpiryTime": "2021-02-11T13:12:27.7870742Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForPolicy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForPolicy.json new file mode 100644 index 000000000000..baa475dd3036 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForPolicy.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForPolicyRequest", + "policyName": "monthly", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Retry-After": 60 + } + }, + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForProtectedItem.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForProtectedItem.json new file mode 100644 index 000000000000..d03b09590761 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForProtectedItem.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForProtectedItemRequest", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForRehydrate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForRehydrate.json new file mode 100644 index 000000000000..cbc06be9c153 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForRehydrate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "parameters": { + "objectType": "FetchTieringCostInfoForRehydrationRequest", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "1222343434", + "rehydrationPriority": "High", + "sourceTierType": "ArchivedRP", + "targetTierType": "HardenedRP" + } + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostRehydrationInfo", + "rehydrationSizeInBytes": 1204000, + "retailRehydrationCostPerGBPerMonth": 0.02 + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForVault.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForVault.json new file mode 100644 index 000000000000..d9306018ba06 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/FetchTieringCostForVault.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2024-04-30-preview", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForVaultRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2024-04-30-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationResult.json new file mode 100644 index 000000000000..37994adfc517 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationStatus.json new file mode 100644 index 000000000000..4ba1c7ff7258 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TieringCost/GetTieringCostOperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TriggerRecoveryPointMove_Post.json new file mode 100644 index 000000000000..6a4b9902a874 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/TriggerRecoveryPointMove_Post.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2024-04-30-preview", + "parameters": { + "objectType": "MoveRPAcrossTiersRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index c8b632547490..285c42d6262a 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -55,6 +55,15 @@ semantic-validator: true message-format: json ``` +### Tag: package-preview-2024-04 + +These settings apply only when `--tag=package-preview-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-04' +input-file: + - Microsoft.RecoveryServices/preview/2024-04-30-preview/bms.json +``` + ### Tag: package-2024-04 These settings apply only when `--tag=package-2024-04` is specified on the command line. @@ -493,4 +502,9 @@ directive: - suppress: LroErrorContent from: bms.json reason: The azure backup service's API infra handles the conversation from execptions to custom error CloudError. Changing this would be breaking change for our service. + - suppress: ConsistentPatchProperties + from: bms.json + where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}"].patch.parameters[8]["schema"] + reason: Known false alarm for the discriminator pattern that causes ConsistentPatchProperties rule to fail. ``` From 39d38e6dbf422fd05aabd64bf5663f115d920fcd Mon Sep 17 00:00:00 2001 From: pdaryani010 <139246834+pdaryani010@users.noreply.github.com> Date: Fri, 10 May 2024 00:13:56 +0530 Subject: [PATCH 03/30] Pdaryani recoveryservices 2024 04 30 preview (#28784) * Copy files from stable/2024-04-01 Copied the files in a separate commit. This allows reviewers to easily diff subsequent changes against the previous spec. * Update version to preview/2024-04-30-preview Updated the API version from stable/2024-04-01 to preview/2024-04-30-preview. * Added tag for 2024-04-30-preview in readme file * fix pretty checks * fix readme --------- Co-authored-by: madhura <56606095+madhura-np@users.noreply.github.com> --- .../examples/Capabilities.json | 45 + .../CheckNameAvailability_Available.json | 19 + .../CheckNameAvailability_NotAvailable.json | 21 + .../examples/DeleteRegisteredIdentities.json | 12 + .../examples/DeleteVault.json | 18 + .../2024-04-30-preview/examples/GETVault.json | 83 + .../examples/GETVaultExtendedInfo.json | 22 + .../examples/GetOperationResult.json | 45 + .../examples/GetOperationStatus.json | 20 + .../examples/GetPrivateLinkResources.json | 36 + .../examples/ListBySubscriptionIds.json | 62 + .../examples/ListOperations.json | 463 ++++ .../examples/ListPrivateLinkResources.json | 60 + .../examples/ListReplicationUsages.json | 34 + .../examples/ListResources.json | 63 + .../examples/ListUsages.json | 180 ++ .../examples/PATCHVault.json | 41 + .../examples/PATCHVault_WithCMK.json | 77 + .../examples/PATCHVault_WithCMK3.json | 73 + .../PATCHVault_WithMonitoringSettings.json | 65 + .../PATCHVault_WithRedundancySettings.json | 48 + .../PATCHVault_WithUserAssignedIdentity.json | 56 + .../2024-04-30-preview/examples/PUTVault.json | 72 + .../examples/PUTVaultCred.json | 41 + .../PUTVault_ResourceGuardEnabled.json | 114 + .../examples/PUTVault_WithCMK.json | 111 + .../PUTVault_WithMonitoringSettings.json | 105 + .../PUTVault_WithRedundancySettings.json | 84 + .../PUTVault_WithUserAssignedIdentity.json | 82 + .../examples/PatchVault_WithCMK2.json | 69 + .../examples/UpdateVaultExtendedInfo.json | 28 + .../registeredidentities.json | 376 +++ .../2024-04-30-preview/replicationusages.json | 208 ++ .../preview/2024-04-30-preview/vaults.json | 2316 +++++++++++++++++ .../2024-04-30-preview/vaultusages.json | 189 ++ .../resource-manager/readme.md | 12 + 36 files changed, 5350 insertions(+) create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Capabilities.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_Available.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_NotAvailable.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteRegisteredIdentities.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteVault.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVault.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVaultExtendedInfo.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationResult.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationStatus.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetPrivateLinkResources.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListBySubscriptionIds.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListPrivateLinkResources.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListReplicationUsages.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListResources.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListUsages.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK3.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithMonitoringSettings.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithRedundancySettings.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithUserAssignedIdentity.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVaultCred.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_ResourceGuardEnabled.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithCMK.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithMonitoringSettings.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithRedundancySettings.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithUserAssignedIdentity.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PatchVault_WithCMK2.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/UpdateVaultExtendedInfo.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/registeredidentities.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/replicationusages.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaults.json create mode 100644 specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaultusages.json diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Capabilities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Capabilities.json new file mode 100644 index 000000000000..4b29879d68e7 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/Capabilities.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "api-version": "2024-04-30-preview", + "location": "westus", + "input": { + "type": "Microsoft.RecoveryServices/Vaults", + "properties": { + "dnsZones": [ + { + "subResource": "AzureBackup" + }, + { + "subResource": "AzureSiteRecovery" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/Vaults", + "properties": { + "dnsZones": [ + { + "subResource": "AzureBackup", + "requiredZoneNames": [ + "privatelink.wus.backup.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + }, + { + "subResource": "AzureSiteRecovery", + "requiredZoneNames": [ + "privatelink.siterecovery.windowsazure.com" + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_Available.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_Available.json new file mode 100644 index 000000000000..b4e57415b8c0 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_Available.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "resGroupFoo", + "api-version": "2024-04-30-preview", + "location": "westus", + "input": { + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/Vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_NotAvailable.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_NotAvailable.json new file mode 100644 index 000000000000..ef525c580b97 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/CheckNameAvailability_NotAvailable.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "resGroupBar", + "api-version": "2024-04-30-preview", + "location": "westus", + "input": { + "name": "swaggerExample2", + "type": "Microsoft.RecoveryServices/Vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Resource already exists with the same name." + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteRegisteredIdentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteRegisteredIdentities.json new file mode 100644 index 000000000000..9ee83e331fd6 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteRegisteredIdentities.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "BCDRIbzRG", + "vaultName": "BCDRIbzVault", + "identityName": "dpmcontainer01", + "api-version": "2024-04-30-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteVault.json new file mode 100644 index 000000000000..568155ae5c04 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/DeleteVault.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2024-04-30-preview", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2024-04-30-preview" + } + }, + "204": {} + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVault.json new file mode 100644 index 000000000000..b66f7d6025ed --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVault.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled", + "alertsForAllReplicationIssues": "Enabled", + "alertsForAllFailoverIssues": "Disabled" + }, + "classicAlertSettings": { + "alertsForCriticalOperations": "Disabled", + "emailNotificationsForSiteRecovery": "Enabled" + } + }, + "provisioningState": "Succeeded", + "privateEndpointConnections": [ + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateEndpointConnections/pe114-pemsi-ecy-rsv.5944358949303501042.backup.75061caa-cba4-4849-8e09-608da4914aad", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.Network/privateEndpoints/pe114-pemsi-ecy-rsv" + }, + "groupIds": [ + "AzureBackup" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "None", + "actionsRequired": "None" + } + } + } + ], + "privateEndpointStateForBackup": "Enabled", + "privateEndpointStateForSiteRecovery": "None", + "securitySettings": { + "immutabilitySettings": { + "state": "Disabled" + }, + "softDeleteSettings": { + "softDeleteRetentionPeriodInDays": 14, + "softDeleteState": "Enabled", + "enhancedSecurityState": "Enabled" + }, + "multiUserAuthorization": "Disabled" + }, + "redundancySettings": { + "standardTierStorageRedundancy": "GeoRedundant", + "crossRegionRestore": "Enabled" + }, + "secureScore": "None", + "bcdrSecurityLevel": "Poor" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVaultExtendedInfo.json new file mode 100644 index 000000000000..d393d54cb03e --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GETVaultExtendedInfo.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "name": "vaultExtendedInfo", + "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7", + "properties": { + "integrityKey": "J09wzS27fnJ+Wjot7xO5wA==", + "algorithm": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo", + "type": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationResult.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationResult.json new file mode 100644 index 000000000000..468c42e19346 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationResult.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2024-04-30-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + }, + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationStatus.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationStatus.json new file mode 100644 index 000000000000..d2a7b68b9519 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetOperationStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "name": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "status": "Succeeded", + "startTime": "2019-11-20T09:49:44.0478496Z", + "endTime": "2019-11-20T09:49:46Z" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetPrivateLinkResources.json new file mode 100644 index 000000000000..95b6e76080f8 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/GetPrivateLinkResources.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace", + "resourceGroupName": "petesting", + "vaultName": "pemsi-ecy-rsv2", + "api-version": "2024-04-30-preview", + "privateLinkResourceName": "backupResource" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource", + "name": "backupResource", + "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources", + "properties": { + "groupId": "AzureBackup", + "requiredMembers": [ + "backup-fab1", + "backup-rec2", + "backup-prot1", + "backup-ecs1", + "backup-tel1", + "backup-wbcm1", + "backup-fc1", + "backup-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.backup.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListBySubscriptionIds.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListBySubscriptionIds.json new file mode 100644 index 000000000000..d9661740ab40 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListBySubscriptionIds.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "name": "patchtest", + "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"", + "tags": { + "Love": "India" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "today1", + "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/today1", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json new file mode 100644 index 000000000000..7a3ffd21bb94 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListOperations.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListPrivateLinkResources.json new file mode 100644 index 000000000000..e0ebbb0f185c --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListPrivateLinkResources.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace", + "resourceGroupName": "petesting", + "vaultName": "pemsi-ecy-rsv2", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource", + "name": "backupResource", + "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources", + "properties": { + "groupId": "AzureBackup", + "requiredMembers": [ + "backup-fab1", + "backup-rec2", + "backup-prot1", + "backup-ecs1", + "backup-tel1", + "backup-wbcm1", + "backup-fc1", + "backup-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.backup.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/amchandnTest2702A/privateLinkResources/siteRecoveryResource", + "name": "siteRecoveryResource", + "type": "Microsoft.RecoveryServices/vaults/privateLinkResources", + "properties": { + "groupId": "AzureSiteRecovery", + "requiredMembers": [ + "siteRecovery-rcm1", + "siteRecovery-prot2", + "siteRecovery-tel1", + "siteRecovery-srs1", + "siteRecovery-prot2b", + "siteRecovery-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.siterecovery.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListReplicationUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListReplicationUsages.json new file mode 100644 index 000000000000..9b55e9ceffad --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListReplicationUsages.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-30-preview", + "vaultName": "avrai7517Vault1", + "resourceGroupName": "avrai7517RG1", + "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "monitoringSummary": { + "unHealthyVmCount": 0, + "unHealthyProviderCount": 0, + "eventsCount": 0, + "deprecatedProviderCount": 0, + "supportedProviderCount": 0, + "unsupportedProviderCount": 0 + }, + "jobsSummary": { + "failedJobs": 0, + "suspendedJobs": 0, + "inProgressJobs": 0 + }, + "protectedItemCount": 2, + "registeredServersCount": 2, + "recoveryPlanCount": 1 + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListResources.json new file mode 100644 index 000000000000..dc83316ccdbe --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListResources.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "name": "patchtest", + "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"", + "tags": { + "Love": "India" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "today1", + "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/today1", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListUsages.json new file mode 100644 index 000000000000..16c68b69b0a6 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/ListUsages.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 6, + "limit": -1, + "name": { + "value": "MABContainersCount", + "localizedValue": "Backup management servers" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "ProtectedItemCount", + "localizedValue": "Backup items/Azure virtual machine backup" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "ProtectedItemCriticalCount", + "localizedValue": "Critical" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "ProtectedItemWarningCount", + "localizedValue": "Warning" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemCount", + "localizedValue": "Azure Virtual Machines" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemCriticalCount", + "localizedValue": "Critical" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemWarningCount", + "localizedValue": "Warning" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "MABProtectedItemCount", + "localizedValue": "File-Folders" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "DPMProtectedItemCount", + "localizedValue": "DPM Protected Items Count" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServerProtectedItemCount", + "localizedValue": "Azure Backup Server Protected Items Count" + } + }, + { + "unit": "Count", + "quotaPeriod": "P1D", + "currentValue": 0, + "limit": -1, + "name": { + "value": "InProgressJobsCount", + "localizedValue": "In progress" + } + }, + { + "unit": "Count", + "quotaPeriod": "P1D", + "currentValue": 0, + "limit": -1, + "name": { + "value": "FailedJobsCount", + "localizedValue": "Failed" + } + }, + { + "unit": "Bytes", + "currentValue": 117007930, + "limit": -1, + "name": { + "value": "GRSStorageUsage", + "localizedValue": "Cloud - GRS" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "LRSStorageUsage", + "localizedValue": "Cloud - LRS" + } + }, + { + "unit": "Count", + "currentValue": 5, + "limit": -1, + "name": { + "value": "ManagedInstances", + "localizedValue": "Protected Instances" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "GRSDedupStorageUsage", + "localizedValue": "Dedup - GRS" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "LRSDedupStorageUsage", + "localizedValue": "Dedup - LRS" + } + }, + { + "unit": "Bytes", + "currentValue": 117851553792, + "limit": -1, + "name": { + "value": "UsedDiskSize", + "localizedValue": "Backup Engines' Disk Used" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault.json new file mode 100644 index 000000000000..72494c6ba7fa --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK.json new file mode 100644 index 000000000000..5e6a369336dc --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + }, + "infrastructureEncryption": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK3.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK3.json new file mode 100644 index 000000000000..0f132376879f --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithCMK3.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithMonitoringSettings.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithMonitoringSettings.json new file mode 100644 index 000000000000..68ab5fb27621 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithMonitoringSettings.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled", + "alertsForAllReplicationIssues": "Enabled", + "alertsForAllFailoverIssues": "Disabled" + }, + "classicAlertSettings": { + "alertsForCriticalOperations": "Disabled", + "emailNotificationsForSiteRecovery": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled", + "alertsForAllReplicationIssues": "Enabled", + "alertsForAllFailoverIssues": "Disabled" + }, + "classicAlertSettings": { + "alertsForCriticalOperations": "Disabled", + "emailNotificationsForSiteRecovery": "Enabled" + } + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2024-04-30-preview", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2024-04-30-preview" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithRedundancySettings.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithRedundancySettings.json new file mode 100644 index 000000000000..b6671076c946 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithRedundancySettings.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "properties": { + "redundancySettings": { + "standardTierStorageRedundancy": "GeoRedundant", + "crossRegionRestore": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "redundancySettings": { + "standardTierStorageRedundancy": "GeoRedundant", + "crossRegionRestore": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithUserAssignedIdentity.json new file mode 100644 index 000000000000..abb71695d359 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PATCHVault_WithUserAssignedIdentity.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault.json new file mode 100644 index 000000000000..4b22822b4318 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "properties": { + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVaultCred.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVaultCred.json new file mode 100644 index 000000000000..b288400ed3ed --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVaultCred.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "BCDRIbzRG", + "vaultName": "BCDRIbzVault", + "certificateName": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "api-version": "2024-04-30-preview", + "certificateRequest": { + "properties": { + "authType": "AAD", + "certificate": "TUlJRE5EQ0NBaHlnQXdJQkFnSVFDYUxFKzVTSlNVeWdncDM0VS9HUm9qQU5CZ2txaGtpRzl3MEJBUXNGQURBWE1SVXdFd1lEVlFRREV3eGhiV05vWVc1a2JpNWpiMjB3SGhjTk1qSXhNREkwTVRJd05qRTRXaGNOTWpNeE1ESTBNVEl4TmpFNFdqQVhNUlV3RXdZRFZRUURFd3hoYldOb1lXNWtiaTVqYjIwd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUN4cFpwS293a2p4VU9VWkpLT2JvdGdPWXkzaW9UVkxMMmZyaW9nZVN1Qm5IMWw3aVdQWW9kUHRoWS8yVmh6ZFVUckNXL25pNUh3b0JHYzZMMHF6UGlBWXpHek94RmpMQjZjdFNkbm9nL1A4eEV2OGE0cnJWZlBZdS9INStoTGx3N0RubXlTNWs4TU9sSVhUemVWNkxZV2I2RWlpTFppc0k1R3lLU1liemNaQmJKdnhLTVdGdHRCV08xZUwzUWNUejlpb1VGQzVnRlFKQzg3YXFkeDR1Wk9WYzRLM3Ixb09sTFBKdmRLN25YU3VWci9ZOC80ZHhCdDJZUTRia0hjM2EzcUNBbTZrV0QzamRiajhCZmhlWWNVNjFFZ3llVFV2MlI4dzRubWJqVXZxRW05cDZtTG4xMTdEWWpQTHNFODVTL0FpQmF0dkNhQ3hCZ0lxb1N1blBOUkFnTUJBQUdqZkRCNk1BNEdBMVVkRHdFQi93UUVBd0lGb0RBSkJnTlZIUk1FQWpBQU1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0RBakFmQmdOVkhTTUVHREFXZ0JRR1NZcDJMUTJwOE5wMHUzRThJZDdRUjRTQXBqQWRCZ05WSFE0RUZnUVVCa21LZGkwTnFmRGFkTHR4UENIZTBFZUVnS1l3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUp2ZG9yRmJ4cExZaUhYRHpnR001WmxMWTRDZE1LYW5BdzVDZDNFVnhDbkhtT05ISnpLRmpzdHZjdUN1TDZ2S1ptci9abm5ENXNLUnE0d0xnTXV6dlNXNGtQTXlWeENrYzdVYnNZSWJCSXNIUDl3cUNmcUY5aG5LSE9YZFJJV2tBVXhnbmYxSlpLZjR1NlpTSzZ3dExaME9VT0c5Mmd3SlB2eW5PVmJoeWpqczdQTVpONEw1djZyeHJkRWp0WG5sYzIvRDlnS0NOTFhFZHdRM0dzS05ZTGZvYy9DT3JmbEIrRHVPSThrVzM0WmxzYlFHelgyQ3ArWVVlSDNrQlBjY3RpUWNURHFQcW5YS0NNMTJ6MGZDTjVpNXRkRlUrM0VzemZBQkpiOEZpU2ZCWFF1UUZRRDNDTDkraVdjZXhrMmxQako2akZIbHZtak9XbTdjQllHZlc4ST0=" + } + } + }, + "responses": { + "200": { + "body": { + "name": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "type": "Microsoft.RecoveryServices/vaults/certificates", + "id": "/Subscriptions/77777777-d41f-4550-9f70-7708a3a2283b/resourceGroups/BCDRIbzRG/providers/Microsoft.RecoveryServices/vaults/BCDRIbzVault/certificates/BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "properties": { + "authType": "AzureActiveDirectory", + "certificate": "TUlJRE5EQ0NBaHlnQXdJQkFnSVFDYUxFKzVTSlNVeWdncDM0VS9HUm9qQU5CZ2txaGtpRzl3MEJBUXNGQURBWE1SVXdFd1lEVlFRREV3eGhiV05vWVc1a2JpNWpiMjB3SGhjTk1qSXhNREkwTVRJd05qRTRXaGNOTWpNeE1ESTBNVEl4TmpFNFdqQVhNUlV3RXdZRFZRUURFd3hoYldOb1lXNWtiaTVqYjIwd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUN4cFpwS293a2p4VU9VWkpLT2JvdGdPWXkzaW9UVkxMMmZyaW9nZVN1Qm5IMWw3aVdQWW9kUHRoWS8yVmh6ZFVUckNXL25pNUh3b0JHYzZMMHF6UGlBWXpHek94RmpMQjZjdFNkbm9nL1A4eEV2OGE0cnJWZlBZdS9INStoTGx3N0RubXlTNWs4TU9sSVhUemVWNkxZV2I2RWlpTFppc0k1R3lLU1liemNaQmJKdnhLTVdGdHRCV08xZUwzUWNUejlpb1VGQzVnRlFKQzg3YXFkeDR1Wk9WYzRLM3Ixb09sTFBKdmRLN25YU3VWci9ZOC80ZHhCdDJZUTRia0hjM2EzcUNBbTZrV0QzamRiajhCZmhlWWNVNjFFZ3llVFV2MlI4dzRubWJqVXZxRW05cDZtTG4xMTdEWWpQTHNFODVTL0FpQmF0dkNhQ3hCZ0lxb1N1blBOUkFnTUJBQUdqZkRCNk1BNEdBMVVkRHdFQi93UUVBd0lGb0RBSkJnTlZIUk1FQWpBQU1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0RBakFmQmdOVkhTTUVHREFXZ0JRR1NZcDJMUTJwOE5wMHUzRThJZDdRUjRTQXBqQWRCZ05WSFE0RUZnUVVCa21LZGkwTnFmRGFkTHR4UENIZTBFZUVnS1l3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUp2ZG9yRmJ4cExZaUhYRHpnR001WmxMWTRDZE1LYW5BdzVDZDNFVnhDbkhtT05ISnpLRmpzdHZjdUN1TDZ2S1ptci9abm5ENXNLUnE0d0xnTXV6dlNXNGtQTXlWeENrYzdVYnNZSWJCSXNIUDl3cUNmcUY5aG5LSE9YZFJJV2tBVXhnbmYxSlpLZjR1NlpTSzZ3dExaME9VT0c5Mmd3SlB2eW5PVmJoeWpqczdQTVpONEw1djZyeHJkRWp0WG5sYzIvRDlnS0NOTFhFZHdRM0dzS05ZTGZvYy9DT3JmbEIrRHVPSThrVzM0WmxzYlFHelgyQ3ArWVVlSDNrQlBjY3RpUWNURHFQcW5YS0NNMTJ6MGZDTjVpNXRkRlUrM0VzemZBQkpiOEZpU2ZCWFF1UUZRRDNDTDkraVdjZXhrMmxQako2akZIbHZtak9XbTdjQllHZlc4ST0=", + "resourceId": 8726350008099341699, + "aadAuthority": "https://login.windows.net", + "aadTenantId": "9b0c2069-2eba-489f-95f4-eca15cb602ab", + "servicePrincipalClientId": "4932d0bd-b5f9-4659-94a0-7ab02d918933", + "servicePrincipalObjectId": "2d60221e-cef5-4e13-ba66-b33701a533bb", + "azureManagementEndpointAudience": "https://ppe1-id1.wus.wabppe.obs-test.com/restapi/", + "subject": "CN=Windows Azure Tools", + "validFrom": "2017-12-18T14:47:53+05:30", + "validTo": "2017-12-23T14:57:53+05:30", + "thumbprint": "019FE9BAD18A5A09A5CA53B593AF66331F3054AF", + "friendlyName": "", + "issuer": "CN=Windows Azure Tools", + "aadAudience": "api://9b0c2069-2eba-489f-95f4-eca15cb602ab/RecoveryServiceVault/US/AADReregisterTest/8726350008099341699" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_ResourceGuardEnabled.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_ResourceGuardEnabled.json new file mode 100644 index 000000000000..760e8da543d2 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_ResourceGuardEnabled.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "properties": { + "publicNetworkAccess": "Enabled", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + }, + "infrastructureEncryption": "Enabled" + }, + "resourceGuardOperationRequests": [ + "/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourcegroups/ankurResourceGuard1/providers/Microsoft.DataProtection/resourceGuards/ResourceGuard38-1/modifyEncryptionSettings/default" + ] + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Provisioning", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithCMK.json new file mode 100644 index 000000000000..7d658fd2a68f --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithCMK.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "properties": { + "publicNetworkAccess": "Enabled", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + }, + "infrastructureEncryption": "Enabled" + } + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Provisioning", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithMonitoringSettings.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithMonitoringSettings.json new file mode 100644 index 000000000000..6a12cc63fda8 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithMonitoringSettings.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "properties": { + "publicNetworkAccess": "Enabled", + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled", + "alertsForAllReplicationIssues": "Enabled", + "alertsForAllFailoverIssues": "Disabled" + }, + "classicAlertSettings": { + "alertsForCriticalOperations": "Disabled", + "emailNotificationsForSiteRecovery": "Enabled" + } + } + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled", + "alertsForAllReplicationIssues": "Enabled", + "alertsForAllFailoverIssues": "Disabled" + }, + "classicAlertSettings": { + "alertsForCriticalOperations": "Disabled", + "emailNotificationsForSiteRecovery": "Enabled" + } + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled", + "alertsForAllReplicationIssues": "Enabled", + "alertsForAllFailoverIssues": "Disabled" + }, + "classicAlertSettings": { + "alertsForCriticalOperations": "Disabled", + "emailNotificationsForSiteRecovery": "Enabled" + } + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithRedundancySettings.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithRedundancySettings.json new file mode 100644 index 000000000000..dc90c10043ea --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithRedundancySettings.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "properties": { + "publicNetworkAccess": "Enabled", + "redundancySettings": { + "standardTierStorageRedundancy": "GeoRedundant", + "crossRegionRestore": "Enabled" + } + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "redundancySettings": { + "standardTierStorageRedundancy": "GeoRedundant", + "crossRegionRestore": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "redundancySettings": { + "standardTierStorageRedundancy": "GeoRedundant", + "crossRegionRestore": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithUserAssignedIdentity.json new file mode 100644 index 000000000000..6d84b0563376 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PUTVault_WithUserAssignedIdentity.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "properties": { + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Provisioning" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PatchVault_WithCMK2.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PatchVault_WithCMK2.json new file mode 100644 index 000000000000..0a72f3b80bba --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/PatchVault_WithCMK2.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "encryption": { + "kekIdentity": { + "useSystemAssignedIdentity": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "publicNetworkAccess": "Enabled", + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "useSystemAssignedIdentity": true + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/UpdateVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/UpdateVaultExtendedInfo.json new file mode 100644 index 000000000000..86896a232d16 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/examples/UpdateVaultExtendedInfo.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2024-04-30-preview", + "resourceResourceExtendedInfoDetails": { + "properties": { + "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==", + "algorithm": "None" + } + } + }, + "responses": { + "200": { + "body": { + "name": "vaultExtendedInfo", + "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7", + "properties": { + "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==", + "algorithm": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo", + "type": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/registeredidentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/registeredidentities.json new file mode 100644 index 000000000000..1b5cf088b3a6 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/registeredidentities.json @@ -0,0 +1,376 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-30-preview", + "title": "RecoveryServicesClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}": { + "put": { + "tags": [ + "VaultCertificates" + ], + "description": "Uploads a certificate for a resource.", + "operationId": "VaultCertificates_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "certificateName", + "in": "path", + "description": "Certificate friendly name.", + "required": true, + "type": "string" + }, + { + "name": "certificateRequest", + "in": "body", + "description": "Input parameters for uploading the vault certificate.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultCertificateResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Download vault credential file": { + "$ref": "./examples/PUTVaultCred.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}": { + "delete": { + "tags": [ + "RegisteredIdentities" + ], + "description": "Unregisters the given container from your Recovery Services vault.", + "operationId": "RegisteredIdentities_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "identityName", + "in": "path", + "description": "Name of the protection container to unregister.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "deprecated": false, + "x-ms-examples": { + "Delete registered Identity": { + "$ref": "./examples/DeleteRegisteredIdentities.json" + } + } + } + } + }, + "definitions": { + "CertificateRequest": { + "description": "Details of the certificate to be uploaded to the vault.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RawCertificateData" + } + } + }, + "RawCertificateData": { + "description": "Raw certificate data.", + "type": "object", + "properties": { + "authType": { + "description": "Specifies the authentication type.", + "enum": [ + "Invalid", + "ACS", + "AAD", + "AccessControlService", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthType", + "modelAsString": true + } + }, + "certificate": { + "format": "byte", + "description": "The base64 encoded certificate raw data string", + "type": "string" + } + } + }, + "ResourceCertificateAndAadDetails": { + "description": "Certificate details representing the Vault credentials for AAD.", + "required": [ + "certificate", + "resourceId", + "aadAuthority", + "aadTenantId", + "servicePrincipalClientId", + "servicePrincipalObjectId", + "azureManagementEndpointAudience", + "subject", + "validFrom", + "validTo", + "thumbprint", + "friendlyName", + "issuer" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceCertificateDetails" + } + ], + "properties": { + "aadAuthority": { + "description": "AAD tenant authority.", + "type": "string" + }, + "aadTenantId": { + "description": "AAD tenant Id.", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "AAD service principal clientId.", + "type": "string" + }, + "servicePrincipalObjectId": { + "description": "AAD service principal ObjectId.", + "type": "string" + }, + "azureManagementEndpointAudience": { + "description": "Azure Management Endpoint Audience.", + "type": "string" + }, + "serviceResourceId": { + "description": "Service Resource Id.", + "type": "string" + }, + "aadAudience": { + "description": "AAD audience for the resource", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "ResourceCertificateAndAcsDetails": { + "description": "Certificate details representing the Vault credentials for ACS.", + "required": [ + "certificate", + "resourceId", + "globalAcsNamespace", + "globalAcsHostName", + "globalAcsRPRealm", + "subject", + "validFrom", + "validTo", + "thumbprint", + "friendlyName", + "issuer" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceCertificateDetails" + } + ], + "properties": { + "globalAcsNamespace": { + "description": "ACS namespace name - tenant for our service.", + "type": "string" + }, + "globalAcsHostName": { + "description": "Acs mgmt host name to connect to.", + "type": "string" + }, + "globalAcsRPRealm": { + "description": "Global ACS namespace RP realm.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AccessControlService" + }, + "ResourceCertificateDetails": { + "description": "Certificate details representing the Vault credentials.", + "required": [ + "authType" + ], + "type": "object", + "properties": { + "authType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + }, + "certificate": { + "format": "byte", + "description": "The base64 encoded certificate raw data string.", + "type": "string" + }, + "friendlyName": { + "description": "Certificate friendly name.", + "type": "string" + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string" + }, + "resourceId": { + "format": "int64", + "description": "Resource ID of the vault.", + "type": "integer" + }, + "subject": { + "description": "Certificate Subject Name.", + "type": "string" + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string" + }, + "validFrom": { + "format": "date-time", + "description": "Certificate Validity start Date time.", + "type": "string" + }, + "validTo": { + "format": "date-time", + "description": "Certificate Validity End Date time.", + "type": "string" + } + }, + "discriminator": "authType" + }, + "VaultCertificateResponse": { + "description": "Certificate corresponding to a vault that can be used by clients to register themselves with the vault.", + "type": "object", + "properties": { + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ResourceCertificateDetails" + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/replicationusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/replicationusages.json new file mode 100644 index 000000000000..df74f553e272 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/replicationusages.json @@ -0,0 +1,208 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-30-preview", + "title": "RecoveryServicesClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages": { + "get": { + "tags": [ + "ReplicationUsages" + ], + "description": "Fetches the replication usages of the vault.", + "operationId": "ReplicationUsages_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationUsageList" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets Replication usages of vault": { + "$ref": "./examples/ListReplicationUsages.json" + } + } + } + } + }, + "definitions": { + "JobsSummary": { + "description": "Summary of the replication job data for this vault.", + "type": "object", + "properties": { + "failedJobs": { + "description": "Count of failed jobs.", + "type": "integer" + }, + "suspendedJobs": { + "description": "Count of suspended jobs.", + "type": "integer" + }, + "inProgressJobs": { + "description": "Count of in-progress jobs.", + "type": "integer" + } + } + }, + "MonitoringSummary": { + "description": "Summary of the replication monitoring data for this vault.", + "type": "object", + "properties": { + "unHealthyVmCount": { + "description": "Count of unhealthy VMs.", + "type": "integer" + }, + "unHealthyProviderCount": { + "description": "Count of unhealthy replication providers.", + "type": "integer" + }, + "eventsCount": { + "description": "Count of all critical warnings.", + "type": "integer" + }, + "deprecatedProviderCount": { + "description": "Count of all deprecated recovery service providers.", + "type": "integer" + }, + "supportedProviderCount": { + "description": "Count of all the supported recovery service providers.", + "type": "integer" + }, + "unsupportedProviderCount": { + "description": "Count of all the unsupported recovery service providers.", + "type": "integer" + } + } + }, + "ReplicationUsage": { + "description": "Replication usages of a vault.", + "type": "object", + "properties": { + "monitoringSummary": { + "$ref": "#/definitions/MonitoringSummary", + "description": "Summary of the replication monitoring data for this vault." + }, + "jobsSummary": { + "$ref": "#/definitions/JobsSummary", + "description": "Summary of the replication jobs data for this vault." + }, + "protectedItemCount": { + "description": "Number of replication protected items for this vault.", + "type": "integer" + }, + "recoveryPlanCount": { + "description": "Number of replication recovery plans for this vault.", + "type": "integer" + }, + "registeredServersCount": { + "description": "Number of servers registered to this vault.", + "type": "integer" + }, + "recoveryServicesProviderAuthType": { + "description": "The authentication type of recovery service providers in the vault.", + "type": "integer" + } + } + }, + "ReplicationUsageList": { + "description": "Replication usages for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of replication usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationUsage" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaults.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaults.json new file mode 100644 index 000000000000..efd7d6b5cfd3 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaults.json @@ -0,0 +1,2316 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-30-preview", + "title": "RecoveryServicesClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources": { + "get": { + "tags": [ + "ListPrivateLinkResources" + ], + "summary": "Returns the list of private link resources that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List PrivateLinkResources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "GetPrivateLinkResources" + ], + "summary": "Returns a specified private link resource that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get PrivateLinkResource": { + "$ref": "./examples/GetPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "RecoveryServices" + ], + "summary": "API to check for resource name availability.\r\nA name is available if no other resource exists that has the same SubscriptionId, Resource Name and Type\r\nor if one or more such resources exist, each of these must be GC'd and their time of deletion be more than 24 Hours Ago", + "operationId": "RecoveryServices_CheckNameAvailability", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "location", + "in": "path", + "description": "Location of the resource", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Contains information about Resource type and Resource name", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Availability status of Resource Name when no resource with same name, type and subscription exists, nor has been deleted within last 24 hours": { + "$ref": "./examples/CheckNameAvailability_Available.json" + }, + "Availability status of Resource Name when resource with same name, type and subscription exists": { + "$ref": "./examples/CheckNameAvailability_NotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{location}/capabilities": { + "post": { + "tags": [ + "RecoveryServices" + ], + "summary": "API to get details about capabilities provided by Microsoft.RecoveryServices RP", + "operationId": "RecoveryServices_Capabilities", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "location", + "in": "path", + "description": "Location of the resource", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Contains information about Resource type and properties to get capabilities", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceCapabilities" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CapabilitiesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Capabilities for Microsoft.RecoveryServices/Vaults": { + "$ref": "./examples/Capabilities.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Fetches all the resources of the specified type in the subscription.", + "operationId": "Vaults_ListBySubscriptionId", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in SubscriptionId": { + "$ref": "./examples/ListBySubscriptionIds.json" + } + } + } + }, + "/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Retrieve a list of Vaults.", + "operationId": "Vaults_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in ResourceGroup": { + "$ref": "./examples/ListResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Get the Vault details.", + "operationId": "Vaults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get Recovery Services Resource": { + "$ref": "./examples/GETVault.json" + } + } + }, + "put": { + "tags": [ + "Vaults" + ], + "description": "Creates or updates a Recovery Services vault.", + "operationId": "Vaults_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "vault", + "in": "body", + "description": "Recovery Services Vault to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/Vault" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Create or Update Recovery Services vault": { + "$ref": "./examples/PUTVault.json" + }, + "Create or Update Vault with User Assigned Identity": { + "$ref": "./examples/PUTVault_WithUserAssignedIdentity.json" + }, + "Create or Update Vault with CustomerManagedKeys": { + "$ref": "./examples/PUTVault_WithCMK.json" + }, + "Create or Update Vault With Monitoring Setting": { + "$ref": "./examples/PUTVault_WithMonitoringSettings.json" + }, + "Create or Update Vault With Redundancy Setting": { + "$ref": "./examples/PUTVault_WithRedundancySettings.json" + }, + "Create or Update Vault performing critical operation With MUA": { + "$ref": "./examples/PUTVault_ResourceGuardEnabled.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Vaults" + ], + "description": "Deletes a vault.", + "operationId": "Vaults_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Delete Recovery Services Vault": { + "$ref": "./examples/DeleteVault.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Vaults" + ], + "description": "Updates the vault.", + "operationId": "Vaults_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "vault", + "in": "body", + "description": "Recovery Services Vault to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/PatchVault" + } + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Update Resource": { + "$ref": "./examples/PATCHVault.json" + }, + "Update Resource With User Assigned Identity": { + "$ref": "./examples/PATCHVault_WithUserAssignedIdentity.json" + }, + "Update Resource With CustomerManagedKeys": { + "$ref": "./examples/PATCHVault_WithCMK.json" + }, + "Update Resource With CustomerManagedKeys2": { + "$ref": "./examples/PatchVault_WithCMK2.json" + }, + "Update Resource With CustomerManagedKeys3": { + "$ref": "./examples/PATCHVault_WithCMK3.json" + }, + "Update Vault With Monitoring Setting": { + "$ref": "./examples/PATCHVault_WithMonitoringSettings.json" + }, + "Update Vault With Redundancy Setting": { + "$ref": "./examples/PATCHVault_WithRedundancySettings.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo": { + "get": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Get the vault extended info.", + "operationId": "VaultExtendedInfo_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get ExtendedInfo of Resource": { + "$ref": "./examples/GETVaultExtendedInfo.json" + } + } + }, + "put": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Create vault extended info.", + "operationId": "VaultExtendedInfo_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceResourceExtendedInfoDetails", + "in": "body", + "description": "Details of ResourceExtendedInfo", + "required": true, + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Put ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } + }, + "patch": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Update vault extended info.", + "operationId": "VaultExtendedInfo_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceResourceExtendedInfoDetails", + "in": "body", + "description": "Details of ResourceExtendedInfo", + "required": true, + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "PATCH ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationStatus/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation status for a resource.", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status": { + "$ref": "./examples/GetOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationResults/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation result for a resource.", + "operationId": "GetOperationResult", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Result": { + "$ref": "./examples/GetOperationResult.json" + } + } + } + } + }, + "definitions": { + "AzureMonitorAlertSettings": { + "description": "Settings for Azure Monitor based alerts", + "type": "object", + "properties": { + "alertsForAllJobFailures": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AlertsState", + "modelAsString": true + } + }, + "alertsForAllReplicationIssues": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AlertsState", + "modelAsString": true + } + }, + "alertsForAllFailoverIssues": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AlertsState", + "modelAsString": true + } + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Resource Name availability input parameters - Resource type and resource name", + "type": "object", + "properties": { + "type": { + "description": "Describes the Resource type: Microsoft.RecoveryServices/Vaults", + "type": "string" + }, + "name": { + "description": "Resource name for which availability needs to be checked", + "type": "string" + } + } + }, + "CheckNameAvailabilityResult": { + "description": "Response for check name availability API. Resource provider will set availability as true | false.", + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ResourceCapabilitiesBase": { + "description": "Base class for request and response capabilities information for Microsoft.RecoveryServices", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Describes the Resource type: Microsoft.RecoveryServices/Vaults", + "type": "string" + } + } + }, + "ResourceCapabilities": { + "allOf": [ + { + "$ref": "#/definitions/ResourceCapabilitiesBase" + } + ], + "description": "Input to get capabilities information for Microsoft.RecoveryServices", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CapabilitiesProperties" + } + } + }, + "CapabilitiesResponse": { + "allOf": [ + { + "$ref": "#/definitions/ResourceCapabilitiesBase" + } + ], + "description": "Capabilities response for Microsoft.RecoveryServices", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CapabilitiesResponseProperties" + } + } + }, + "CapabilitiesProperties": { + "description": "Capabilities information", + "type": "object", + "properties": { + "dnsZones": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/DNSZone" + }, + "x-ms-identifiers": [] + } + } + }, + "CapabilitiesResponseProperties": { + "description": "Capabilities properties in response", + "type": "object", + "properties": { + "dnsZones": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/DNSZoneResponse" + }, + "x-ms-identifiers": [] + } + } + }, + "DNSZone": { + "description": "DNSZone information", + "type": "object", + "properties": { + "subResource": { + "description": "Subresource type for vault AzureBackup, AzureBackup_secondary or AzureSiteRecovery", + "enum": [ + "AzureBackup", + "AzureBackup_secondary", + "AzureSiteRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "VaultSubResourceType", + "modelAsString": true + } + } + } + }, + "DNSZoneResponse": { + "allOf": [ + { + "$ref": "#/definitions/DNSZone" + } + ], + "type": "object", + "description": "DNSZone information for Microsoft.RecoveryServices", + "properties": { + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone names.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ClassicAlertSettings": { + "description": "Settings for classic alerts", + "type": "object", + "properties": { + "alertsForCriticalOperations": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AlertsState", + "modelAsString": true + } + }, + "emailNotificationsForSiteRecovery": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AlertsState", + "modelAsString": true + } + } + } + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "Blobs created in customer storage account per hour", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + } + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + } + }, + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, + "CrossSubscriptionRestoreSettings": { + "description": "Settings for Cross Subscription Restore Settings", + "type": "object", + "properties": { + "crossSubscriptionRestoreState": { + "enum": [ + "Enabled", + "Disabled", + "PermanentlyDisabled" + ], + "type": "string", + "x-ms-enum": { + "name": "crossSubscriptionRestoreState", + "modelAsString": true + } + } + } + }, + "RestoreSettings": { + "description": "Restore Settings of the vault", + "type": "object", + "properties": { + "crossSubscriptionRestoreSettings": { + "description": "Settings for CrossSubscriptionRestore", + "$ref": "#/definitions/CrossSubscriptionRestoreSettings" + } + } + }, + "ImmutabilitySettings": { + "description": "Immutability Settings of vault", + "type": "object", + "properties": { + "state": { + "enum": [ + "Disabled", + "Unlocked", + "Locked" + ], + "type": "string", + "x-ms-enum": { + "name": "ImmutabilityState", + "modelAsString": true + } + } + } + }, + "SoftDeleteSettings": { + "description": "Soft delete Settings of vault", + "type": "object", + "properties": { + "softDeleteState": { + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" + ], + "type": "string", + "x-ms-enum": { + "name": "SoftDeleteState", + "modelAsString": true + } + }, + "softDeleteRetentionPeriodInDays": { + "format": "int32", + "description": "Soft delete retention period in days", + "type": "integer" + }, + "enhancedSecurityState": { + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" + ], + "type": "string", + "x-ms-enum": { + "name": "EnhancedSecurityState", + "modelAsString": true + } + } + } + }, + "MultiUserAuthorization": { + "description": "MUA Settings of vault", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MultiUserAuthorization", + "modelAsString": true + } + }, + "MonitoringSettings": { + "description": "Monitoring Settings of the vault", + "type": "object", + "properties": { + "azureMonitorAlertSettings": { + "description": "Settings for Azure Monitor based alerts", + "$ref": "#/definitions/AzureMonitorAlertSettings" + }, + "classicAlertSettings": { + "description": "Settings for classic alerts", + "$ref": "#/definitions/ClassicAlertSettings" + } + } + }, + "Resource": { + "description": "ARM Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "SecuritySettings": { + "description": "Security Settings of the vault", + "type": "object", + "properties": { + "immutabilitySettings": { + "description": "Immutability Settings of a vault", + "$ref": "#/definitions/ImmutabilitySettings" + }, + "softDeleteSettings": { + "description": "Soft delete Settings of a vault", + "$ref": "#/definitions/SoftDeleteSettings" + }, + "multiUserAuthorization": { + "description": "MUA Settings of a vault", + "$ref": "#/definitions/MultiUserAuthorization" + } + } + }, + "Sku": { + "description": "Identifies the unique system identifier for each Azure resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig", + "enum": [ + "Standard", + "RS0" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The Sku tier.", + "type": "string" + }, + "family": { + "description": "The sku family", + "type": "string" + }, + "size": { + "description": "The sku size", + "type": "string" + }, + "capacity": { + "description": "The sku capacity", + "type": "string" + } + } + }, + "TrackedResource": { + "description": "Tracked resource with location.", + "type": "object", + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PatchTrackedResource": { + "description": "Tracked resource with location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "UpgradeDetails": { + "description": "Details for upgrading vault.", + "type": "object", + "properties": { + "operationId": { + "description": "ID of the vault upgrade operation.", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "description": "UTC time at which the upgrade operation has started.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "lastUpdatedTimeUtc": { + "description": "UTC time at which the upgrade operation status was last updated.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "endTimeUtc": { + "description": "UTC time at which the upgrade operation has ended.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "status": { + "description": "Status of the vault upgrade operation.", + "enum": [ + "Unknown", + "InProgress", + "Upgraded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultUpgradeState", + "modelAsString": true + } + }, + "message": { + "description": "Message to the user containing information about the upgrade operation.", + "type": "string", + "readOnly": true + }, + "triggerType": { + "description": "The way the vault upgrade was triggered.", + "enum": [ + "UserTriggered", + "ForcedUpgrade" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TriggerType", + "modelAsString": true + } + }, + "upgradedResourceId": { + "description": "Resource ID of the upgraded vault.", + "type": "string", + "readOnly": true + }, + "previousResourceId": { + "description": "Resource ID of the vault before the upgrade.", + "type": "string", + "readOnly": true + } + } + }, + "Vault": { + "description": "Resource information, as returned by the resource provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/IdentityData" + }, + "properties": { + "$ref": "#/definitions/VaultProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "systemData": { + "$ref": "#/definitions/systemData" + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "PatchVault": { + "description": "Patch Resource information, as returned by the resource provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PatchTrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "identity": { + "$ref": "#/definitions/IdentityData" + } + } + }, + "VaultExtendedInfo": { + "description": "Vault extended information.", + "type": "object", + "properties": { + "integrityKey": { + "description": "Integrity key.", + "type": "string" + }, + "encryptionKey": { + "description": "Encryption key.", + "type": "string" + }, + "encryptionKeyThumbprint": { + "description": "Encryption key thumbprint.", + "type": "string" + }, + "algorithm": { + "description": "Algorithm for Vault ExtendedInfo", + "type": "string" + } + } + }, + "VaultExtendedInfoResource": { + "description": "Vault extended information.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultExtendedInfo", + "x-ms-client-flatten": true + } + } + }, + "VaultList": { + "description": "The response model for a list of Vaults.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Vault" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "VaultProperties": { + "description": "Properties of the vault.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning State.", + "type": "string", + "readOnly": true + }, + "upgradeDetails": { + "$ref": "#/definitions/UpgradeDetails" + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionVaultProperties" + }, + "description": "List of private endpoint connection.", + "readOnly": true + }, + "privateEndpointStateForBackup": { + "description": "Private endpoint state for backup.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "privateEndpointStateForSiteRecovery": { + "description": "Private endpoint state for site recovery.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "encryption": { + "description": "Customer Managed Key details of the resource.", + "type": "object", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/CmkKeyVaultProperties" + }, + "kekIdentity": { + "$ref": "#/definitions/CmkKekIdentity" + }, + "infrastructureEncryption": { + "description": "Enabling/Disabling the Double Encryption state", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "moveDetails": { + "description": "The details of the latest move operation performed on the Azure Resource", + "type": "object", + "properties": { + "operationId": { + "description": "OperationId of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "description": "Start Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "completionTimeUtc": { + "description": "End Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "sourceResourceId": { + "description": "Source Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "targetResourceId": { + "description": "Target Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + } + } + }, + "moveState": { + "description": "The State of the Resource after the move operation", + "type": "string", + "readOnly": true, + "enum": [ + "Unknown", + "InProgress", + "PrepareFailed", + "CommitFailed", + "PrepareTimedout", + "CommitTimedout", + "MoveSucceeded", + "Failure", + "CriticalFailure", + "PartialSuccess" + ], + "x-ms-enum": { + "name": "ResourceMoveState", + "modelAsString": true + } + }, + "backupStorageVersion": { + "description": "Backup storage version", + "enum": [ + "V1", + "V2", + "Unassigned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageVersion", + "modelAsString": true + } + }, + "publicNetworkAccess": { + "description": "property to enable or disable resource provider inbound network traffic from public clients", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "monitoringSettings": { + "description": "Monitoring Settings of the vault", + "$ref": "#/definitions/MonitoringSettings" + }, + "restoreSettings": { + "description": "Restore Settings of the vault", + "$ref": "#/definitions/RestoreSettings" + }, + "redundancySettings": { + "description": "The redundancy Settings of a Vault", + "type": "object", + "properties": { + "standardTierStorageRedundancy": { + "description": "The storage redundancy setting of a vault", + "enum": [ + "Invalid", + "LocallyRedundant", + "GeoRedundant", + "ZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "standardTierStorageRedundancy", + "modelAsString": true + } + }, + "crossRegionRestore": { + "description": "Flag to show if Cross Region Restore is enabled on the Vault or not", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "crossRegionRestore", + "modelAsString": true + } + } + } + }, + "securitySettings": { + "description": "Security Settings of the vault", + "$ref": "#/definitions/SecuritySettings" + }, + "secureScore": { + "description": "Secure Score of Recovery Services Vault", + "type": "string", + "enum": [ + "None", + "Minimum", + "Adequate", + "Maximum" + ], + "readOnly": true, + "x-ms-enum": { + "name": "SecureScoreLevel", + "modelAsString": true + } + }, + "bcdrSecurityLevel": { + "description": "Security levels of Recovery Services Vault for business continuity and disaster recovery", + "type": "string", + "enum": [ + "Poor", + "Fair", + "Good", + "Excellent" + ], + "readOnly": true, + "x-ms-enum": { + "name": "BCDRSecurityLevel", + "modelAsString": true + } + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuardOperationRequests on which LAC check will be performed", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "IdentityData": { + "required": [ + "type" + ], + "type": "object", + "description": "Identity for the resource.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.", + "enum": [ + "SystemAssigned", + "None", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + } + } + } + }, + "UserIdentity": { + "type": "object", + "description": "A resource identity that is managed by the user of the service.", + "properties": { + "principalId": { + "description": "The principal ID of the user-assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the user-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnectionVaultProperties": { + "description": "Information to be stored in Vault properties as an element of privateEndpointConnections List.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Format of id subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "name": { + "description": "The name of the private Endpoint Connection", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type, which will be of the format, Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the private Endpoint connection", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties.", + "readOnly": true, + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection.", + "readOnly": true, + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + "groupIds": { + "description": "Group Ids for the Private Endpoint", + "type": "array", + "items": { + "description": "GroupId for the PrivateEndpointConnection - AzureBackup, AzureBackup_secondary or AzureSiteRecovery", + "enum": [ + "AzureBackup", + "AzureBackup_secondary", + "AzureSiteRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "VaultSubResourceType", + "modelAsString": true + } + } + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Gets or sets private link service connection state.", + "readOnly": true, + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status.", + "readOnly": true, + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description.", + "readOnly": true, + "type": "string" + }, + "actionsRequired": { + "description": "Gets or sets actions required.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResources": { + "description": "Class which represent the stamps associated with the vault.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "readOnly": true, + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "e.g. Microsoft.RecoveryServices/vaults/privateLinkResources", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "type": "object", + "description": "Properties of the private link resource.", + "properties": { + "groupId": { + "description": "e.g. f9ad6492-33d4-4690-9999-6bfd52a0d081 (Backup) or f9ad6492-33d4-4690-9999-6bfd52a0d082 (SiteRecovery)", + "readOnly": true, + "type": "string" + }, + "requiredMembers": { + "description": "[backup-ecs1, backup-prot1, backup-prot1b, backup-prot1c, backup-id1]", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CmkKeyVaultProperties": { + "type": "object", + "description": "The properties of the Key Vault which hosts CMK", + "properties": { + "keyUri": { + "description": "The key uri of the Customer Managed Key", + "type": "string" + } + } + }, + "CmkKekIdentity": { + "type": "object", + "description": "The details of the identity used for CMK", + "properties": { + "useSystemAssignedIdentity": { + "type": "boolean", + "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned" + } + } + }, + "OperationResource": { + "type": "object", + "description": "Operation Resource", + "properties": { + "endTime": { + "description": "End time of the operation", + "format": "date-time", + "type": "string" + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines." + }, + "id": { + "description": "It should match what is used to GET the operation result", + "type": "string" + }, + "name": { + "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value", + "type": "string" + }, + "status": { + "description": "The status of the operation. (InProgress/Success/Failed/Cancelled)", + "type": "string" + }, + "startTime": { + "description": "Start time of the operation", + "format": "date-time", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from Azure Backup.", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + }, + "title": "CloudError", + "x-ms-external": true + }, + "Error": { + "description": "The resource management error response.", + "properties": { + "additionalInfo": { + "description": "The error additional info.", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "type": "array" + }, + "code": { + "description": "The error code.", + "readOnly": true, + "type": "string" + }, + "details": { + "description": "The error details.", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true, + "type": "array" + }, + "message": { + "description": "The error message.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "The error target.", + "readOnly": true, + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "The resource management error additional info.", + "properties": { + "info": { + "description": "The additional info.", + "readOnly": true, + "type": "object" + }, + "type": { + "description": "The additional info type.", + "readOnly": true, + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaultusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaultusages.json new file mode 100644 index 000000000000..b778229b668b --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2024-04-30-preview/vaultusages.json @@ -0,0 +1,189 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-30-preview", + "title": "RecoveryServicesClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages": { + "get": { + "tags": [ + "VaultUsages" + ], + "description": "Fetches the usages of the vault.", + "operationId": "Usages_ListByVaults", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultUsageList" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets vault usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + } + }, + "definitions": { + "VaultUsage": { + "description": "Usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "VaultUsageList": { + "description": "Usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultUsage" + } + } + } + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/readme.md b/specification/recoveryservices/resource-manager/readme.md index a061741b9bcb..bad66beed6ea 100644 --- a/specification/recoveryservices/resource-manager/readme.md +++ b/specification/recoveryservices/resource-manager/readme.md @@ -43,6 +43,18 @@ message-format: json ``` +### Tag: package-preview-2024-04 + +These settings apply only when `--tag=package-preview-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-04' +input-file: + - Microsoft.RecoveryServices/preview/2024-04-30-preview/registeredidentities.json + - Microsoft.RecoveryServices/preview/2024-04-30-preview/replicationusages.json + - Microsoft.RecoveryServices/preview/2024-04-30-preview/vaults.json + - Microsoft.RecoveryServices/preview/2024-04-30-preview/vaultusages.json +``` + ### Tag: package-2024-04 These settings apply only when `--tag=package-2024-04` is specified on the command line. From a153f64c2da5d649e6047077e51de1109b9ae810 Mon Sep 17 00:00:00 2001 From: steve munk <33468793+stevemunk@users.noreply.github.com> Date: Thu, 9 May 2024 13:04:00 -0700 Subject: [PATCH 04/30] set `resultType` to required=true and resolution defaults to medium (#28969) * set to required=true and resolution defaults to medium (See TASK 27941576). * addressing feedback --- .../maps/data-plane/Search/stable/2023-06-01/search.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/maps/data-plane/Search/stable/2023-06-01/search.json b/specification/maps/data-plane/Search/stable/2023-06-01/search.json index 5514b7ad0ebe..b3597b7e8b2c 100644 --- a/specification/maps/data-plane/Search/stable/2023-06-01/search.json +++ b/specification/maps/data-plane/Search/stable/2023-06-01/search.json @@ -120,7 +120,7 @@ "BoundaryResultType": { "name": "resultType", "in": "query", - "description": "The geopolitical concept to return a boundary for.", + "description": "The geopolitical concept to return a boundary for. If not specified, the default is `countryRegion` result type.", "required": false, "type": "string", "default": "countryRegion", @@ -191,7 +191,7 @@ "Resolution": { "name": "resolution", "in": "query", - "description": "Resolution determines the amount of points to send back.", + "description": "Resolution determines the amount of points to send back. If not specified, the default is medium resolution.", "required": false, "type": "string", "default": "medium", From 68c8da604a93740f5f074046f9d8ffe23c5a2f41 Mon Sep 17 00:00:00 2001 From: wiboris <54044985+wiboris@users.noreply.github.com> Date: Thu, 9 May 2024 14:22:36 -0700 Subject: [PATCH 05/30] TypeSpec changes for CSharp (#29018) * changes for CSharp --- specification/batch/Azure.Batch/client.tsp | 25 +- specification/batch/Azure.Batch/common.tsp | 405 ++++++++++++++ specification/batch/Azure.Batch/main.tsp | 2 +- specification/batch/Azure.Batch/models.tsp | 14 +- specification/batch/Azure.Batch/routes.tsp | 527 +++--------------- .../batch/Azure.Batch/tspconfig.yaml | 2 +- .../preview/2024-02-01.19.0/BatchService.json | 102 ++-- 7 files changed, 562 insertions(+), 515 deletions(-) create mode 100644 specification/batch/Azure.Batch/common.tsp diff --git a/specification/batch/Azure.Batch/client.tsp b/specification/batch/Azure.Batch/client.tsp index 16ca55edcaa0..646d764ec8bd 100644 --- a/specification/batch/Azure.Batch/client.tsp +++ b/specification/batch/Azure.Batch/client.tsp @@ -4,19 +4,26 @@ import "./main.tsp"; using Azure.ClientGenerator.Core; // operation overrides -@@access(Azure.Batch.BatchOps.ListOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.ReadOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.DeleteOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.CreateOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.UpdateOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.ReplaceOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.PostOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.ResourceInfoOperation, Access.internal, "java"); -@@access(Azure.Batch.BatchOps.ResourceInfoOperationWithAdditionalResponse, +@@access(Azure.Batch.ListOperation, Access.internal, "java"); +@@access(Azure.Batch.ReadOperation, Access.internal, "java"); +@@access(Azure.Batch.DeleteOperation, Access.internal, "java"); +@@access(Azure.Batch.CreateOperation, Access.internal, "java"); +@@access(Azure.Batch.UpdateOperation, Access.internal, "java"); +@@access(Azure.Batch.ReplaceOperation, Access.internal, "java"); +@@access(Azure.Batch.PostOperation, Access.internal, "java"); +@@access(Azure.Batch.FileOperation, Access.internal, "java"); +@@access(Azure.Batch.HeadFileOperation, Access.internal, "java"); +@@access(Azure.Batch.ResourceInfoOperationWithAdditionalResponse, Access.internal, "java" ); +// Api overrides +@@access(Azure.Batch.Batch.poolExists, Access.internal, "csharp"); +@@access(Azure.Batch.Batch.jobScheduleExists, Access.internal, "csharp"); +@@access(Azure.Batch.Batch.getTaskFileProperties, Access.internal, "csharp"); +@@access(Azure.Batch.Batch.getNodeFileProperties, Access.internal, "csharp"); + // model overrides @@access(Azure.Batch.BatchApplicationListResult, Access.public, "java"); @@access(Azure.Batch.BatchApplication, Access.public, "java"); diff --git a/specification/batch/Azure.Batch/common.tsp b/specification/batch/Azure.Batch/common.tsp new file mode 100644 index 000000000000..a0d24afac769 --- /dev/null +++ b/specification/batch/Azure.Batch/common.tsp @@ -0,0 +1,405 @@ +import "@typespec/versioning"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-client-generator-core"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using TypeSpec.Versioning; +using Azure.Core; +using Azure.Core.Traits; +using Azure.ClientGenerator.Core; + +namespace Azure.Batch; + +// Batch operation definitions +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@get +op ListOperation is Azure.Core.RpcOperation< + BatchCommonListHeaders & TFilter, + BatchResponseHeaders & TResponse, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@get +op ReadOperation< + TPathParams extends TypeSpec.Reflection.Model, + TResource +> is Azure.Core.RpcOperation< + BatchClientRequestHeaders & TPathParams, + TResource & BatchResponseHeaders, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@get +op FileOperation< + TPathParams extends TypeSpec.Reflection.Model, + TResource +> is Azure.Core.RpcOperation< + BatchClientRequestHeaders & TPathParams, + TResource & FileResponseHeaders, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@head +op HeadFileOperation< + TPathParams extends TypeSpec.Reflection.Model, + TResource +> is Azure.Core.RpcOperation< + BatchClientRequestHeaders & TPathParams, + TResource & FileResponseHeaders, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@delete +op DeleteOperation< + TFilter, + TResponse extends TypeSpec.Reflection.Model +> is Azure.Core.RpcOperation< + BatchClientRequestHeaders & TFilter, + TResponse, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@post +op CreateOperation is RpcOperation< + BatchClientRequestHeaders & MinimalMetadata & TResource, + Created & BatchResponseHeaders, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@patch +op UpdateOperation is RpcOperation< + BatchClientRequestHeaders & MinimalMetadata & TResource, + TResponse & BatchResponseHeaders, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@put +op ReplaceOperation is RpcOperation< + BatchClientRequestHeaders & MinimalMetadata & TResource, + TResponse & BatchResponseHeaders, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-error-status-codes" "Azure REST API guidelines recommend using 'default' error response for all error cases. Avoid defining custom 4xx or 5xx error cases." +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@doc("New rpc operation allowing multiple repsonses") +@Foundations.Private.needsRoute +@head +op ResourceInfoOperationWithAdditionalResponse< + TParams extends TypeSpec.Reflection.Model, + TResponse extends TypeSpec.Reflection.Model, + TAdditionalResponse extends {} = {} +> is Foundations.Operation< + TParams, + TResponse | TAdditionalResponse, + NoFilter, + BatchError +>; + +#suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" +@post +op PostOperation is RpcOperation< + BatchClientRequestHeaders & TResource, + TResponse & BatchResponseHeaders, + NoFilter, + BatchError +>; + +// Templates +alias NoFilter = {}; +alias MinimalMetadata = { + @doc("Type of content") + @header("content-type") + contentType: "application/json; odata=minimalmetadata"; +}; + +alias Created = { + @doc("A process exit code.") + @statusCode + code: "201"; + + @header("DataServiceId") + @doc("The OData ID of the resource to which the request applied.") + dataServiceId: string; + + ...T; +}; + +// headers //////////////////// + +alias AcceptedProcessingResponseHeaders = { + @doc("A process exit code.") + @statusCode + code: "202"; + + ...DataServiceResponseHeaders; +}; + +alias NoContentSuccessResponseHeaders = { + @doc("A process exit code.") + @statusCode + code: "204"; + + ...DataServiceResponseHeaders; +}; + +alias RequestSuccessResponseHeaders = { + @doc("A process exit code.") + @statusCode + code: "200"; + + ...DataServiceResponseHeaders; +}; + +alias DataServiceResponseHeaders = { + @header("DataServiceId") + @doc("The OData ID of the resource to which the request applied.") + dataServiceId: string; +}; + +alias FileResponseHeaders = { + @doc("A process exit code.") + @statusCode + code: "200"; + + @header("Content-Length") + @doc("The length of the file.") + contentLength: int64; + + ...BatchEtagResponseHeaders; + + @doc("The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.") + @header("client-request-id") + clientRequestId?: string; + + @header("ocp-batch-file-isdirectory") + @doc("Whether the object represents a directory.") + ocpbatchfileisdirectory: boolean; + + @header("ocp-batch-file-mode") + @doc("The file mode attribute in octal format.") + ocpbatchfilemode: string; + + @header("ocp-batch-file-url") + @doc("The URL of the file.") + ocpbatchfileurl: string; + + @header("ocp-creation-time") + @doc("The file creation time.") + @encode(DateTimeKnownEncoding.rfc7231) + ocpcreationtime?: utcDateTime; + + @doc("A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.") + @header("request-id") + requestid?: string; +}; + +alias BatchPoolHeaders = { + ...BatchMatchHeaders; + + @doc("The ID of the Pool to get.") + @path + poolId: string; +}; + +alias BatchMatchHeaders = { + ...BatchModifiedSinceHeaders; + + @doc(""" + An ETag value associated with the version of the resource known to the client. + The operation will be performed only if the resource's current ETag on the + service exactly matches the value specified by the client. + """) + @header("If-Match") + @clientName("if__match", "python") + ifMatch?: string; + + @doc(""" + An ETag value associated with the version of the resource known to the client. + The operation will be performed only if the resource's current ETag on the + service does not match the value specified by the client. + """) + @header("If-None-Match") + @clientName("if_none_match", "python") + ifNoneMatch?: string; +}; + +alias BatchModifiedSinceHeaders = { + @doc(""" + A timestamp indicating the last modified time of the resource known to the + client. The operation will be performed only if the resource on the service has + been modified since the specified time. + """) + @header("If-Modified-Since") + @encode(DateTimeKnownEncoding.rfc7231) + @clientName("if_modified_since", "python") + ifModifiedSince?: utcDateTime; + + @doc(""" + A timestamp indicating the last modified time of the resource known to the + client. The operation will be performed only if the resource on the service has + not been modified since the specified time. + """) + @header("If-Unmodified-Since") + @encode(DateTimeKnownEncoding.rfc7231) + @clientName("if_unmodified_since", "python") + ifUnmodifiedSince?: utcDateTime; +}; + +// This is the standard set of headers that most of batch apis return +alias BatchResponseHeaders = BatchEtagResponseHeaders & + BatchClientResponseHeaders; + +alias BatchEtagResponseHeaders = { + @doc("The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.") + @header("ETag") + @clientName("etag", "python") + etag?: string; + + @doc("The time at which the resource was last modified.") + @header("Last-Modified") + @encode(DateTimeKnownEncoding.rfc7231) + lastmodified?: utcDateTime; +}; + +alias BatchClientResponseHeaders = { + @doc("The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.") + @header("client-request-id") + clientRequestId?: string; + + @doc("A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.") + @header("request-id") + requestid?: string; +}; + +alias PoolDoesExistResponseHeaders = { + ...BatchResponseHeaders; + + @doc("A process exit code.") + @statusCode + code: "200"; +}; + +alias PoolDoesNotExistResponseHeaders = { + @doc("A process exit code.") + @statusCode + code: "404"; +}; + +alias JobScheduleDoesExistResponseHeaders = { + ...BatchResponseHeaders; + + @doc("A response containing headers related to the Job Schedule, if it exists.") + @statusCode + code: "200"; +}; + +alias JobScheduleDoesNotExistResponseHeaders = { + @doc("The Job Schedule does not exist.") + @statusCode + code: "404"; +}; + +alias DeleteResponseHeaders = { + @doc("A process exit code.") + @statusCode + code: "202"; + + @doc("The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.") + @header("client-request-id") + clientRequestId?: string; + + @doc("A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.") + @header("request-id") + requestid?: string; +}; + +alias BatchCommonListHeaders = { + ...BatchClientRequestHeaders; + + @doc(""" + The maximum number of items to return in the response. A maximum of 1000 + applications can be returned. + """) + @query + @minValue(1) + @maxValue(1000) + @clientName("maxPageSize", "java") + maxresults?: int32 = 1000; +}; + +alias BatchNodeFileClientPathContent = { + @doc("The ID of the Pool that contains the Compute Node.") + @path + poolId: string; + + @doc("The ID of the Compute Node.") + @path + nodeId: string; + + @doc("The path to the file or directory.") + @path + filePath: string; +}; + +alias BatchTaskFileClientPathContent = { + @doc("The ID of the Job that contains the Task.") + @path + jobId: string; + + @doc("The ID of the Task whose file you want to retrieve.") + @path + taskId: string; + + @doc("The path to the Task file that you want to get the content of.") + @path + filePath: string; +}; + +alias BatchClientRequestHeaders = { + @doc(""" + The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.". + """) + @query + @clientName("timeOutInSeconds") + timeOut?: int32 = 30; + + @doc(""" + The caller-generated request identity, in the form of a GUID with no decoration + such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. + """) + @header("client-request-id") + clientRequestId?: string; + + @doc("Whether the server should return the client-request-id in the response.") + @header("return-client-request-id") + returnClientRequestId?: boolean = false; + + @doc(""" + The time the request was issued. Client libraries typically set this to the + current system clock time; set it explicitly if you are calling the REST API + directly. + """) + @header("ocp-date") + @encode(DateTimeKnownEncoding.rfc7231) + ocpdate?: utcDateTime; +}; diff --git a/specification/batch/Azure.Batch/main.tsp b/specification/batch/Azure.Batch/main.tsp index b46ce19b1dd3..e61b87a7f3aa 100644 --- a/specification/batch/Azure.Batch/main.tsp +++ b/specification/batch/Azure.Batch/main.tsp @@ -33,5 +33,5 @@ namespace Azure.Batch; enum Versions { @doc("API Version 2024-02-01.19.0") @useDependency(Azure.Core.Versions.v1_0_Preview_2) - `2024-02-01.19.0`, + v2024_02_01: "2024-02-01.19.0", } diff --git a/specification/batch/Azure.Batch/models.tsp b/specification/batch/Azure.Batch/models.tsp index fc0b941a9cf8..3d1ec61ad43a 100644 --- a/specification/batch/Azure.Batch/models.tsp +++ b/specification/batch/Azure.Batch/models.tsp @@ -745,7 +745,7 @@ model BatchPoolUsageMetrics { model BatchAccountListSupportedImagesResult { @doc("The list of supported Virtual Machine Images.") @items - value?: ImageInfo[]; + value?: BatchSupportedImage[]; #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Property types must use camelCase" @doc("The URL to get the next set of results.") @@ -757,7 +757,7 @@ model BatchAccountListSupportedImagesResult { A reference to the Azure Virtual Machines Marketplace Image and additional information about the Image. """) -model ImageInfo { +model BatchSupportedImage { #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Property types must use camelCase" @doc("The ID of the Compute Node agent SKU which the Image supports.") @clientName("nodeAgentSkuId") @@ -1349,14 +1349,14 @@ model BatchTaskContainerSettings { imageName: string; @doc("The private registry which contains the container Image. This setting can be omitted if was already provided at Pool creation.") - registry?: ContainerRegistry; + registry?: ContainerRegistryReference; @doc("The location of the container Task working directory. The default is 'taskWorkingDirectory'.") workingDirectory?: ContainerWorkingDirectory; } @doc("A private container registry.") -model ContainerRegistry { +model ContainerRegistryReference { @doc("The user name to log into the registry server.") username?: string; @@ -1810,7 +1810,7 @@ model ContainerConfiguration { containerImageNames?: string[]; @doc("Additional private registries from which containers can be pulled. If any Images must be downloaded from a private registry which requires credentials, then those credentials must be provided here.") - containerRegistries?: ContainerRegistry[]; + containerRegistries?: ContainerRegistryReference[]; } @doc(""" @@ -1923,7 +1923,7 @@ model NetworkConfiguration { model BatchPoolEndpointConfiguration { @doc("A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally. The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.") @clientName("inboundNatPools") - inboundNATPools: InboundNATPool[]; + inboundNATPools: InboundNatPool[]; } #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Property types must use camelCase" @@ -1931,7 +1931,7 @@ model BatchPoolEndpointConfiguration { A inbound NAT Pool that can be used to address specific ports on Compute Nodes in a Batch Pool externally. """) -model InboundNATPool { +model InboundNatPool { @doc("The name of the endpoint. The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400.") name: string; diff --git a/specification/batch/Azure.Batch/routes.tsp b/specification/batch/Azure.Batch/routes.tsp index 7ca8fc711a75..803597d80403 100644 --- a/specification/batch/Azure.Batch/routes.tsp +++ b/specification/batch/Azure.Batch/routes.tsp @@ -4,6 +4,7 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-client-generator-core"; import "@typespec/rest"; import "./models.tsp"; +import "./common.tsp"; using TypeSpec.Http; using TypeSpec.Rest; @@ -14,124 +15,6 @@ using Azure.ClientGenerator.Core; namespace Azure.Batch; -// Templates - -@clientName("Ops") -interface BatchOps { - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @get - ListOperation is Azure.Core.RpcOperation< - BatchCommonListHeaders & TFilter, - BatchResponseHeaders & TResponse, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @get - ReadOperation< - TPathParams extends TypeSpec.Reflection.Model, - TResource - > is Azure.Core.RpcOperation< - BatchClientRequestHeaders & TPathParams, - BatchResponseHeaders & TResource, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @delete - DeleteOperation< - TFilter, - TResponse extends TypeSpec.Reflection.Model - > is Azure.Core.RpcOperation< - BatchClientRequestHeaders & TFilter, - TResponse, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @post - CreateOperation is RpcOperation< - BatchClientRequestHeaders & MinimalMetadata & TResource, - BatchResponseHeaders & Created, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @patch - UpdateOperation is RpcOperation< - BatchClientRequestHeaders & MinimalMetadata & TResource, - BatchResponseHeaders & TResponse, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @put - ReplaceOperation is RpcOperation< - BatchClientRequestHeaders & MinimalMetadata & TResource, - BatchResponseHeaders & TResponse, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @head - ResourceInfoOperation is RpcOperation< - BatchClientRequestHeaders & TResource, - BatchResponseHeaders & TResponse, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-error-status-codes" "Azure REST API guidelines recommend using 'default' error response for all error cases. Avoid defining custom 4xx or 5xx error cases." - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @doc("New rpc operation allowing multiple repsonses") - @Foundations.Private.needsRoute - @head - ResourceInfoOperationWithAdditionalResponse< - TParams extends TypeSpec.Reflection.Model, - TResponse extends TypeSpec.Reflection.Model, - TAdditionalResponse extends {} = {} - > is Foundations.Operation< - TParams, - TResponse | TAdditionalResponse, - NoFilter, - BatchError - >; - - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Legacy behavior" - @post - PostOperation is RpcOperation< - BatchClientRequestHeaders & TResource, - BatchResponseHeaders & TResponse, - NoFilter, - BatchError - >; -} - -alias NoFilter = {}; -alias MinimalMetadata = { - @doc("Type of content") - @header("content-type") - contentType: "application/json; odata=minimalmetadata"; -}; - -alias Created = { - @doc("A process exit code.") - @statusCode - code: "201"; - - @header("DataServiceId") - @doc("The OData ID of the resource to which the request applied.") - dataServiceId: string; - - ...T; -}; - // Interfaces //////////////////// #suppress "@azure-tools/typespec-azure-core/no-response-body" "The body of non-204 responses should not be empty." @@ -140,8 +23,11 @@ alias Created = { #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Model types must use camelCase" #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Operation 'Exists' should be defined using a signature from the Azure.Core namespace." #suppress "@azure-tools/typespec-azure-core/rpc-operation-request-body" "BatchOperation with '@get' cannot have a body." -@clientName("Batch") -interface BatchApi { +@client({ + name: "BatchClient", + service: Azure.Batch, +}) +interface Batch { @summary("Lists all of the applications available in the specified Account.") @doc(""" This operation returns only Applications and versions that are available for @@ -152,7 +38,7 @@ API. """) @route("/applications") @clientName("listApplicationsInternal", "java") - listApplications is BatchOps.ListOperation<{}, BatchApplicationListResult>; + listApplications is ListOperation<{}, BatchApplicationListResult>; @summary("Gets information about the specified Application.") @doc(""" @@ -164,7 +50,7 @@ API. """) @route("/applications/{applicationId}") @clientName("getApplicationInternal", "java") - getApplication is BatchOps.ReadOperation< + getApplication is ReadOperation< { @doc("The ID of the Application") @path @@ -187,7 +73,7 @@ last aggregation interval is returned. """) @route("/poolusagemetrics") @clientName("listPoolUsageMetricsInternal", "java") - listPoolUsageMetrics is BatchOps.ListOperation< + listPoolUsageMetrics is ListOperation< { @doc(""" The earliest time from which to include metrics. This must be at least two and @@ -225,7 +111,7 @@ to Microsoft Support engineers. """) @route("/pools") @clientName("createPoolInternal", "java") - createPool is BatchOps.CreateOperation< + createPool is CreateOperation< { @body @doc("The Pool to be created.") @@ -238,7 +124,7 @@ to Microsoft Support engineers. @doc("Lists all of the Pools in the specified Account.") @route("/pools") @clientName("listPoolsInternal", "java") - listPools is BatchOps.ListOperation< + listPools is ListOperation< { @doc(""" An OData $filter clause. For more information on constructing this filter, see @@ -282,15 +168,12 @@ error code PoolBeingDeleted. """) @route("/pools/{poolId}") @clientName("deletePoolInternal", "java") - deletePool is BatchOps.DeleteOperation< - BatchPoolHeaders, - DeleteResponseHeaders - >; + deletePool is DeleteOperation; @doc("Gets basic properties of a Pool.") @route("/pools/{poolId}") @clientName("poolExistsInternal", "java") - poolExists is BatchOps.ResourceInfoOperationWithAdditionalResponse< + poolExists is ResourceInfoOperationWithAdditionalResponse< BatchClientRequestHeaders & BatchPoolHeaders, PoolDoesNotExistResponseHeaders, PoolDoesExistResponseHeaders @@ -299,7 +182,7 @@ error code PoolBeingDeleted. @doc("Gets information about the specified Pool.") @route("/pools/{poolId}") @clientName("getPoolInternal", "java") - getPool is BatchOps.ReadOperation< + getPool is ReadOperation< BatchPoolHeaders & { @doc("An OData $select clause.") @query({ @@ -326,7 +209,7 @@ a StartTask element, then the Pool keeps the existing StartTask. """) @route("/pools/{poolId}") @clientName("updatePoolInternal", "java") - updatePool is BatchOps.UpdateOperation< + updatePool is UpdateOperation< BatchPoolHeaders & { @doc("The pool properties to update.") @body @@ -339,7 +222,7 @@ a StartTask element, then the Pool keeps the existing StartTask. @doc("Disables automatic scaling for a Pool.") @route("/pools/{poolId}/disableautoscale") @clientName("disablePoolAutoScaleInternal", "java") - disablePoolAutoScale is BatchOps.PostOperation< + disablePoolAutoScale is PostOperation< { @doc("The ID of the Pool on which to disable automatic scaling.") @path @@ -359,7 +242,7 @@ more than once every 30 seconds. """) @route("/pools/{poolId}/enableautoscale") @clientName("enablePoolAutoScaleInternal", "java") - enablePoolAutoScale is BatchOps.PostOperation< + enablePoolAutoScale is PostOperation< BatchPoolHeaders & MinimalMetadata & { @doc("The options to use for enabling automatic scaling.") @@ -377,7 +260,7 @@ scaling enabled in order to evaluate a formula. """) @route("/pools/{poolId}/evaluateautoscale") @clientName("evaluatePoolAutoScaleInternal", "java") - evaluatePoolAutoScale is BatchOps.PostOperation< + evaluatePoolAutoScale is PostOperation< MinimalMetadata & { @doc("The ID of the Pool on which to evaluate the automatic scaling formula.") @path @@ -402,7 +285,7 @@ Nodes, use the Pool remove Compute Nodes API instead. """) @route("/pools/{poolId}/resize") @clientName("resizePoolInternal", "java") - resizePool is BatchOps.PostOperation< + resizePool is PostOperation< BatchPoolHeaders & MinimalMetadata & { @doc("The options to use for resizing the pool.") @@ -424,7 +307,7 @@ be used to halt the initial sizing of the Pool when it is created. """) @route("/pools/{poolId}/stopresize") @clientName("stopPoolResizeInternal", "java") - stopPoolResize is BatchOps.PostOperation< + stopPoolResize is PostOperation< BatchPoolHeaders, AcceptedProcessingResponseHeaders >; @@ -437,7 +320,7 @@ with this request, then the Batch service will remove the existing StartTask. """) @route("/pools/{poolId}/updateproperties") @clientName("replacePoolPropertiesInternal", "java") - replacePoolProperties is BatchOps.PostOperation< + replacePoolProperties is PostOperation< MinimalMetadata & { @doc("The ID of the Pool to update.") @path @@ -458,7 +341,7 @@ Each request may remove up to 100 nodes. """) @route("/pools/{poolId}/removenodes") @clientName("removeNodesInternal", "java") - removeNodes is BatchOps.PostOperation< + removeNodes is PostOperation< BatchPoolHeaders & MinimalMetadata & { @doc("The options to use for removing the node.") @@ -472,7 +355,7 @@ Each request may remove up to 100 nodes. @doc("Lists all Virtual Machine Images supported by the Azure Batch service.") @route("/supportedimages") @clientName("listSupportedImagesInternal", "java") - listSupportedImages is BatchOps.ListOperation< + listSupportedImages is ListOperation< { @doc(""" An OData $filter clause. For more information on constructing this filter, see @@ -492,7 +375,7 @@ use a list query. """) @route("/nodecounts") @clientName("listPoolNodeCountsInternal", "java") - listPoolNodeCounts is BatchOps.ListOperation< + listPoolNodeCounts is ListOperation< { @doc(""" An OData $filter clause. For more information on constructing this filter, see @@ -518,7 +401,7 @@ that the Job is being deleted. """) @route("/jobs/{jobId}") @clientName("deleteJobInternal", "java") - deleteJob is BatchOps.DeleteOperation< + deleteJob is DeleteOperation< BatchMatchHeaders & { @doc("The ID of the Job to delete.") @path @@ -531,7 +414,7 @@ that the Job is being deleted. @doc("Gets information about the specified Job.") @route("/jobs/{jobId}") @clientName("getJobInternal", "java") - getJob is BatchOps.ReadOperation< + getJob is ReadOperation< BatchMatchHeaders & { @doc("The ID of the Job.") @path @@ -562,7 +445,7 @@ element, then the Job keeps the existing constraints. """) @route("/jobs/{jobId}") @clientName("updateJobInternal", "java") - updateJob is BatchOps.UpdateOperation< + updateJob is UpdateOperation< BatchMatchHeaders & { @doc("The ID of the Job whose properties you want to update.") @path @@ -583,7 +466,7 @@ with this request, then the Batch service will remove the existing constraints. """) @route("/jobs/{jobId}") @clientName("replaceJobInternal", "java") - replaceJob is BatchOps.ReplaceOperation< + replaceJob is ReplaceOperation< BatchMatchHeaders & { @doc("The ID of the Job whose properties you want to update.") @path @@ -609,7 +492,7 @@ the request fails with status code 409. """) @route("/jobs/{jobId}/disable") @clientName("disableJobInternal", "java") - disableJob is BatchOps.PostOperation< + disableJob is PostOperation< BatchMatchHeaders & MinimalMetadata & { @doc("The ID of the Job to disable.") @@ -634,7 +517,7 @@ than 180 days ago, those Tasks will not run. """) @route("/jobs/{jobId}/enable") @clientName("enableJobInternal", "java") - enableJob is BatchOps.PostOperation< + enableJob is PostOperation< BatchMatchHeaders & { @doc("The ID of the Job to enable.") @path @@ -654,7 +537,7 @@ Tasks cannot be added and any remaining active Tasks will not be scheduled. """) @route("/jobs/{jobId}/terminate") @clientName("terminateJobInternal", "java") - terminateJob is BatchOps.PostOperation< + terminateJob is PostOperation< BatchMatchHeaders & MinimalMetadata & { @doc("The ID of the Job to terminate.") @@ -682,7 +565,7 @@ engineers. """) @route("/jobs") @clientName("createJobInternal", "java") - createJob is BatchOps.CreateOperation< + createJob is CreateOperation< { @doc("The Job to be created.") @body @@ -695,7 +578,7 @@ engineers. @doc("Lists all of the Jobs in the specified Account.") @route("/jobs") @clientName("listJobsInternal", "java") - listJobs is BatchOps.ListOperation< + listJobs is ListOperation< { @doc(""" An OData $filter clause. For more information on constructing this filter, see @@ -726,7 +609,7 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li @doc("Lists the Jobs that have been created under the specified Job Schedule.") @route("/jobschedules/{jobScheduleId}/jobs") @clientName("listJobsFromScheduleInternal", "java") - listJobsFromSchedule is BatchOps.ListOperation< + listJobsFromSchedule is ListOperation< { @doc("The ID of the Job Schedule from which you want to get a list of Jobs.") @path @@ -771,7 +654,7 @@ JobPreparationTaskNotSpecified. """) @route("/jobs/{jobId}/jobpreparationandreleasetaskstatus") @clientName("listJobPreparationAndReleaseTaskStatusInternal", "java") - listJobPreparationAndReleaseTaskStatus is BatchOps.ListOperation< + listJobPreparationAndReleaseTaskStatus is ListOperation< { @doc("The ID of the Job.") @path @@ -804,7 +687,7 @@ up to date. If you need exact task counts, use a list query. """) @route("/jobs/{jobId}/taskcounts") @clientName("getJobTaskCountsInternal", "java") - getJobTaskCounts is BatchOps.ReadOperation< + getJobTaskCounts is ReadOperation< { @doc("The ID of the Job.") @path @@ -817,7 +700,7 @@ up to date. If you need exact task counts, use a list query. @doc("Checks the specified Job Schedule exists.") @route("/jobschedules/{jobScheduleId}") @clientName("jobScheduleExistsInternal", "java") - jobScheduleExists is BatchOps.ResourceInfoOperationWithAdditionalResponse< + jobScheduleExists is ResourceInfoOperationWithAdditionalResponse< BatchClientRequestHeaders & BatchMatchHeaders & { @doc("The ID of the Job Schedule which you want to check.") @@ -838,7 +721,7 @@ though they are still counted towards Account lifetime statistics. """) @route("/jobschedules/{jobScheduleId}") @clientName("deleteJobScheduleInternal", "java") - deleteJobSchedule is BatchOps.DeleteOperation< + deleteJobSchedule is DeleteOperation< BatchMatchHeaders & { @doc("The ID of the Job Schedule to delete.") @path @@ -850,7 +733,7 @@ though they are still counted towards Account lifetime statistics. @doc("Gets information about the specified Job Schedule.") @route("/jobschedules/{jobScheduleId}") @clientName("getJobScheduleInternal", "java") - getJobSchedule is BatchOps.ReadOperation< + getJobSchedule is ReadOperation< BatchMatchHeaders & { @doc("The ID of the Job Schedule to get.") @path @@ -883,7 +766,7 @@ running Jobs are unaffected. """) @route("/jobschedules/{jobScheduleId}") @clientName("updateJobScheduleInternal", "java") - updateJobSchedule is BatchOps.UpdateOperation< + updateJobSchedule is UpdateOperation< BatchMatchHeaders & { @doc("The ID of the Job Schedule to update.") @path @@ -906,7 +789,7 @@ running Jobs are unaffected. """) @route("/jobschedules/{jobScheduleId}") @clientName("replaceJobScheduleInternal", "java") - replaceJobSchedule is BatchOps.ReplaceOperation< + replaceJobSchedule is ReplaceOperation< BatchMatchHeaders & { @doc("The ID of the Job Schedule to update.") @path @@ -923,7 +806,7 @@ running Jobs are unaffected. @doc("No new Jobs will be created until the Job Schedule is enabled again.") @route("/jobschedules/{jobScheduleId}/disable") @clientName("disableJobScheduleInternal", "java") - disableJobSchedule is BatchOps.PostOperation< + disableJobSchedule is PostOperation< BatchMatchHeaders & { @doc("The ID of the Job Schedule to disable.") @path @@ -936,7 +819,7 @@ running Jobs are unaffected. @doc("Enables a Job Schedule.") @route("/jobschedules/{jobScheduleId}/enable") @clientName("enableJobScheduleInternal", "java") - enableJobSchedule is BatchOps.PostOperation< + enableJobSchedule is PostOperation< BatchMatchHeaders & { @doc("The ID of the Job Schedule to enable.") @path @@ -949,7 +832,7 @@ running Jobs are unaffected. @doc("Terminates a Job Schedule.") @route("/jobschedules/{jobScheduleId}/terminate") @clientName("terminateJobScheduleInternal", "java") - terminateJobSchedule is BatchOps.PostOperation< + terminateJobSchedule is PostOperation< BatchMatchHeaders & { @doc("The ID of the Job Schedule to terminates.") @path @@ -962,7 +845,7 @@ running Jobs are unaffected. @doc("Creates a Job Schedule to the specified Account.") @route("/jobschedules") @clientName("createJobScheduleInternal", "java") - createJobSchedule is BatchOps.CreateOperation< + createJobSchedule is CreateOperation< { @doc("The Job Schedule to be created.") @body @@ -975,7 +858,7 @@ running Jobs are unaffected. @doc("Lists all of the Job Schedules in the specified Account.") @route("/jobschedules") @clientName("listJobSchedulesInternal", "java") - listJobSchedules is BatchOps.ListOperation< + listJobSchedules is ListOperation< { @doc(""" An OData $filter clause. For more information on constructing this filter, see @@ -1010,7 +893,7 @@ the Batch service and left in whatever state it was in at that time. """) @route("/jobs/{jobId}/tasks") @clientName("createTaskInternal", "java") - createTask is BatchOps.CreateOperation< + createTask is CreateOperation< { @doc("The ID of the Job to which the Task is to be created.") @path @@ -1031,7 +914,7 @@ information about subtasks. """) @route("/jobs/{jobId}/tasks") @clientName("listTasksInternal", "java") - listTasks is BatchOps.ListOperation< + listTasks is ListOperation< { @doc("The ID of the Job.") @path @@ -1081,7 +964,7 @@ service and left in whatever state it was in at that time. """) @route("/jobs/{jobId}/addtaskcollection") @clientName("createTaskCollectionInternal", "java") - createTaskCollection is BatchOps.PostOperation< + createTaskCollection is PostOperation< MinimalMetadata & { @doc("The ID of the Job to which the Task collection is to be added.") @path @@ -1104,7 +987,7 @@ background. """) @route("/jobs/{jobId}/tasks/{taskId}") @clientName("deleteTaskInternal", "java") - deleteTask is BatchOps.DeleteOperation< + deleteTask is DeleteOperation< BatchMatchHeaders & { @doc("The ID of the Job from which to delete the Task.") @path @@ -1129,7 +1012,7 @@ information about subtasks. """) @route("/jobs/{jobId}/tasks/{taskId}") @clientName("getTaskInternal", "java") - getTask is BatchOps.ReadOperation< + getTask is ReadOperation< BatchMatchHeaders & { @doc("The ID of the Job that contains the Task.") @path @@ -1159,7 +1042,7 @@ information about subtasks. @doc("Updates the properties of the specified Task.") @route("/jobs/{jobId}/tasks/{taskId}") @clientName("replaceTaskInternal", "java") - replaceTask is BatchOps.ReplaceOperation< + replaceTask is ReplaceOperation< BatchMatchHeaders & { @doc("The ID of the Job containing the Task.") @path @@ -1184,7 +1067,7 @@ Task. @doc("If the Task is not a multi-instance Task then this returns an empty collection.") @route("/jobs/{jobId}/tasks/{taskId}/subtasksinfo") @clientName("listSubTasksInternal", "java") - listSubTasks is BatchOps.ReadOperation< + listSubTasks is ReadOperation< { @doc("The ID of the Job.") @path @@ -1212,7 +1095,7 @@ primary task; subtasks are then terminated asynchronously in the background. """) @route("/jobs/{jobId}/tasks/{taskId}/terminate") @clientName("terminateTaskInternal", "java") - terminateTask is BatchOps.PostOperation< + terminateTask is PostOperation< BatchMatchHeaders & { @doc("The ID of the Job containing the Task.") @path @@ -1240,7 +1123,7 @@ will fail if the Job has completed (or is terminating or deleting). """) @route("/jobs/{jobId}/tasks/{taskId}/reactivate") @clientName("reactivateTaskInternal", "java") - reactivateTask is BatchOps.PostOperation< + reactivateTask is PostOperation< BatchMatchHeaders & { @doc("The ID of the Job containing the Task.") @path @@ -1257,7 +1140,7 @@ will fail if the Job has completed (or is terminating or deleting). @doc("Deletes the specified Task file from the Compute Node where the Task ran.") @route("/jobs/{jobId}/tasks/{taskId}/files/{filePath}") @clientName("deleteTaskFileInternal", "java") - deleteTaskFile is BatchOps.DeleteOperation< + deleteTaskFile is DeleteOperation< BatchTaskFileClientPathContent & { @doc(""" Whether to delete children of a directory. If the filePath parameter represents @@ -1278,7 +1161,7 @@ then the directory must be empty or deletion will fail. @doc("Returns the content of the specified Task file.") @route("/jobs/{jobId}/tasks/{taskId}/files/{filePath}") @clientName("getTaskFileInternal", "java") - getTaskFile is BatchOps.ReadOperation< + getTaskFile is FileOperation< BatchTaskFileClientPathContent & BatchModifiedSinceHeaders & { @doc(""" @@ -1288,7 +1171,7 @@ format is bytes=startRange-endRange. @header `ocp-range`?: string; }, - FileResponseHeaders & { + { @doc("Type of content") @header("content-type") contentType: "application/octet-stream"; @@ -1302,16 +1185,17 @@ format is bytes=startRange-endRange. @doc("Gets the properties of the specified Task file.") @route("/jobs/{jobId}/tasks/{taskId}/files/{filePath}") @clientName("getTaskFilePropertiesInternal", "java") - getTaskFileProperties is BatchOps.ResourceInfoOperation< + @clientName("getTaskFilePropertiesInternal", "csharp") + getTaskFileProperties is HeadFileOperation< BatchTaskFileClientPathContent & BatchModifiedSinceHeaders, - FileResponseHeaders + {} >; @summary("Lists the files in a Task's directory on its Compute Node.") @doc("Lists the files in a Task's directory on its Compute Node.") @route("/jobs/{jobId}/tasks/{taskId}/files") @clientName("listTaskFilesInternal", "java") - listTaskFiles is BatchOps.ListOperation< + listTaskFiles is ListOperation< { @doc("The ID of the Job that contains the Task.") @path @@ -1346,7 +1230,7 @@ running state. """) @route("/pools/{poolId}/nodes/{nodeId}/users") @clientName("createNodeUserInternal", "java") - createNodeUser is BatchOps.CreateOperation< + createNodeUser is CreateOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1370,7 +1254,7 @@ running state. """) @route("/pools/{poolId}/nodes/{nodeId}/users/{userName}") @clientName("deleteNodeUserInternal", "java") - deleteNodeUser is BatchOps.DeleteOperation< + deleteNodeUser is DeleteOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1402,7 +1286,7 @@ Account on a Compute Node only when it is in the idle or running state. """) @route("/pools/{poolId}/nodes/{nodeId}/users/{userName}") @clientName("replaceNodeUserInternal", "java") - replaceNodeUser is BatchOps.ReplaceOperation< + replaceNodeUser is ReplaceOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1427,7 +1311,7 @@ Account on a Compute Node only when it is in the idle or running state. @doc("Gets information about the specified Compute Node.") @route("/pools/{poolId}/nodes/{nodeId}") @clientName("getNodeInternal", "java") - getNode is BatchOps.ReadOperation< + getNode is ReadOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1451,7 +1335,7 @@ Account on a Compute Node only when it is in the idle or running state. @doc("You can restart a Compute Node only if it is in an idle or running state.") @route("/pools/{poolId}/nodes/{nodeId}/reboot") @clientName("rebootNodeInternal", "java") - rebootNode is BatchOps.PostOperation< + rebootNode is PostOperation< MinimalMetadata & { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1475,7 +1359,7 @@ scheduling state is enabled. """) @route("/pools/{poolId}/nodes/{nodeId}/disablescheduling") @clientName("disableNodeSchedulingInternal", "java") - disableNodeScheduling is BatchOps.PostOperation< + disableNodeScheduling is PostOperation< MinimalMetadata & { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1499,7 +1383,7 @@ state is disabled """) @route("/pools/{poolId}/nodes/{nodeId}/enablescheduling") @clientName("enableNodeSchedulingInternal", "java") - enableNodeScheduling is BatchOps.PostOperation< + enableNodeScheduling is PostOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1520,7 +1404,7 @@ invoked only on Pools created with the virtual machine configuration property. """) @route("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings") @clientName("getNodeRemoteLoginSettingsInternal", "java") - getNodeRemoteLoginSettings is BatchOps.ReadOperation< + getNodeRemoteLoginSettings is ReadOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1545,7 +1429,7 @@ support to aid in debugging issues with the Batch service. """) @route("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs") @clientName("uploadNodeLogsInternal", "java") - uploadNodeLogs is BatchOps.PostOperation< + uploadNodeLogs is PostOperation< MinimalMetadata & { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1569,7 +1453,7 @@ Protocol file. @doc("Lists the Compute Nodes in the specified Pool.") @route("/pools/{poolId}/nodes") @clientName("listNodesInternal", "java") - listNodes is BatchOps.ListOperation< + listNodes is ListOperation< { @doc("The ID of the Pool from which you want to list Compute Nodes.") @path @@ -1597,7 +1481,7 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li @doc("Gets information about the specified Compute Node Extension.") @route("/pools/{poolId}/nodes/{nodeId}/extensions/{extensionName}") @clientName("getNodeExtensionInternal", "java") - getNodeExtension is BatchOps.ReadOperation< + getNodeExtension is ReadOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1627,7 +1511,7 @@ The name of the Compute Node Extension that you want to get information about. @doc("Lists the Compute Nodes Extensions in the specified Pool.") @route("/pools/{poolId}/nodes/{nodeId}/extensions") @clientName("listNodeExtensionsInternal", "java") - listNodeExtensions is BatchOps.ListOperation< + listNodeExtensions is ListOperation< { @doc("The ID of the Pool that contains Compute Node.") @path @@ -1651,7 +1535,7 @@ The name of the Compute Node Extension that you want to get information about. @doc("Deletes the specified file from the Compute Node.") @route("/pools/{poolId}/nodes/{nodeId}/files/{filePath}") @clientName("deleteNodeFileInternal", "java") - deleteNodeFile is BatchOps.DeleteOperation< + deleteNodeFile is DeleteOperation< BatchNodeFileClientPathContent & { @doc(""" Whether to delete children of a directory. If the filePath parameter represents @@ -1672,7 +1556,7 @@ then the directory must be empty or deletion will fail. @doc("Returns the content of the specified Compute Node file.") @route("/pools/{poolId}/nodes/{nodeId}/files/{filePath}") @clientName("getNodeFileInternal", "java") - getNodeFile is BatchOps.ReadOperation< + getNodeFile is FileOperation< BatchNodeFileClientPathContent & BatchModifiedSinceHeaders & { @doc(""" @@ -1682,7 +1566,7 @@ format is bytes=startRange-endRange. @header `ocp-range`?: string; }, - FileResponseHeaders & { + { @doc("Type of content") @header("content-type") contentType: "application/octet-stream"; @@ -1696,16 +1580,17 @@ format is bytes=startRange-endRange. @doc("Gets the properties of the specified Compute Node file.") @route("/pools/{poolId}/nodes/{nodeId}/files/{filePath}") @clientName("getNodeFilePropertiesInternal", "java") - getNodeFileProperties is BatchOps.ResourceInfoOperation< + @clientName("getNodeFilePropertiesInternal", "csharp") + getNodeFileProperties is HeadFileOperation< BatchNodeFileClientPathContent & BatchModifiedSinceHeaders, - FileResponseHeaders + {} >; @summary("Lists all of the files in Task directories on the specified Compute Node.") @doc("Lists all of the files in Task directories on the specified Compute Node.") @route("/pools/{poolId}/nodes/{nodeId}/files") @clientName("listNodeFilesInternal", "java") - listNodeFiles is BatchOps.ListOperation< + listNodeFiles is ListOperation< { @doc("The ID of the Pool that contains the Compute Node.") @path @@ -1730,253 +1615,3 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li BatchNodeFileListResult >; } - -// headers //////////////////// - -alias AcceptedProcessingResponseHeaders = { - @doc("A process exit code.") - @statusCode - code: "202"; - - ...DataServiceResponseHeaders; -}; - -alias NoContentSuccessResponseHeaders = { - @doc("A process exit code.") - @statusCode - code: "204"; - - ...DataServiceResponseHeaders; -}; - -alias RequestSuccessResponseHeaders = { - @doc("A process exit code.") - @statusCode - code: "200"; - - ...DataServiceResponseHeaders; -}; - -alias DataServiceResponseHeaders = { - @header("DataServiceId") - @doc("The OData ID of the resource to which the request applied.") - dataServiceId: string; -}; - -alias FileResponseHeaders = { - @doc("A process exit code.") - @statusCode - code: "200"; - - @header("ocp-creation-time") - @doc("The file creation time.") - @encode(DateTimeKnownEncoding.rfc7231) - ocpcreationtime?: utcDateTime; - - @header("ocp-batch-file-isdirectory") - @doc("Whether the object represents a directory.") - ocpbatchfileisdirectory: boolean; - - @header("ocp-batch-file-url") - @doc("The URL of the file.") - ocpbatchfileurl: string; - - @header("ocp-batch-file-mode") - @doc("The file mode attribute in octal format.") - ocpbatchfilemode: string; - - @header("Content-Length") - @doc("The length of the file.") - contentLength: int64; -}; - -alias BatchPoolHeaders = { - ...BatchMatchHeaders; - - @doc("The ID of the Pool to get.") - @path - poolId: string; -}; - -alias BatchMatchHeaders = { - ...BatchModifiedSinceHeaders; - - @doc(""" -An ETag value associated with the version of the resource known to the client. -The operation will be performed only if the resource's current ETag on the -service exactly matches the value specified by the client. -""") - @header("If-Match") - @clientName("if__match", "python") - ifMatch?: string; - - @doc(""" -An ETag value associated with the version of the resource known to the client. -The operation will be performed only if the resource's current ETag on the -service does not match the value specified by the client. -""") - @header("If-None-Match") - @clientName("if_none_match", "python") - ifNoneMatch?: string; -}; - -alias BatchModifiedSinceHeaders = { - @doc(""" -A timestamp indicating the last modified time of the resource known to the -client. The operation will be performed only if the resource on the service has -been modified since the specified time. -""") - @header("If-Modified-Since") - @encode(DateTimeKnownEncoding.rfc7231) - @clientName("if_modified_since", "python") - ifModifiedSince?: utcDateTime; - - @doc(""" -A timestamp indicating the last modified time of the resource known to the -client. The operation will be performed only if the resource on the service has -not been modified since the specified time. -""") - @header("If-Unmodified-Since") - @encode(DateTimeKnownEncoding.rfc7231) - @clientName("if_unmodified_since", "python") - ifUnmodifiedSince?: utcDateTime; -}; - -// This is the standard set of headers that most of batch apis return -alias BatchResponseHeaders = BatchClientResponseHeaders & - BatchEtagResponseHeaders; - -alias BatchEtagResponseHeaders = { - @doc("The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.") - @header("ETag") - @clientName("etag", "python") - etag?: string; - - @doc("The time at which the resource was last modified.") - @header("Last-Modified") - @encode(DateTimeKnownEncoding.rfc7231) - lastmodified?: utcDateTime; -}; - -alias BatchClientResponseHeaders = { - @doc("The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.") - @header("client-request-id") - clientRequestId?: string; - - @doc("A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.") - @header("request-id") - requestid?: string; -}; - -alias PoolDoesExistResponseHeaders = { - ...BatchResponseHeaders; - - @doc("A process exit code.") - @statusCode - code: "200"; -}; - -alias PoolDoesNotExistResponseHeaders = { - @doc("A process exit code.") - @statusCode - code: "404"; -}; - -alias JobScheduleDoesExistResponseHeaders = { - ...BatchResponseHeaders; - - @doc("A response containing headers related to the Job Schedule, if it exists.") - @statusCode - code: "200"; -}; - -alias JobScheduleDoesNotExistResponseHeaders = { - @doc("The Job Schedule does not exist.") - @statusCode - code: "404"; -}; - -alias DeleteResponseHeaders = { - @doc("A process exit code.") - @statusCode - code: "202"; - - @doc("The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.") - @header("client-request-id") - clientRequestId?: string; - - @doc("A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.") - @header("request-id") - requestid?: string; -}; - -alias BatchCommonListHeaders = { - ...BatchClientRequestHeaders; - - @doc(""" -The maximum number of items to return in the response. A maximum of 1000 -applications can be returned. -""") - @query - @minValue(1) - @maxValue(1000) - @clientName("maxPageSize", "java") - maxresults?: int32 = 1000; -}; - -alias BatchNodeFileClientPathContent = { - @doc("The ID of the Pool that contains the Compute Node.") - @path - poolId: string; - - @doc("The ID of the Compute Node.") - @path - nodeId: string; - - @doc("The path to the file or directory.") - @path - filePath: string; -}; - -alias BatchTaskFileClientPathContent = { - @doc("The ID of the Job that contains the Task.") - @path - jobId: string; - - @doc("The ID of the Task whose file you want to retrieve.") - @path - taskId: string; - - @doc("The path to the Task file that you want to get the content of.") - @path - filePath: string; -}; - -alias BatchClientRequestHeaders = { - @doc(""" -The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.". -""") - @query - @clientName("timeOutInSeconds") - timeOut?: int32 = 30; - - @doc(""" -The caller-generated request identity, in the form of a GUID with no decoration -such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -""") - @header("client-request-id") - clientRequestId?: string; - - @doc("Whether the server should return the client-request-id in the response.") - @header("return-client-request-id") - returnClientRequestId?: boolean = false; - - @doc(""" -The time the request was issued. Client libraries typically set this to the -current system clock time; set it explicitly if you are calling the REST API -directly. -""") - @header("ocp-date") - @encode(DateTimeKnownEncoding.rfc7231) - ocpdate?: utcDateTime; -}; diff --git a/specification/batch/Azure.Batch/tspconfig.yaml b/specification/batch/Azure.Batch/tspconfig.yaml index 70fe5978cfd4..f1283c2b239f 100644 --- a/specification/batch/Azure.Batch/tspconfig.yaml +++ b/specification/batch/Azure.Batch/tspconfig.yaml @@ -16,7 +16,7 @@ options: package-dir: "Azure.Batch" clear-output-folder: true model-namespace: false - head-as-boolean: true + head-as-boolean: false namespace: Azure.Compute.Batch flavor: azure "@azure-tools/typespec-java": diff --git a/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json b/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json index 92e720442c8a..0bbaab972290 100644 --- a/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json +++ b/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json @@ -8789,7 +8789,7 @@ "type": "array", "description": "The list of supported Virtual Machine Images.", "items": { - "$ref": "#/definitions/ImageInfo" + "$ref": "#/definitions/BatchSupportedImage" }, "x-ms-identifiers": [] }, @@ -11827,7 +11827,7 @@ "type": "array", "description": "A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally. The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.", "items": { - "$ref": "#/definitions/InboundNATPool" + "$ref": "#/definitions/InboundNatPool" }, "x-ms-client-name": "inboundNatPools", "x-ms-identifiers": [] @@ -11845,7 +11845,7 @@ "type": "array", "description": "A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally. The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.", "items": { - "$ref": "#/definitions/InboundNATPool" + "$ref": "#/definitions/InboundNatPool" }, "x-ms-client-name": "inboundNatPools", "x-ms-identifiers": [] @@ -12811,6 +12811,47 @@ ] } }, + "BatchSupportedImage": { + "type": "object", + "description": "A reference to the Azure Virtual Machines Marketplace Image and additional\ninformation about the Image.", + "properties": { + "nodeAgentSKUId": { + "type": "string", + "description": "The ID of the Compute Node agent SKU which the Image supports.", + "x-ms-client-name": "nodeAgentSkuId" + }, + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "The reference to the Azure Virtual Machine's Marketplace Image." + }, + "osType": { + "$ref": "#/definitions/OSType", + "description": "The type of operating system (e.g. Windows or Linux) of the Image." + }, + "capabilities": { + "type": "array", + "description": "The capabilities or features which the Image supports. Not every capability of the Image is listed. Capabilities in this list are considered of special interest and are generally related to integration with other features in the Azure Batch service.", + "items": { + "type": "string" + } + }, + "batchSupportEndOfLife": { + "type": "string", + "format": "date-time", + "description": "The time when the Azure Batch service will stop accepting create Pool requests for the Image." + }, + "verificationType": { + "$ref": "#/definitions/ImageVerificationType", + "description": "Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU." + } + }, + "required": [ + "nodeAgentSKUId", + "imageReference", + "osType", + "verificationType" + ] + }, "BatchTask": { "type": "object", "description": "Batch will retry Tasks when a recovery operation is triggered on a Node.\nExamples of recovery operations include (but are not limited to) when an\nunhealthy Node is rebooted or a Compute Node disappeared due to host failure.\nRetries due to recovery operations are independent of and are not counted\nagainst the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal\nretry due to a recovery operation may occur. Because of this, all Tasks should\nbe idempotent. This means Tasks need to tolerate being interrupted and\nrestarted without causing any corruption or duplicate data. The best practice\nfor long running Tasks is to use some form of checkpointing.", @@ -13103,7 +13144,7 @@ "description": "The Image to use to create the container in which the Task will run. This is the full Image reference, as would be specified to \"docker pull\". If no tag is provided as part of the Image name, the tag \":latest\" is used as a default." }, "registry": { - "$ref": "#/definitions/ContainerRegistry", + "$ref": "#/definitions/ContainerRegistryReference", "description": "The private registry which contains the container Image. This setting can be omitted if was already provided at Pool creation." }, "workingDirectory": { @@ -13128,7 +13169,7 @@ "description": "The Image to use to create the container in which the Task will run. This is the full Image reference, as would be specified to \"docker pull\". If no tag is provided as part of the Image name, the tag \":latest\" is used as a default." }, "registry": { - "$ref": "#/definitions/ContainerRegistry", + "$ref": "#/definitions/ContainerRegistryReference", "description": "The private registry which contains the container Image. This setting can be omitted if was already provided at Pool creation." }, "workingDirectory": { @@ -13774,7 +13815,7 @@ "type": "array", "description": "Additional private registries from which containers can be pulled. If any Images must be downloaded from a private registry which requires credentials, then those credentials must be provided here.", "items": { - "$ref": "#/definitions/ContainerRegistry" + "$ref": "#/definitions/ContainerRegistryReference" }, "x-ms-identifiers": [] } @@ -13802,13 +13843,13 @@ "type": "array", "description": "Additional private registries from which containers can be pulled. If any Images must be downloaded from a private registry which requires credentials, then those credentials must be provided here.", "items": { - "$ref": "#/definitions/ContainerRegistry" + "$ref": "#/definitions/ContainerRegistryReference" }, "x-ms-identifiers": [] } } }, - "ContainerRegistry": { + "ContainerRegistryReference": { "type": "object", "description": "A private container registry.", "properties": { @@ -14260,47 +14301,6 @@ "name" ] }, - "ImageInfo": { - "type": "object", - "description": "A reference to the Azure Virtual Machines Marketplace Image and additional\ninformation about the Image.", - "properties": { - "nodeAgentSKUId": { - "type": "string", - "description": "The ID of the Compute Node agent SKU which the Image supports.", - "x-ms-client-name": "nodeAgentSkuId" - }, - "imageReference": { - "$ref": "#/definitions/ImageReference", - "description": "The reference to the Azure Virtual Machine's Marketplace Image." - }, - "osType": { - "$ref": "#/definitions/OSType", - "description": "The type of operating system (e.g. Windows or Linux) of the Image." - }, - "capabilities": { - "type": "array", - "description": "The capabilities or features which the Image supports. Not every capability of the Image is listed. Capabilities in this list are considered of special interest and are generally related to integration with other features in the Azure Batch service.", - "items": { - "type": "string" - } - }, - "batchSupportEndOfLife": { - "type": "string", - "format": "date-time", - "description": "The time when the Azure Batch service will stop accepting create Pool requests for the Image." - }, - "verificationType": { - "$ref": "#/definitions/ImageVerificationType", - "description": "Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU." - } - }, - "required": [ - "nodeAgentSKUId", - "imageReference", - "osType", - "verificationType" - ] - }, "ImageReference": { "type": "object", "description": "A reference to an Azure Virtual Machines Marketplace Image or a Azure Compute Gallery Image.\nTo get the list of all Azure Marketplace Image references verified by Azure Batch, see the\n' List Supported Images ' operation.", @@ -14421,7 +14421,7 @@ ] } }, - "InboundNATPool": { + "InboundNatPool": { "type": "object", "description": "A inbound NAT Pool that can be used to address specific ports on Compute Nodes\nin a Batch Pool externally.", "properties": { @@ -15619,7 +15619,7 @@ "modelAsString": true, "values": [ { - "name": "2024-02-01.19.0", + "name": "v2024_02_01", "value": "2024-02-01.19.0", "description": "API Version 2024-02-01.19.0" } From ac882a92456ba59b737da8f23b8023dbcf9c5cf8 Mon Sep 17 00:00:00 2001 From: Davide Montanari Date: Fri, 10 May 2024 05:18:18 +0200 Subject: [PATCH 06/30] [Microsoft.DeviceRegistry] Fixed operationIds in examples for API version 2023-11-01-preview (#28842) * Fixed operationIds in examples * Removed @Autorest.example decorator. * Added examples descriptions --- .../assetEndpointProfiles.tsp | 24 ------------- .../DeviceRegistry.Management/assets.tsp | 27 --------------- .../Create_AssetEndpointProfile.json | 3 +- .../Create_Asset_With_ExternalAssetId.json | 3 +- .../Create_Asset_Without_DisplayName.json | 3 +- .../Create_Asset_Without_ExternalAssetId.json | 3 +- .../2023-11-01-preview/Delete_Asset.json | 3 +- .../Delete_AssetEndpointProfile.json | 3 +- .../2023-11-01-preview/Get_Asset.json | 3 +- .../Get_AssetEndpointProfile.json | 3 +- .../Get_Asset_With_SyncStatus.json | 3 +- .../Get_OperationStatus.json | 3 +- ...t_AssetEndpointProfiles_ResourceGroup.json | 3 +- ...st_AssetEndpointProfiles_Subscription.json | 3 +- .../List_Assets_ResourceGroup.json | 3 +- .../List_Assets_Subscription.json | 3 +- .../2023-11-01-preview/List_Operations.json | 3 +- .../2023-11-01-preview/Update_Asset.json | 3 +- .../Update_AssetEndpointProfile.json | 3 +- .../DeviceRegistry.Management/main.tsp | 9 ----- .../2023-11-01-preview/deviceregistry.json | 34 +++++++++---------- .../examples/Create_AssetEndpointProfile.json | 3 +- .../Create_Asset_With_ExternalAssetId.json | 3 +- .../Create_Asset_Without_DisplayName.json | 3 +- .../Create_Asset_Without_ExternalAssetId.json | 3 +- .../examples/Delete_Asset.json | 3 +- .../examples/Delete_AssetEndpointProfile.json | 3 +- .../examples/Get_Asset.json | 3 +- .../examples/Get_AssetEndpointProfile.json | 3 +- .../examples/Get_Asset_With_SyncStatus.json | 3 +- .../examples/Get_OperationStatus.json | 3 ++ ...t_AssetEndpointProfiles_ResourceGroup.json | 3 +- ...st_AssetEndpointProfiles_Subscription.json | 3 +- .../examples/List_Assets_ResourceGroup.json | 3 +- .../examples/List_Assets_Subscription.json | 3 +- .../examples/List_Operations.json | 3 ++ .../examples/Update_Asset.json | 3 +- .../examples/Update_AssetEndpointProfile.json | 3 +- 38 files changed, 87 insertions(+), 109 deletions(-) diff --git a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp index 4de4506d669e..d47412e98703 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp @@ -118,42 +118,18 @@ model OwnCertificate { @armResourceOperations interface AssetEndpointProfiles { - @Autorest.example( - "./examples/Get_AssetEndpointProfile.json", - "Get an Asset Endpoint Profile." - ) get is ArmResourceRead; - @Autorest.example( - "./examples/Create_AssetEndpointProfile.json", - "Create an Asset Endpoint Profile." - ) createOrReplace is ArmResourceCreateOrReplaceAsync; - @Autorest.example( - "./examples/Update_AssetEndpointProfile.json", - "Patch an Asset Endpoint Profile." - ) update is ArmResourcePatchAsync< AssetEndpointProfile, AssetEndpointProfileProperties >; - @Autorest.example( - "./examples/Delete_AssetEndpointProfile.json", - "Delete an Asset Endpoint Profile." - ) delete is ArmResourceDeleteWithoutOkAsync; - @Autorest.example( - "./examples/List_AssetEndpointProfiles_ResourceGroup.json", - "List Asset Endpoint Profiles in a Resource Group." - ) listByResourceGroup is ArmResourceListByParent; - @Autorest.example( - "./examples/List_AssetEndpointProfiles_Subscription.json", - "List Asset Endpoint Profiles in a Subscription." - ) listBySubscription is ArmListBySubscription; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp index dcd0bceff86d..155d378ccea6 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp @@ -203,42 +203,15 @@ model AssetStatusError { @armResourceOperations interface Assets { - @Autorest.example("./examples/Get_Asset.json", "Get an Asset") - @Autorest.example( - "./examples/Get_Asset_With_SyncStatus.json", - "Get an Asset with Sync Status." - ) get is ArmResourceRead; - @Autorest.example( - "./examples/Create_Asset_With_ExternalAssetId.json", - "Create an Asset With External Asset Id." - ) - @Autorest.example( - "./examples/Create_Asset_Without_ExternalAssetId.json", - "Create an Asset Without External Asset Id." - ) - @Autorest.example( - "./examples/Create_Asset_Without_DisplayName.json", - "Create an Asset Without Display Name." - ) createOrReplace is ArmResourceCreateOrReplaceAsync; - @Autorest.example("./examples/Update_Asset.json", "Patch an Asset.") update is ArmResourcePatchAsync; - @Autorest.example("./examples/Delete_Asset.json", "Delete an Asset.") delete is ArmResourceDeleteWithoutOkAsync; - @Autorest.example( - "./examples/List_Assets_ResourceGroup.json", - "List Assets in a Resource Group." - ) listByResourceGroup is ArmResourceListByParent; - @Autorest.example( - "./examples/List_Assets_Subscription.json", - "List Assets in a Subscription." - ) listBySubscription is ArmListBySubscription; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_AssetEndpointProfile.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_AssetEndpointProfile.json index cbcb59b133fd..92b67ddf068d 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_AssetEndpointProfile.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Create_AssetEndpointProfile", "title": "Create_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_CreateOrReplace", + "description": "Create an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_With_ExternalAssetId.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_With_ExternalAssetId.json index a0a5f4f5cbc9..0df1137ca7a0 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_With_ExternalAssetId.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_With_ExternalAssetId.json @@ -1,6 +1,7 @@ { "title": "Create_Asset_With_ExternalAssetId", - "operationId": "Create_Asset_With_ExternalAssetId", + "operationId": "Assets_CreateOrReplace", + "description": "Create an Asset With External Asset Id", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_DisplayName.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_DisplayName.json index 48a97e1f4211..6752b83f8092 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_DisplayName.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_DisplayName.json @@ -1,6 +1,7 @@ { "title": "Create_Asset_Without_DisplayName", - "operationId": "Create_Asset_Without_DisplayName", + "operationId": "Assets_CreateOrReplace", + "description": "Create an Asset Without Display Name", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_ExternalAssetId.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_ExternalAssetId.json index 87f8d3658ace..ebb77b5f7704 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_ExternalAssetId.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Create_Asset_Without_ExternalAssetId.json @@ -1,6 +1,7 @@ { "title": "Create_Asset_Without_ExternalAssetId", - "operationId": "Create_Asset_Without_ExternalAssetId", + "operationId": "Assets_CreateOrReplace", + "description": "Create an Asset Without External Asset Id", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_Asset.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_Asset.json index 4399c4a5300a..37292d308df2 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_Asset.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_Asset.json @@ -1,6 +1,7 @@ { "title": "Delete_Asset", - "operationId": "Delete_Asset", + "operationId": "Assets_Delete", + "description": "Delete an Asset", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_AssetEndpointProfile.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_AssetEndpointProfile.json index 939fc3f09f53..d664a47b890c 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_AssetEndpointProfile.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Delete_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Delete_AssetEndpointProfile", "title": "Delete_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_Delete", + "description": "Delete an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset.json index 2d2d3551fda6..48fa67e95e40 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset.json @@ -1,6 +1,7 @@ { "title": "Get_Asset", - "operationId": "Get_Asset", + "operationId": "Assets_Get", + "description": "Get an Asset", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_AssetEndpointProfile.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_AssetEndpointProfile.json index 45fa5f7deb7b..458f63be8a03 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_AssetEndpointProfile.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Get_AssetEndpointProfile", "title": "Get_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_Get", + "description": "Get an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset_With_SyncStatus.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset_With_SyncStatus.json index 44a95a7c7e3c..96c4a01eb4fa 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset_With_SyncStatus.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_Asset_With_SyncStatus.json @@ -1,6 +1,7 @@ { "title": "Get_Asset_With_SyncStatus", - "operationId": "Get_Asset_With_SyncStatus", + "operationId": "Assets_Get", + "description": "Get an Asset with Sync Status", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_OperationStatus.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_OperationStatus.json index fe3878b85276..05e3059f8725 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_OperationStatus.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Get_OperationStatus.json @@ -1,6 +1,7 @@ { "title": "Get_OperationStatus", - "operationId": "Get_OperationStatus", + "operationId": "OperationStatus_Get", + "description": "Get the status of an async operation", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_ResourceGroup.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_ResourceGroup.json index 6502d5fa1bc7..02a9edc0c564 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_ResourceGroup.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_ResourceGroup.json @@ -1,6 +1,7 @@ { - "operationId": "List_AssetEndpointProfiles_ResourceGroup", "title": "List_AssetEndpointProfiles_ResourceGroup", + "operationId": "AssetEndpointProfiles_ListByResourceGroup", + "description": "List Asset Endpoint Profiles in a Resource Group", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_Subscription.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_Subscription.json index 684cef897c2b..43c0bd52677f 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_Subscription.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_AssetEndpointProfiles_Subscription.json @@ -1,6 +1,7 @@ { - "operationId": "List_AssetEndpointProfiles_Subscription", "title": "List_AssetEndpointProfiles_Subscription", + "operationId": "AssetEndpointProfiles_ListBySubscription", + "description": "List Asset Endpoint Profiles in a Subscription", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000" diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_ResourceGroup.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_ResourceGroup.json index dbc51712b20f..f5b578cf0f4e 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_ResourceGroup.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_ResourceGroup.json @@ -1,6 +1,7 @@ { "title": "List_Assets_ResourceGroup", - "operationId": "List_Assets_ResourceGroup", + "operationId": "Assets_ListByResourceGroup", + "description": "List Assets in a Resource Group", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_Subscription.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_Subscription.json index 8193ca1fd97e..5a0b86f65858 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_Subscription.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Assets_Subscription.json @@ -1,6 +1,7 @@ { "title": "List_Assets_Subscription", - "operationId": "List_Assets_Subscription", + "operationId": "Assets_ListBySubscription", + "description": "List Assets in a Subscription", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000" diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Operations.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Operations.json index d9b21e52c59e..35fbb407501c 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Operations.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/List_Operations.json @@ -1,6 +1,7 @@ { "title": "List_Operations", - "operationId": "List_Operations", + "operationId": "Operations_List", + "description": "Returns list of operations", "parameters": { "api-version": "2023-11-01-preview" }, diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json index e989a952f405..356d96faab2a 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json @@ -1,6 +1,7 @@ { "title": "Update_Asset", - "operationId": "Update_Asset", + "operationId": "Assets_Update", + "description": "Patch an Asset", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json index 793c636f2749..e4c17fcd8789 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Update_AssetEndpointProfile", "title": "Update_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_Update", + "description": "Patch an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/DeviceRegistry.Management/main.tsp b/specification/deviceregistry/DeviceRegistry.Management/main.tsp index 87dc16049519..b20e7ad8756f 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/main.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/main.tsp @@ -31,20 +31,11 @@ enum Versions { interface Operations extends Azure.ResourceManager.Operations {} -@@Autorest.example(Operations.list, - "./examples/List_Operations.json", - "Returns list of operations." -); - @armResourceOperations interface OperationStatus { @doc("Returns the current status of an async operation.") @autoRoute @armUpdateProviderNamespace - @Autorest.example( - "./examples/Get_OperationStatus.json", - "Get the status of an async operation." - ) get( ...ApiVersionParameter, ...SubscriptionIdParameter, diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json index a1e886ae4ac0..91e1f1a92e08 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json @@ -80,7 +80,7 @@ } }, "x-ms-examples": { - "Returns list of operations.": { + "List_Operations": { "$ref": "./examples/List_Operations.json" } }, @@ -119,7 +119,7 @@ } }, "x-ms-examples": { - "List Asset Endpoint Profiles in a Subscription.": { + "List_AssetEndpointProfiles_Subscription": { "$ref": "./examples/List_AssetEndpointProfiles_Subscription.json" } }, @@ -158,7 +158,7 @@ } }, "x-ms-examples": { - "List Assets in a Subscription.": { + "List_Assets_Subscription": { "$ref": "./examples/List_Assets_Subscription.json" } }, @@ -203,7 +203,7 @@ } }, "x-ms-examples": { - "Get the status of an async operation.": { + "Get_OperationStatus": { "$ref": "./examples/Get_OperationStatus.json" } } @@ -242,7 +242,7 @@ } }, "x-ms-examples": { - "List Asset Endpoint Profiles in a Resource Group.": { + "List_AssetEndpointProfiles_ResourceGroup": { "$ref": "./examples/List_AssetEndpointProfiles_ResourceGroup.json" } }, @@ -294,7 +294,7 @@ } }, "x-ms-examples": { - "Get an Asset Endpoint Profile.": { + "Get_AssetEndpointProfile": { "$ref": "./examples/Get_AssetEndpointProfile.json" } } @@ -363,7 +363,7 @@ } }, "x-ms-examples": { - "Create an Asset Endpoint Profile.": { + "Create_AssetEndpointProfile": { "$ref": "./examples/Create_AssetEndpointProfile.json" } }, @@ -437,7 +437,7 @@ } }, "x-ms-examples": { - "Patch an Asset Endpoint Profile.": { + "Update_AssetEndpointProfile": { "$ref": "./examples/Update_AssetEndpointProfile.json" } }, @@ -499,7 +499,7 @@ } }, "x-ms-examples": { - "Delete an Asset Endpoint Profile.": { + "Delete_AssetEndpointProfile": { "$ref": "./examples/Delete_AssetEndpointProfile.json" } }, @@ -542,7 +542,7 @@ } }, "x-ms-examples": { - "List Assets in a Resource Group.": { + "List_Assets_ResourceGroup": { "$ref": "./examples/List_Assets_ResourceGroup.json" } }, @@ -594,10 +594,10 @@ } }, "x-ms-examples": { - "Get an Asset": { + "Get_Asset": { "$ref": "./examples/Get_Asset.json" }, - "Get an Asset with Sync Status.": { + "Get_Asset_With_SyncStatus": { "$ref": "./examples/Get_Asset_With_SyncStatus.json" } } @@ -666,13 +666,13 @@ } }, "x-ms-examples": { - "Create an Asset With External Asset Id.": { + "Create_Asset_With_ExternalAssetId": { "$ref": "./examples/Create_Asset_With_ExternalAssetId.json" }, - "Create an Asset Without Display Name.": { + "Create_Asset_Without_DisplayName": { "$ref": "./examples/Create_Asset_Without_DisplayName.json" }, - "Create an Asset Without External Asset Id.": { + "Create_Asset_Without_ExternalAssetId": { "$ref": "./examples/Create_Asset_Without_ExternalAssetId.json" } }, @@ -746,7 +746,7 @@ } }, "x-ms-examples": { - "Patch an Asset.": { + "Update_Asset": { "$ref": "./examples/Update_Asset.json" } }, @@ -808,7 +808,7 @@ } }, "x-ms-examples": { - "Delete an Asset.": { + "Delete_Asset": { "$ref": "./examples/Delete_Asset.json" } }, diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_AssetEndpointProfile.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_AssetEndpointProfile.json index cbcb59b133fd..92b67ddf068d 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_AssetEndpointProfile.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Create_AssetEndpointProfile", "title": "Create_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_CreateOrReplace", + "description": "Create an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_With_ExternalAssetId.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_With_ExternalAssetId.json index a0a5f4f5cbc9..0df1137ca7a0 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_With_ExternalAssetId.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_With_ExternalAssetId.json @@ -1,6 +1,7 @@ { "title": "Create_Asset_With_ExternalAssetId", - "operationId": "Create_Asset_With_ExternalAssetId", + "operationId": "Assets_CreateOrReplace", + "description": "Create an Asset With External Asset Id", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_DisplayName.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_DisplayName.json index 48a97e1f4211..6752b83f8092 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_DisplayName.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_DisplayName.json @@ -1,6 +1,7 @@ { "title": "Create_Asset_Without_DisplayName", - "operationId": "Create_Asset_Without_DisplayName", + "operationId": "Assets_CreateOrReplace", + "description": "Create an Asset Without Display Name", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_ExternalAssetId.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_ExternalAssetId.json index 87f8d3658ace..ebb77b5f7704 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_ExternalAssetId.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Create_Asset_Without_ExternalAssetId.json @@ -1,6 +1,7 @@ { "title": "Create_Asset_Without_ExternalAssetId", - "operationId": "Create_Asset_Without_ExternalAssetId", + "operationId": "Assets_CreateOrReplace", + "description": "Create an Asset Without External Asset Id", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_Asset.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_Asset.json index 4399c4a5300a..37292d308df2 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_Asset.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_Asset.json @@ -1,6 +1,7 @@ { "title": "Delete_Asset", - "operationId": "Delete_Asset", + "operationId": "Assets_Delete", + "description": "Delete an Asset", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_AssetEndpointProfile.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_AssetEndpointProfile.json index 939fc3f09f53..d664a47b890c 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_AssetEndpointProfile.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Delete_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Delete_AssetEndpointProfile", "title": "Delete_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_Delete", + "description": "Delete an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset.json index 2d2d3551fda6..48fa67e95e40 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset.json @@ -1,6 +1,7 @@ { "title": "Get_Asset", - "operationId": "Get_Asset", + "operationId": "Assets_Get", + "description": "Get an Asset", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_AssetEndpointProfile.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_AssetEndpointProfile.json index 45fa5f7deb7b..458f63be8a03 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_AssetEndpointProfile.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Get_AssetEndpointProfile", "title": "Get_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_Get", + "description": "Get an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset_With_SyncStatus.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset_With_SyncStatus.json index 44a95a7c7e3c..96c4a01eb4fa 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset_With_SyncStatus.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_Asset_With_SyncStatus.json @@ -1,6 +1,7 @@ { "title": "Get_Asset_With_SyncStatus", - "operationId": "Get_Asset_With_SyncStatus", + "operationId": "Assets_Get", + "description": "Get an Asset with Sync Status", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_OperationStatus.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_OperationStatus.json index a4983eff787c..05e3059f8725 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_OperationStatus.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Get_OperationStatus.json @@ -1,4 +1,7 @@ { + "title": "Get_OperationStatus", + "operationId": "OperationStatus_Get", + "description": "Get the status of an async operation", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_ResourceGroup.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_ResourceGroup.json index 6502d5fa1bc7..02a9edc0c564 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_ResourceGroup.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_ResourceGroup.json @@ -1,6 +1,7 @@ { - "operationId": "List_AssetEndpointProfiles_ResourceGroup", "title": "List_AssetEndpointProfiles_ResourceGroup", + "operationId": "AssetEndpointProfiles_ListByResourceGroup", + "description": "List Asset Endpoint Profiles in a Resource Group", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_Subscription.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_Subscription.json index 684cef897c2b..43c0bd52677f 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_Subscription.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_AssetEndpointProfiles_Subscription.json @@ -1,6 +1,7 @@ { - "operationId": "List_AssetEndpointProfiles_Subscription", "title": "List_AssetEndpointProfiles_Subscription", + "operationId": "AssetEndpointProfiles_ListBySubscription", + "description": "List Asset Endpoint Profiles in a Subscription", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000" diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_ResourceGroup.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_ResourceGroup.json index dbc51712b20f..f5b578cf0f4e 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_ResourceGroup.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_ResourceGroup.json @@ -1,6 +1,7 @@ { "title": "List_Assets_ResourceGroup", - "operationId": "List_Assets_ResourceGroup", + "operationId": "Assets_ListByResourceGroup", + "description": "List Assets in a Resource Group", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_Subscription.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_Subscription.json index 8193ca1fd97e..5a0b86f65858 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_Subscription.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Assets_Subscription.json @@ -1,6 +1,7 @@ { "title": "List_Assets_Subscription", - "operationId": "List_Assets_Subscription", + "operationId": "Assets_ListBySubscription", + "description": "List Assets in a Subscription", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000" diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Operations.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Operations.json index fe2efd74844c..35fbb407501c 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Operations.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/List_Operations.json @@ -1,4 +1,7 @@ { + "title": "List_Operations", + "operationId": "Operations_List", + "description": "Returns list of operations", "parameters": { "api-version": "2023-11-01-preview" }, diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json index e989a952f405..356d96faab2a 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json @@ -1,6 +1,7 @@ { "title": "Update_Asset", - "operationId": "Update_Asset", + "operationId": "Assets_Update", + "description": "Patch an Asset", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json index 793c636f2749..e4c17fcd8789 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json @@ -1,6 +1,7 @@ { - "operationId": "Update_AssetEndpointProfile", "title": "Update_AssetEndpointProfile", + "operationId": "AssetEndpointProfiles_Update", + "description": "Patch an Asset Endpoint Profile", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", From 5db73ebee845d53fb1a648bed483fdd7b1a54522 Mon Sep 17 00:00:00 2001 From: chcmsft <86343602+chcmsft@users.noreply.github.com> Date: Fri, 10 May 2024 11:42:01 +0800 Subject: [PATCH 07/30] [Maps] change the api version of tags (#28941) * change the api version of tags * fix avacado error --- specification/maps/data-plane/Search/readme.md | 2 +- specification/maps/data-plane/readme.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/specification/maps/data-plane/Search/readme.md b/specification/maps/data-plane/Search/readme.md index 8c40072e895d..17892260afd6 100644 --- a/specification/maps/data-plane/Search/readme.md +++ b/specification/maps/data-plane/Search/readme.md @@ -27,7 +27,7 @@ These are the global settings for Search Client. ``` yaml title: SearchClient openapi-type: data-plane -tag: package-2023-06 +tag: package-preview-2024-04 add-credentials: true credential-default-policy-type: BearerTokenCredentialPolicy credential-scopes: 'https://atlas.microsoft.com/.default' diff --git a/specification/maps/data-plane/readme.md b/specification/maps/data-plane/readme.md index e74098ece398..2212468724e0 100644 --- a/specification/maps/data-plane/readme.md +++ b/specification/maps/data-plane/readme.md @@ -60,7 +60,7 @@ input-file: - Data/preview/2.0/data.json - Render/stable/2022-08-01/render.json - Route/preview/1.0/route.json - - Search/preview/2024-04-01-preview/search.json + - Search/stable/2023-06-01/search.json - Spatial/stable/2022-08-01/spatial.json - Timezone/preview/1.0/timezone.json - Traffic/preview/1.0/traffic.json @@ -93,7 +93,6 @@ These settings apply only when `--tag=package-2024-04-01-preview` is specified o ```yaml $(tag) == 'package-2024-04-01-preview' input-file: - - Common/stable/2023-06-01/common.json - Search/preview/2024-04-01-preview/search.json - Route/preview/2024-04-01-preview/route.json - AsyncBatchManagement/preview/2024-04-01-preview/asyncBatchManagement.json From 5485fc4eb11debd9cc8d92ec156b573998aae977 Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com> Date: Fri, 10 May 2024 15:04:06 +0800 Subject: [PATCH 08/30] Update readme.python.md (#29062) Co-authored-by: Yuchao Yan --- .../security/resource-manager/readme.python.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/specification/security/resource-manager/readme.python.md b/specification/security/resource-manager/readme.python.md index b12487310ebf..19e22364d8d2 100644 --- a/specification/security/resource-manager/readme.python.md +++ b/specification/security/resource-manager/readme.python.md @@ -36,9 +36,10 @@ Generate all API versions currently shipped for this package ```yaml $(python) clear-output-folder: true -default-api-version: "2024-01-01" +default-api-version: "2024-04-01" multiapi: true batch: + - tag: package-2024-04 - tag: package-2024-01 - tag: package-2023-11-15 - tag: package-preview-2023-10 @@ -84,6 +85,16 @@ perform-load: false clear-output-folder: false ``` +### Tag: package-2024-04 and python + +These settings apply only when `--tag=package-2024-04 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2024-04' && $(python) +namespace: azure.mgmt.security.v2024_04_01 +output-folder: $(python-sdks-folder)/security/azure-mgmt-security/azure/mgmt/security/v2024_04_01 +``` + ### Tag: package-2024-01 and python These settings apply only when `--tag=package-2024-01 --python` is specified on the command line. From 5e311855eb8349a40396dd1128a03f3718fdce5e Mon Sep 17 00:00:00 2001 From: Peng Jiahui <46921893+Alancere@users.noreply.github.com> Date: Fri, 10 May 2024 17:03:44 +0800 Subject: [PATCH 09/30] update oracle readme.go.md (#29066) --- specification/oracle/resource-manager/readme.go.md | 2 +- specification/oracle/resource-manager/readme.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/oracle/resource-manager/readme.go.md b/specification/oracle/resource-manager/readme.go.md index ea4e1c7fad42..35b73a73554e 100644 --- a/specification/oracle/resource-manager/readme.go.md +++ b/specification/oracle/resource-manager/readme.go.md @@ -5,7 +5,7 @@ These settings apply only when `--go` is specified on the command line. ```yaml $(go) && $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/resourcemanager/Oracle.Database/armoracledatabase +module-name: sdk/resourcemanager/oracledatabase/armoracledatabase module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) ``` diff --git a/specification/oracle/resource-manager/readme.md b/specification/oracle/resource-manager/readme.md index b79217059a78..f1c989361665 100644 --- a/specification/oracle/resource-manager/readme.md +++ b/specification/oracle/resource-manager/readme.md @@ -53,7 +53,7 @@ swagger-to-sdk: - repo: azure-sdk-for-net-track2 - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-resource-manager-schemas - repo: azure-cli-extensions From f0cc3a15708d4e26a6ce3b5c70ffb6b39ff50196 Mon Sep 17 00:00:00 2001 From: kdestin <101366538+kdestin@users.noreply.github.com> Date: Fri, 10 May 2024 14:37:12 -0400 Subject: [PATCH 10/30] [ML] fix: Update `endpoint` type to `url` from `str` and fix base endpoint (#29049) * fix: Update `endpoint` type to `url` from `str` This resolves an issue where the python codegen would try to escape the `://` characters from the url's scheme. * fix: Point the typespec to the correct base endpoint * chore: Update azure-ai-assets.json --- .../machinelearningservices/AzureAI.Assets/main.tsp | 4 ++-- .../preview/2024-04-01-preview/azure-ai-assets.json | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/specification/machinelearningservices/AzureAI.Assets/main.tsp b/specification/machinelearningservices/AzureAI.Assets/main.tsp index 99c8347de115..63c8507bf495 100644 --- a/specification/machinelearningservices/AzureAI.Assets/main.tsp +++ b/specification/machinelearningservices/AzureAI.Assets/main.tsp @@ -23,13 +23,13 @@ using Azure.Core.Traits; title: "Azure Machine Learning Data Plane Services", }) @server( - "{endpoint}/genericasset/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", + "{endpoint}/genericasset/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", "Machinelearning Services Asset APIs", { @doc(""" Supported Azure-AI asset endpoints. """) - endpoint: string, + endpoint: url, @doc("The ID of the target subscription.") subscriptionId: string, diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json index b0c1a5ea52dc..387e6029d702 100644 --- a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json +++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json @@ -13,7 +13,7 @@ "https" ], "x-ms-parameterized-host": { - "hostTemplate": "{endpoint}/genericasset/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", + "hostTemplate": "{endpoint}/genericasset/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", "useSchemePrefix": false, "parameters": [ { @@ -21,7 +21,9 @@ "in": "path", "description": "Supported Azure-AI asset endpoints.", "required": true, - "type": "string" + "type": "string", + "format": "uri", + "x-ms-skip-url-encoding": true }, { "name": "subscriptionId", From 44cbf51b9eee8a2dbf55ced61a61032aaed0148b Mon Sep 17 00:00:00 2001 From: Mark Cowlishaw Date: Fri, 10 May 2024 12:22:47 -0700 Subject: [PATCH 11/30] [TypeSpec] Upgrade to 0.55.0 (#29051) --- package-lock.json | 195 +++++----- package.json | 20 +- .../ai/DocumentIntelligence/routes.tsp | 16 +- specification/ai/Face/models.session.tsp | 8 + .../HealthInsights.Common/primitives.tsp | 2 +- .../HealthInsights.OpenAPI/service.tsp | 1 - specification/ai/ImageAnalysis/main.tsp | 1 - specification/ai/ImageAnalysis/routes.tsp | 4 +- specification/ai/OpenAI.Assistants/client.tsp | 352 +++++++++--------- specification/ai/OpenAI.Assistants/main.tsp | 23 +- .../ai/OpenAI.Assistants/runs/routes.tsp | 2 +- .../Face/preview/v1.1-preview.1/Face.json | 19 +- .../apicenter/ApiCenter.Management/Api.tsp | 3 +- .../ApiCenter.Management/ApiDefinition.tsp | 6 +- .../ApiCenter.Management/ApiVersion.tsp | 6 +- .../ApiCenter.Management/DeletedService.tsp | 1 - .../ApiCenter.Management/Deployment.tsp | 6 +- .../ApiCenter.Management/Environment.tsp | 6 +- .../ApiCenter.Management/MetadataSchema.tsp | 3 +- .../ApiCenter.Management/Service.tsp | 3 +- .../ApiCenter.Management/Workspace.tsp | 6 +- .../apicenter/ApiCenter.Management/main.tsp | 13 +- .../azure.apicenter.dataapi.json | 18 - .../preview/2024-03-15-preview/apicenter.json | 24 -- .../stable/2024-03-01/apicenter.json | 24 -- .../models.tsp | 4 +- .../AzureLargeInstance.tsp | 24 +- .../AzureLargeStorageInstance.tsp | 1 - .../azurelargeinstance.json | 22 +- specification/batch/Azure.Batch/routes.tsp | 54 +-- .../preview/2024-02-01.19.0/BatchService.json | 18 - .../CertificateProfile.tsp | 1 - .../CodeSigningAccount.tsp | 1 - .../codeSigningAccount.json | 18 - .../AnomalyDetector/main.tsp | 1 - .../AnomalyDetector/multivariate/models.tsp | 6 +- .../AnomalyDetector/multivariate/routes.tsp | 10 +- .../AnomalyDetector/univariate/routes.tsp | 6 +- .../cognitiveservices/ContentSafety/main.tsp | 1 - .../ContentSafety/routes.tsp | 16 +- .../models/sentiment.analysis.tsp | 5 +- .../Language.Conversations/common.tsp | 6 +- .../OpenAI.Inference/main.tsp | 1 - .../models/audio/audio_speech.tsp | 2 +- .../OpenAI.Inference/models/audio/common.tsp | 2 +- .../analyzeconversations.json | 12 +- .../2023-11-15-preview/analyzetext.json | 6 +- .../analyzeconversations.json | 12 +- .../2022-05-01/analyzeconversations.json | 12 +- .../stable/2022-05-01/analyzetext.json | 6 +- .../2023-04-01/analyzeconversations.json | 12 +- .../stable/2023-04-01/analyzetext.json | 6 +- .../2024-05-01/analyzeconversations.json | 12 +- .../Communication.JobRouter/models.tsp | 10 +- .../Communication.JobRouter/routes.tsp | 12 +- .../Communication.Messages/models.tsp | 2 +- .../Community.Management/main.tsp | 2 +- .../stable/2023-11-01/CommunityTrainings.json | 18 - .../Microsoft.CodeTransparency/models.tsp | 21 +- .../Microsoft.ManagedCcf/main.tsp | 1 - .../preview/2024-01-11-preview/cts.json | 18 - .../preview/2023-06-01-preview/mccfgov.json | 10 - .../Fleet.Management/fleet.tsp | 21 +- .../Fleet.Management/fleetmember.tsp | 14 +- .../Fleet.Management/helpers.tsp | 18 +- .../Fleet.Management/update/run.tsp | 19 +- .../Fleet.Management/update/strategy.tsp | 8 +- .../ContainerStorage.Management/pool.tsp | 3 +- .../ContainerStorage.Management/snapshot.tsp | 1 - .../ContainerStorage.Management/volume.tsp | 1 - .../2023-07-01-preview/containerstorage.json | 18 - .../Contoso.WidgetManager/main.tsp | 2 +- .../preview/2022-11-01-preview/widgets.json | 18 - .../DatabaseWatcher.Management/watcher.tsp | 3 +- .../preview/2023-09-01-preview/Watcher.json | 18 - .../devcenter/DevCenter/DevBox/routes.tsp | 54 +-- .../DevCenter/Environments/routes.tsp | 6 +- .../devcenter/DevCenter/shared/routes.tsp | 1 + .../devcenter/DevCenter/shared/templates.tsp | 64 ++++ specification/devcenter/data-plane/readme.md | 4 + .../DeveloperSigning/main.tsp | 2 +- .../Microsoft.DevOpsInfrastructure/main.tsp | 19 +- .../devopsinfrastructure.json | 30 +- .../edgezones/EdgeZones.Management/main.tsp | 18 +- .../preview/2024-04-01-preview/edgezones.json | 18 - .../main.tsp | 1 - .../Azure.Messaging.EventGrid/main.tsp | 17 +- .../stable/2024-01-01/SystemEvents.json | 16 - .../2023-10-04-preview/iotoperationsmq.json | 18 - .../2023-10-01-preview/kubernetesruntime.json | 24 -- .../stable/2024-03-01/kubernetesruntime.json | 24 -- .../Astronomer.Astro.Management/main.tsp | 2 +- .../2023-08-01-preview/astronomer.json | 18 - .../customOperation.tsp | 7 +- .../LoadTestService.Management/models.tsp | 5 +- .../LoadTestService.Management/routes.tsp | 6 - .../LoadTestService/routes.tsp | 12 +- .../Azure.AI.ChatProtocol/main.tsp | 13 +- .../AzureAI.Assets/routes.tsp | 14 +- .../2024-04-01-preview/azure-ai-assets.json | 18 - .../amfdeployment.tsp | 11 - .../clusterservice.tsp | 10 - .../MobilePacketCore.Management/common.tsp | 17 +- .../nrfdeployment.tsp | 11 - .../nssfdeployment.tsp | 11 - .../observabilityservice.tsp | 10 - .../smfdeployment.tsp | 11 - .../upfdeployment.tsp | 11 - .../2023-10-15-preview/mobilepacketcore.json | 18 - .../Microsoft.Monitor/typespec/service.tsp | 1 + .../2023-10-01-preview/azuremonitor.json | 18 - .../networkfunction.tsp | 46 +-- .../2023-05-15-preview/networkfunction.json | 22 +- .../NetworkAnalytics.Management/main.tsp | 2 +- .../stable/2023-11-15/networkanalytics.json | 18 - .../CopilotSettings.tsp | 19 +- .../CopilotSettings.Management/models.tsp | 10 - .../ExtensionTenantCompileFile.tsp | 9 - .../Extension.Management/main.tsp | 4 - .../Extension.Management/models.tsp | 13 +- .../preview/2024-02-09-preview/openapi.json | 18 - .../routes.tsp | 48 +-- .../PurviewPolicy.Management/policy.tsp | 2 +- .../Quantum.Workspace/operations/storage.tsp | 2 +- .../preview/2023-03-01-preview/easm.json | 18 - .../schemaregistry/SchemaRegistry/main.tsp | 9 +- .../stable/2021-10/schemaregistry.json | 30 -- .../stable/2022-10/schemaregistry.json | 58 +-- .../stable/2023-07-01/schemaregistry.json | 67 ++-- .../sphere/Sphere.Management/catalog.tsp | 15 +- .../sphere/Sphere.Management/certificate.tsp | 10 +- .../sphere/Sphere.Management/deployment.tsp | 11 +- .../sphere/Sphere.Management/device.tsp | 8 - .../sphere/Sphere.Management/deviceGroup.tsp | 10 +- .../sphere/Sphere.Management/image.tsp | 10 +- .../sphere/Sphere.Management/models.tsp | 6 - .../sphere/Sphere.Management/product.tsp | 1 - .../main.tsp | 288 +++++++------- .../preview/2024-03-01-preview/splitio.json | 18 - .../Azure.AI.DocumentTranslation/models.tsp | 4 + .../Azure.AI.TextTranslation/main.tsp | 1 - .../models-breaksentence.tsp | 2 +- .../models-dictionary.tsp | 4 +- .../models-translate.tsp | 16 +- .../models-transliterate.tsp | 2 +- .../Azure.AI.TextTranslation/routes.tsp | 2 +- .../stable/2024-05-01/openapi.json | 23 +- .../stable/v3.0/openapi.json | 59 ++- specification/vmware/Microsoft.AVS/models.tsp | 13 +- specification/vmware/Microsoft.AVS/routes.tsp | 34 +- .../stable/2023-09-01/vmware.json | 24 +- .../VoiceServices.Provisioning/main.tsp | 4 +- .../preview/2024-02-29-preview/swagger.json | 18 - .../Workloads.Operations.Management/main.tsp | 5 +- .../models.tsp | 11 - .../SAPDiscoverySite.tsp | 10 +- .../SAPInstance.tsp | 8 - .../ServerInstance.tsp | 9 - .../models.tsp | 5 - .../Monitor.tsp | 14 +- .../ProviderInstance.tsp | 9 - .../SapLandscapeMonitor.tsp | 3 +- .../Workloads.SAPMonitor.Management/main.tsp | 3 - .../models.tsp | 67 +--- .../2023-10-01-preview/SAPDiscoverySites.json | 18 - .../preview/2023-12-01-preview/monitors.json | 65 +--- .../2023-10-01-preview/operations.json | 27 +- .../2023-12-01-preview/operations.json | 27 +- 168 files changed, 1084 insertions(+), 1992 deletions(-) create mode 100644 specification/devcenter/DevCenter/shared/templates.tsp diff --git a/package-lock.json b/package-lock.json index ab1ec1024369..3ea718b72edc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,17 +7,17 @@ "name": "azure-rest-api-specs", "devDependencies": { "@azure-tools/typespec-apiview": "0.4.8", - "@azure-tools/typespec-autorest": "0.41.0", - "@azure-tools/typespec-azure-core": "0.41.0", - "@azure-tools/typespec-azure-resource-manager": "0.41.0", - "@azure-tools/typespec-client-generator-core": "0.41.3", + "@azure-tools/typespec-autorest": "0.42.0", + "@azure-tools/typespec-azure-core": "0.42.0", + "@azure-tools/typespec-azure-resource-manager": "0.42.0", + "@azure-tools/typespec-client-generator-core": "0.42.0", "@azure/avocado": "^0.8.4", - "@typespec/compiler": "0.55.0", - "@typespec/http": "0.55.0", - "@typespec/openapi": "0.55.0", - "@typespec/openapi3": "0.55.0", - "@typespec/rest": "0.55.0", - "@typespec/versioning": "0.55.0", + "@typespec/compiler": "0.56.0", + "@typespec/http": "0.56.0", + "@typespec/openapi": "0.56.0", + "@typespec/openapi3": "0.56.0", + "@typespec/rest": "0.56.0", + "@typespec/versioning": "0.56.0", "azure-rest-api-specs-eng-tools": "file:eng/tools", "prettier": "~3.2.5", "typescript": "~5.4.5" @@ -32,9 +32,9 @@ } }, "eng/tools/node_modules/@types/node": { - "version": "18.19.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz", - "integrity": "sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==", + "version": "18.19.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.33.tgz", + "integrity": "sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -248,59 +248,63 @@ } }, "node_modules/@azure-tools/typespec-autorest": { - "version": "0.41.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.41.0.tgz", - "integrity": "sha512-yMbzIXKO7jH2+w69nhrQoq6tsvEls1rP62bBduFNY8wGsYNirTnbyRoRmP42gG2cGoa9uXcol9fCprarKysXCw==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.42.0.tgz", + "integrity": "sha512-3cB5SiIbRDvGXpadnxwqsNhQ4A9pteGTHIpVlKpENpvzIoWU9phe+uBmGJDiQ/9CQPiLk7JncER95XYVOvn/vA==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.41.0", - "@azure-tools/typespec-client-generator-core": "~0.41.0", - "@typespec/compiler": "~0.55.0", - "@typespec/http": "~0.55.0", - "@typespec/openapi": "~0.55.0", - "@typespec/rest": "~0.55.0", - "@typespec/versioning": "~0.55.0" + "@azure-tools/typespec-azure-core": "~0.42.0", + "@azure-tools/typespec-client-generator-core": "~0.42.0", + "@typespec/compiler": "~0.56.0", + "@typespec/http": "~0.56.0", + "@typespec/openapi": "~0.56.0", + "@typespec/rest": "~0.56.0", + "@typespec/versioning": "~0.56.0" } }, "node_modules/@azure-tools/typespec-azure-core": { - "version": "0.41.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.41.0.tgz", - "integrity": "sha512-bnVrLxyjhMfKv75POL3m+lWjyqpLtWYEM9t2mrhFECHfW3+gWzTKIg98oNMKLXmev/sCc9QhbkKLs72jqxNL1Q==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.42.0.tgz", + "integrity": "sha512-8C96RkgSWtgqsaHRMWCd2iDltFJZTGmFQiTZazZj/uRy0Wn1ikjSriSN8t1puL5SiUPd0BVJP/YXiwAfjfZYDA==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.55.0", - "@typespec/http": "~0.55.0", - "@typespec/rest": "~0.55.0" + "@typespec/compiler": "~0.56.0", + "@typespec/http": "~0.56.0", + "@typespec/rest": "~0.56.0" } }, "node_modules/@azure-tools/typespec-azure-resource-manager": { - "version": "0.41.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.41.0.tgz", - "integrity": "sha512-KPeQQle+hd508bkRjWHDsUXhoLjXVJg0DQyPM9wIxf+3cE0yH0aUxWPU6aj+aTio84226ExO2Qh8IadqgoQ5qg==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.42.0.tgz", + "integrity": "sha512-RCqcrhE1yniAih5vDFOC5K4MpDr9XmG8qBB39G49/KyEKnWOQ3Nwvt/6fXaU42D9X2L6kfEAIz/AdiSJ/H5O6w==", "dev": true, + "dependencies": { + "change-case": "~5.4.4", + "pluralize": "^8.0.0" + }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-autorest": "~0.41.0", - "@azure-tools/typespec-azure-core": "~0.41.0", - "@typespec/compiler": "~0.55.0", - "@typespec/http": "~0.55.0", - "@typespec/openapi": "~0.55.0", - "@typespec/rest": "~0.55.0", - "@typespec/versioning": "~0.55.0" + "@azure-tools/typespec-autorest": "~0.42.0", + "@azure-tools/typespec-azure-core": "~0.42.0", + "@typespec/compiler": "~0.56.0", + "@typespec/http": "~0.56.0", + "@typespec/openapi": "~0.56.0", + "@typespec/rest": "~0.56.0", + "@typespec/versioning": "~0.56.0" } }, "node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.41.3", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.41.3.tgz", - "integrity": "sha512-f5H6gz7GCi0kUd7/8LoyJaMq68E0fNldZKQPxUIxqwlQHTFUI/7K37kCkOMNVk8gqmLgLKCShBLhE7zONKe8MA==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.42.0.tgz", + "integrity": "sha512-yjT71LdErZ4/BNwTrfvqCcaZqYhZm/E5/58LibbQ/5xJusaacBjTGe5iRpDi5Xf5ETQ6twFlZ6Y1ovWwgYDZag==", "dev": true, "dependencies": { "change-case": "~5.4.4", @@ -310,11 +314,11 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.41.0", - "@typespec/compiler": "~0.55.0", - "@typespec/http": "~0.55.0", - "@typespec/rest": "~0.55.0", - "@typespec/versioning": "~0.55.0" + "@azure-tools/typespec-azure-core": "~0.42.0", + "@typespec/compiler": "~0.56.0", + "@typespec/http": "~0.56.0", + "@typespec/rest": "~0.56.0", + "@typespec/versioning": "~0.56.0" } }, "node_modules/@azure-tools/typespec-validation": { @@ -1375,14 +1379,14 @@ "dev": true }, "node_modules/@typespec/compiler": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.55.0.tgz", - "integrity": "sha512-JxBkP7fTc3yzDYZ+Ms+ZHYlL2Ym22oloLDl6107SGaShNJBdQlabgE0aV8WvYRRBYt8g0RNb+sDLEcjvahj6Gw==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.56.0.tgz", + "integrity": "sha512-K+VhXycoeqcoSGtB0/l1XYco4V2qRsCOOwqklVM4Yew7kTcKVfz7CT7a6a2OKWDMNg5iijZtRBoM5YF50XtQug==", "dev": true, "dependencies": { "@babel/code-frame": "~7.24.2", "ajv": "~8.12.0", - "change-case": "~5.4.3", + "change-case": "~5.4.4", "globby": "~14.0.1", "mustache": "~4.2.0", "picocolors": "~1.0.0", @@ -1503,34 +1507,34 @@ } }, "node_modules/@typespec/http": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.55.0.tgz", - "integrity": "sha512-r30RWzMTJgbyRpdtZxezlvXI/nkAvgilX1OM+s3A039lGLA+JRukgvKIZ3LaNr3lNXHiqeWQDrIZNhqBnpW1zw==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.56.0.tgz", + "integrity": "sha512-f/tpHRWev9bnAtNPFkfCU/5SFou9glA/rPDY0m2W5bK6EG1/6/TKKKz5FoKPA4xvc2dQ5vu/ouGLb4i5UzXvWQ==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.55.0" + "@typespec/compiler": "~0.56.0" } }, "node_modules/@typespec/openapi": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.55.0.tgz", - "integrity": "sha512-5T4VuJSOGfMFSs+1dOl3U3BC6VhKAxSTBrwcQDIEEygnqCSbj/tMFDhNfzKYKARRDotgM8ESOrZU6XH5srVR7A==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.56.0.tgz", + "integrity": "sha512-q8+IHRglXBm3slvonRLSNYN2fX7plbWA+ugIiMJZTeyc3enqfxPqMGA8BCiAFV3kwP0uPPpIXbCSIVhHgkONbA==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.55.0", - "@typespec/http": "~0.55.0" + "@typespec/compiler": "~0.56.0", + "@typespec/http": "~0.56.0" } }, "node_modules/@typespec/openapi3": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.55.0.tgz", - "integrity": "sha512-dfn/wrKSF4Ls1dWMpAguQggoc4HGx2tf3FN2xhBln6EtahNZNgN5sOE+XY0hGPI4MCE5QexMUlXSiXpxzlNA/A==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.56.0.tgz", + "integrity": "sha512-55JPUP7dFk4iXn4fNKZEs76j7hAdlWfoMWNPsQPRJCP//KWCtNXfTP+/TTVPVv1L/6HztbXyPV0agKZwyS7gDw==", "dev": true, "dependencies": { "yaml": "~2.4.1" @@ -1539,35 +1543,35 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.55.0", - "@typespec/http": "~0.55.0", - "@typespec/openapi": "~0.55.0", - "@typespec/versioning": "~0.55.0" + "@typespec/compiler": "~0.56.0", + "@typespec/http": "~0.56.0", + "@typespec/openapi": "~0.56.0", + "@typespec/versioning": "~0.56.0" } }, "node_modules/@typespec/rest": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.55.0.tgz", - "integrity": "sha512-RPZnx5D4xdTNiP0l++9IA8mUhnegPxetbdJ5RaG/QX2fTyF/gQ7t6AHIgdq8DfYVXqukQI/iGytJ135ObftbtQ==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.56.0.tgz", + "integrity": "sha512-8w4WhWDcpEQNW8bB1BHhiBxIQUChDJtyq/n9p2OI/Bm1wncd61y/ZNOtcxmlKq8uB9d+dzHiZdEfqFCR8HF8/Q==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.55.0", - "@typespec/http": "~0.55.0" + "@typespec/compiler": "~0.56.0", + "@typespec/http": "~0.56.0" } }, "node_modules/@typespec/versioning": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.55.0.tgz", - "integrity": "sha512-89LTgkA3IBLnaaM4D4qfsrcEU0g3gasE1MmkrQ2HG21fYX88zKbmR1cKWeUxQx9MIXFOH4cPC9KhA/uLknRVMQ==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.56.0.tgz", + "integrity": "sha512-j7IN9XFyGn3LH6IOJkinEvk9sDncsxiWPULOAe0VQ+D/dtCfLawDMUALnvklMDRKeD1OOUPSCjjUAp9OB0f7YA==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.55.0" + "@typespec/compiler": "~0.56.0" } }, "node_modules/@vitest/expect": { @@ -2747,18 +2751,6 @@ "get-func-name": "^2.0.1" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/magic-string": { "version": "0.30.10", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", @@ -3714,13 +3706,10 @@ ] }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.1.tgz", + "integrity": "sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -4070,9 +4059,9 @@ } }, "node_modules/vite-node/node_modules/@types/node": { - "version": "20.12.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.8.tgz", - "integrity": "sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==", + "version": "20.12.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.11.tgz", + "integrity": "sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==", "dev": true, "optional": true, "peer": true, @@ -4305,12 +4294,6 @@ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yaml": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", @@ -4410,9 +4393,9 @@ } }, "node_modules/zod": { - "version": "3.23.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.6.tgz", - "integrity": "sha512-RTHJlZhsRbuA8Hmp/iNL7jnfc4nZishjsanDAfEY1QpDQZCahUp3xDzl+zfweE9BklxMUcgBgS1b7Lvie/ZVwA==", + "version": "3.23.7", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.7.tgz", + "integrity": "sha512-NBeIoqbtOiUMomACV/y+V3Qfs9+Okr18vR5c/5pHClPpufWOrsx8TENboDPe265lFdfewX2yBtNTLPvnmCxwog==", "dev": true, "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/package.json b/package.json index 5e7442bb91ba..80c21c77b07e 100644 --- a/package.json +++ b/package.json @@ -2,17 +2,17 @@ "name": "azure-rest-api-specs", "devDependencies": { "@azure-tools/typespec-apiview": "0.4.8", - "@azure-tools/typespec-autorest": "0.41.0", - "@azure-tools/typespec-azure-core": "0.41.0", - "@azure-tools/typespec-azure-resource-manager": "0.41.0", - "@azure-tools/typespec-client-generator-core": "0.41.3", + "@azure-tools/typespec-autorest": "0.42.0", + "@azure-tools/typespec-azure-core": "0.42.0", + "@azure-tools/typespec-azure-resource-manager": "0.42.0", + "@azure-tools/typespec-client-generator-core": "0.42.0", "@azure/avocado": "^0.8.4", - "@typespec/compiler": "0.55.0", - "@typespec/http": "0.55.0", - "@typespec/openapi": "0.55.0", - "@typespec/openapi3": "0.55.0", - "@typespec/rest": "0.55.0", - "@typespec/versioning": "0.55.0", + "@typespec/compiler": "0.56.0", + "@typespec/http": "0.56.0", + "@typespec/openapi": "0.56.0", + "@typespec/openapi3": "0.56.0", + "@typespec/rest": "0.56.0", + "@typespec/versioning": "0.56.0", "azure-rest-api-specs-eng-tools": "file:eng/tools", "prettier": "~3.2.5", "typescript": "~5.4.5" diff --git a/specification/ai/DocumentIntelligence/routes.tsp b/specification/ai/DocumentIntelligence/routes.tsp index 075dc3b8ccf1..4b2e61453ada 100644 --- a/specification/ai/DocumentIntelligence/routes.tsp +++ b/specification/ai/DocumentIntelligence/routes.tsp @@ -115,7 +115,7 @@ model AnalyzeFromStreamRequestParams { | "application/vnd.openxmlformats-officedocument.presentationml.presentation"; @doc("Input content.") - @body + @bodyRoot input: bytes; } @@ -169,7 +169,7 @@ interface DocumentModels { contentType: "application/json"; @doc("Analyze request parameters.") - @body + @bodyRoot analyzeRequest?: AnalyzeDocumentRequest; }, AnalyzeResultOperation @@ -186,7 +186,7 @@ interface DocumentModels { buildModel is DocumentIntelligenceLongRunningOperation< { @doc("Build request parameters.") - @body + @bodyRoot buildRequest: BuildDocumentModelRequest; }, DocumentModelBuildOperationDetails @@ -200,7 +200,7 @@ interface DocumentModels { composeModel is DocumentIntelligenceLongRunningOperation< { @doc("Compose request parameters.") - @body + @bodyRoot composeRequest: ComposeDocumentModelRequest; }, DocumentModelComposeOperationDetails @@ -216,7 +216,7 @@ interface DocumentModels { authorizeModelCopy is DocumentIntelligenceOperation< { @doc("Authorize copy request parameters.") - @body + @bodyRoot authorizeCopyRequest: AuthorizeCopyRequest; }, CopyAuthorization @@ -236,7 +236,7 @@ interface DocumentModels { modelId: string; @doc("Copy to request parameters.") - @body + @bodyRoot copyToRequest: CopyAuthorization; }, DocumentModelCopyToOperationDetails @@ -290,7 +290,7 @@ interface DocumentClassifiers { buildClassifier is DocumentIntelligenceLongRunningOperation< { @doc("Build request parameters.") - @body + @bodyRoot buildRequest: BuildDocumentClassifierRequest; }, DocumentClassifierBuildOperationDetails @@ -335,7 +335,7 @@ interface DocumentClassifiers { contentType: "application/json"; @doc("Classify request parameters.") - @body + @bodyRoot classifyRequest: ClassifyDocumentRequest; }, AnalyzeResultOperation diff --git a/specification/ai/Face/models.session.tsp b/specification/ai/Face/models.session.tsp index 0768025bed8f..0cfade5db58c 100644 --- a/specification/ai/Face/models.session.tsp +++ b/specification/ai/Face/models.session.tsp @@ -128,8 +128,14 @@ union LivenessDecision { @doc("The type of image.") union ImageType { string, + + /** Color image. */ "Color", + + /** Infrared image. */ "Infrared", + + /** Depth image. */ "Depth", } @@ -148,6 +154,8 @@ model LivenessOutputsTarget { imageType: ImageType; } +#suppress "@azure-tools/typespec-azure-core/documentation-required" "Values are self-documetning." +#suppress "@azure-tools/typespec-azure-core/documentation-required" "Values are self-documetning." @doc("The model version used for liveness classification.") union LivenessModel { string, diff --git a/specification/ai/HealthInsights/HealthInsights.Common/primitives.tsp b/specification/ai/HealthInsights/HealthInsights.Common/primitives.tsp index 626e11c0c425..8e66e939d857 100644 --- a/specification/ai/HealthInsights/HealthInsights.Common/primitives.tsp +++ b/specification/ai/HealthInsights/HealthInsights.Common/primitives.tsp @@ -33,7 +33,7 @@ alias ServiceTraits = NoRepeatableRequests & QueryParametersTrait; model HealthInsightsErrorResponse is Azure.Core.Foundations.ErrorResponse { - ...RequestIdResponseHeaderTrait; + ...RequestIdResponseHeader; } alias HealthInsightsOperations = ResourceOperations< diff --git a/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp b/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp index 58c8a63d2d99..d58ea4d9417c 100644 --- a/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp +++ b/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp @@ -23,7 +23,6 @@ namespace AzureHealthInsights; model AzureKey is ApiKeyAuth; -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum ApiVersion { @useDependency(Azure.Core.Versions.v1_0_Preview_2) v2024_04_01: "2024-04-01", diff --git a/specification/ai/ImageAnalysis/main.tsp b/specification/ai/ImageAnalysis/main.tsp index f4d7878396db..d21501ee098e 100644 --- a/specification/ai/ImageAnalysis/main.tsp +++ b/specification/ai/ImageAnalysis/main.tsp @@ -33,7 +33,6 @@ https://.cognitiveservices.azure.com). ) namespace ImageAnalysis; -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum Versions { @useDependency(Azure.Core.Versions.v1_0_Preview_2) v2023_10_01: "2023-10-01", diff --git a/specification/ai/ImageAnalysis/routes.tsp b/specification/ai/ImageAnalysis/routes.tsp index 1db075b7c439..7038a5d38bb7 100644 --- a/specification/ai/ImageAnalysis/routes.tsp +++ b/specification/ai/ImageAnalysis/routes.tsp @@ -82,7 +82,7 @@ op analyzeFromImageData is Azure.Core.RpcOperation< contentType: "application/octet-stream"; @doc("The image to be analyzed") - @body + @bodyRoot imageData: bytes; ...SharedAnalyzeQuery; @@ -101,7 +101,7 @@ op analyzeFromUrl is Azure.Core.RpcOperation< contentType: "application/json"; @doc("The image to be analyzed") - @body + @bodyRoot imageUrl: ImageUrl; ...SharedAnalyzeQuery; diff --git a/specification/ai/OpenAI.Assistants/client.tsp b/specification/ai/OpenAI.Assistants/client.tsp index 0b74d087a646..77c0386605a9 100644 --- a/specification/ai/OpenAI.Assistants/client.tsp +++ b/specification/ai/OpenAI.Assistants/client.tsp @@ -5,174 +5,186 @@ import "./main.tsp"; using Azure.ClientGenerator.Core; #suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI is a case-sensitive name" +namespace Azure.AI { + +} + +#suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI is a case-sensitive name" +namespace Azure.AI.OpenAI { + +} + @TypeSpec.Versioning.versioned(Azure.AI.OpenAI.Assistants.ServiceApiVersions) -namespace Azure.AI.OpenAI.Assistants; - -// Trivial response value containers should treat these containers as internal details and instead surface a shimmed -// operation that exposes the underlying data directly. -@@clientName(AssistantDeletionStatus, - "InternalAssistantDeletionStatus", - "csharp" -); -@@access(deleteAssistant, Access.internal, "csharp"); -@@clientName(deleteAssistant, "InternalDeleteAssistant", "csharp"); -@@access(AssistantFileDeletionStatus, Access.internal, "csharp"); -@@clientName(AssistantFileDeletionStatus, - "InternalAssistantFileDeletionStatus", - "csharp" -); -@@access(deleteAssistantFile, Access.internal, "csharp"); -@@clientName(deleteAssistantFile, "InternalUnlinkAssistantFile", "csharp"); -@@access(deleteThread, Access.internal, "csharp"); -@@clientName(deleteThread, "InternalDeleteThread", "csharp"); -@@access(listAssistants, Access.internal, "csharp"); -@@clientName(listAssistants, "InternalGetAssistants", "csharp"); -@@access(listAssistantFiles, Access.internal, "csharp"); -@@clientName(listAssistantFiles, "InternalGetAssistantFiles", "csharp"); -@@access(listMessageFiles, Access.internal, "csharp"); -@@clientName(listMessageFiles, "InternalGetMessageFiles", "csharp"); -@@access(listRunSteps, Access.internal, "csharp"); -@@clientName(listRunSteps, "InternalGetRunSteps", "csharp"); -@@access(listMessages, Access.internal, "csharp"); -@@clientName(listMessages, "InternalGetMessages", "csharp"); -@@access(listRuns, Access.internal, "csharp"); -@@clientName(listRuns, "InternalGetRuns", "csharp"); -@@access(FileListResponse, Access.internal, "csharp"); -@@clientName(FileListResponse, "InternalFileListResponse", "csharp"); -@@access(listFiles, Access.internal, "csharp"); -@@clientName(listFiles, "InternalListFiles", "csharp"); -@@access(FileDeletionStatus, Access.internal, "csharp"); -@@clientName(FileDeletionStatus, "InternalFileDeletionStatus", "csharp"); -@@access(deleteFile, Access.internal, "csharp"); -@@clientName(deleteFile, "InternalDeleteFile", "csharp"); - -// In addition to top-level response value containers, trivial intermediate structure -- levels of single-use model -// hierarchy that don't convey explanatory or functional benefit to consumers of the surface -- should also be -// internalized and merged into the more useful top-level type. - -// FunctionToolDefinition: merge FunctionDefinition structure to recast e.g. toolDefinition.function.name into -// toolDefinition.name - -@@access(FunctionDefinition, Access.internal); -@@clientName(FunctionDefinition, "InternalFunctionDefinition", "csharp"); -@@clientName(FunctionToolDefinition.function, "InternalFunction", "csharp"); - -// SubmitToolOutputsAction: include .tool_calls directly rather than via an intermediate .details. - -@@access(SubmitToolOutputsDetails, Access.internal); -@@clientName(SubmitToolOutputsDetails, - "InternalSubmitToolOutputsDetails", - "csharp" -); -@@clientName(SubmitToolOutputsAction.submitToolOutputs, - "InternalDetails", - "csharp" -); - -// RequiredFunctionToolCall, RunStepFunctionToolCall: include name/arguments/output directly - -@@access(RunStepFunctionToolCallDetails, Access.internal); -@@clientName(RunStepFunctionToolCallDetails, - "InternalRunStepFunctionToolCallDetails", - "csharp" -); -@@clientName(RequiredFunctionToolCall.function, "InternalDetails", "csharp"); -@@access(RequiredFunctionToolCallDetails, Access.internal); -@@clientName(RequiredFunctionToolCallDetails, - "InternalRequiredFunctionToolCallDetails", - "csharp" -); -@@clientName(RunStepFunctionToolCall.function, "InternalDetails", "csharp"); - -// RunStepCodeInterpreterToolCall: include input/outputs directly - -@@access(RunStepCodeInterpreterToolCallDetails, Access.internal); -@@clientName(RunStepCodeInterpreterToolCallDetails, - "InternalCodeInterpreterToolCallDetails", - "csharp" -); -@@clientName(RunStepCodeInterpreterToolCall.codeInterpreter, - "InternalDetails", - "csharp" -); - -// MessageTextContent: text/annotations can also merge - -@@access(MessageTextDetails, Access.internal); -@@clientName(MessageTextDetails, "InternalMessageTextDetails", "csharp"); -@@clientName(MessageTextContent.text, "InternalDetails", "csharp"); - -// MessageTextFileCitationAnnotation: file_id/quote don't need another type - -@@access(MessageTextFileCitationDetails, Access.internal); -@@clientName(MessageTextFileCitationDetails, - "InternalMessageTextFileCitationDetails", - "csharp" -); -@@clientName(MessageTextFileCitationAnnotation.fileCitation, - "InternalDetails", - "csharp" -); - -// MessageTextFilePathAnnotation: file_id doesn't need a separate details client type - -@@access(MessageTextFilePathDetails, Access.internal); -@@clientName(MessageTextFilePathDetails, - "InternalMessageTextFilePathDetails", - "csharp" -); -@@clientName(MessageTextFilePathAnnotation.filePath, - "InternalDetails", - "csharp" -); - -// MessageImageFileContent: *two* levels of intermediate structure can be squashed to bring file_id to the parent -// type. Per earlier precedent with image generation, even the introduction of more image file representations (e.g. -// base64) are better accomplished via another approach at the client layer. - -@@access(MessageImageFileDetails, Access.internal); -@@clientName(MessageImageFileDetails, - "InternalMessageImageFileDetails", - "csharp" -); -@@clientName(MessageImageFileContent.imageFile, "InternalDetails", "csharp"); -@@clientName(MessageImageFileDetails.fileId, "InternalDetails", "csharp"); - -// Several of the content item types are not intended to be used as input - -@@usage(MessageTextContent, Usage.output); -@@usage(MessageImageFileContent, Usage.output); -@@usage(MessageTextContent, Usage.output); -@@usage(MessageTextFileCitationAnnotation, Usage.output); -@@usage(MessageTextFilePathAnnotation, Usage.output); - -// Ensure some shared types remain public despite interaction with previously internalized details - -@@access(MessageTextFilePathAnnotation, Access.public); -@@access(MessageTextFileCitationAnnotation, Access.public); -@@access(ListSortOrder, Access.public); -@@access(RequiredToolCall, Access.public); -@@usage(FilePurpose, Usage.input | Usage.output); -@@usage(ListSortOrder, Usage.input | Usage.output); - -// Additional, language-specific idiomatic renames - -@@clientName(OpenAIFile, "OpenAIFile", "csharp"); -@@clientName(OpenAIFile.bytes, "Size", "csharp"); -@@clientName(FilePurpose, "OpenAIFilePurpose", "csharp"); -@@clientName(ThreadMessage.content, "ContentItems", "csharp"); -@@clientName(MessageTextDetails.value, "Text", "csharp"); -@@clientName(CreateRunOptions.`model`, "OverrideModelName", "csharp"); -@@clientName(CreateRunOptions.instructions, "OverrideInstructions", "csharp"); -@@clientName(CreateRunOptions.tools, "OverrideTools", "csharp"); -@@clientName(CreateAndRunThreadOptions.`model`, "OverrideModelName", "csharp"); -@@clientName(CreateAndRunThreadOptions.instructions, - "OverrideInstructions", - "csharp" -); -@@clientName(CreateAndRunThreadOptions.tools, "OverrideTools", "csharp"); -// From https://platform.openai.com/docs/assistants/how-it-works -// "Note that deleting an AssistantFile doesn’t delete the original File object, it simply deletes the association -// between that File and the Assistant." -@@clientName(createAssistantFile, "LinkAssistantFile", "csharp"); -// 'Unlink' counterpart already renamed for DeletionStatus merge +namespace Azure.AI.OpenAI.Assistants { + // Trivial response value containers should treat these containers as internal details and instead surface a shimmed + // operation that exposes the underlying data directly. + @@clientName(AssistantDeletionStatus, + "InternalAssistantDeletionStatus", + "csharp" + ); + @@access(deleteAssistant, Access.internal, "csharp"); + @@clientName(deleteAssistant, "InternalDeleteAssistant", "csharp"); + @@access(AssistantFileDeletionStatus, Access.internal, "csharp"); + @@clientName(AssistantFileDeletionStatus, + "InternalAssistantFileDeletionStatus", + "csharp" + ); + @@access(deleteAssistantFile, Access.internal, "csharp"); + @@clientName(deleteAssistantFile, "InternalUnlinkAssistantFile", "csharp"); + @@access(deleteThread, Access.internal, "csharp"); + @@clientName(deleteThread, "InternalDeleteThread", "csharp"); + @@access(listAssistants, Access.internal, "csharp"); + @@clientName(listAssistants, "InternalGetAssistants", "csharp"); + @@access(listAssistantFiles, Access.internal, "csharp"); + @@clientName(listAssistantFiles, "InternalGetAssistantFiles", "csharp"); + @@access(listMessageFiles, Access.internal, "csharp"); + @@clientName(listMessageFiles, "InternalGetMessageFiles", "csharp"); + @@access(listRunSteps, Access.internal, "csharp"); + @@clientName(listRunSteps, "InternalGetRunSteps", "csharp"); + @@access(listMessages, Access.internal, "csharp"); + @@clientName(listMessages, "InternalGetMessages", "csharp"); + @@access(listRuns, Access.internal, "csharp"); + @@clientName(listRuns, "InternalGetRuns", "csharp"); + @@access(FileListResponse, Access.internal, "csharp"); + @@clientName(FileListResponse, "InternalFileListResponse", "csharp"); + @@access(listFiles, Access.internal, "csharp"); + @@clientName(listFiles, "InternalListFiles", "csharp"); + @@access(FileDeletionStatus, Access.internal, "csharp"); + @@clientName(FileDeletionStatus, "InternalFileDeletionStatus", "csharp"); + @@access(deleteFile, Access.internal, "csharp"); + @@clientName(deleteFile, "InternalDeleteFile", "csharp"); + + // In addition to top-level response value containers, trivial intermediate structure -- levels of single-use model + // hierarchy that don't convey explanatory or functional benefit to consumers of the surface -- should also be + // internalized and merged into the more useful top-level type. + + // FunctionToolDefinition: merge FunctionDefinition structure to recast e.g. toolDefinition.function.name into + // toolDefinition.name + + @@access(FunctionDefinition, Access.internal); + @@clientName(FunctionDefinition, "InternalFunctionDefinition", "csharp"); + @@clientName(FunctionToolDefinition.function, "InternalFunction", "csharp"); + + // SubmitToolOutputsAction: include .tool_calls directly rather than via an intermediate .details. + + @@access(SubmitToolOutputsDetails, Access.internal); + @@clientName(SubmitToolOutputsDetails, + "InternalSubmitToolOutputsDetails", + "csharp" + ); + @@clientName(SubmitToolOutputsAction.submitToolOutputs, + "InternalDetails", + "csharp" + ); + + // RequiredFunctionToolCall, RunStepFunctionToolCall: include name/arguments/output directly + + @@access(RunStepFunctionToolCallDetails, Access.internal); + @@clientName(RunStepFunctionToolCallDetails, + "InternalRunStepFunctionToolCallDetails", + "csharp" + ); + @@clientName(RequiredFunctionToolCall.function, "InternalDetails", "csharp"); + @@access(RequiredFunctionToolCallDetails, Access.internal); + @@clientName(RequiredFunctionToolCallDetails, + "InternalRequiredFunctionToolCallDetails", + "csharp" + ); + @@clientName(RunStepFunctionToolCall.function, "InternalDetails", "csharp"); + + // RunStepCodeInterpreterToolCall: include input/outputs directly + + @@access(RunStepCodeInterpreterToolCallDetails, Access.internal); + @@clientName(RunStepCodeInterpreterToolCallDetails, + "InternalCodeInterpreterToolCallDetails", + "csharp" + ); + @@clientName(RunStepCodeInterpreterToolCall.codeInterpreter, + "InternalDetails", + "csharp" + ); + + // MessageTextContent: text/annotations can also merge + + @@access(MessageTextDetails, Access.internal); + @@clientName(MessageTextDetails, "InternalMessageTextDetails", "csharp"); + @@clientName(MessageTextContent.text, "InternalDetails", "csharp"); + + // MessageTextFileCitationAnnotation: file_id/quote don't need another type + + @@access(MessageTextFileCitationDetails, Access.internal); + @@clientName(MessageTextFileCitationDetails, + "InternalMessageTextFileCitationDetails", + "csharp" + ); + @@clientName(MessageTextFileCitationAnnotation.fileCitation, + "InternalDetails", + "csharp" + ); + + // MessageTextFilePathAnnotation: file_id doesn't need a separate details client type + + @@access(MessageTextFilePathDetails, Access.internal); + @@clientName(MessageTextFilePathDetails, + "InternalMessageTextFilePathDetails", + "csharp" + ); + @@clientName(MessageTextFilePathAnnotation.filePath, + "InternalDetails", + "csharp" + ); + + // MessageImageFileContent: *two* levels of intermediate structure can be squashed to bring file_id to the parent + // type. Per earlier precedent with image generation, even the introduction of more image file representations (e.g. + // base64) are better accomplished via another approach at the client layer. + + @@access(MessageImageFileDetails, Access.internal); + @@clientName(MessageImageFileDetails, + "InternalMessageImageFileDetails", + "csharp" + ); + @@clientName(MessageImageFileContent.imageFile, "InternalDetails", "csharp"); + @@clientName(MessageImageFileDetails.fileId, "InternalDetails", "csharp"); + + // Several of the content item types are not intended to be used as input + + @@usage(MessageTextContent, Usage.output); + @@usage(MessageImageFileContent, Usage.output); + @@usage(MessageTextContent, Usage.output); + @@usage(MessageTextFileCitationAnnotation, Usage.output); + @@usage(MessageTextFilePathAnnotation, Usage.output); + + // Ensure some shared types remain public despite interaction with previously internalized details + + @@access(MessageTextFilePathAnnotation, Access.public); + @@access(MessageTextFileCitationAnnotation, Access.public); + @@access(ListSortOrder, Access.public); + @@access(RequiredToolCall, Access.public); + @@usage(FilePurpose, Usage.input | Usage.output); + @@usage(ListSortOrder, Usage.input | Usage.output); + + // Additional, language-specific idiomatic renames + + @@clientName(OpenAIFile, "OpenAIFile", "csharp"); + @@clientName(OpenAIFile.bytes, "Size", "csharp"); + @@clientName(FilePurpose, "OpenAIFilePurpose", "csharp"); + @@clientName(ThreadMessage.content, "ContentItems", "csharp"); + @@clientName(MessageTextDetails.value, "Text", "csharp"); + @@clientName(CreateRunOptions.`model`, "OverrideModelName", "csharp"); + @@clientName(CreateRunOptions.instructions, "OverrideInstructions", "csharp"); + @@clientName(CreateRunOptions.tools, "OverrideTools", "csharp"); + @@clientName(CreateAndRunThreadOptions.`model`, + "OverrideModelName", + "csharp" + ); + @@clientName(CreateAndRunThreadOptions.instructions, + "OverrideInstructions", + "csharp" + ); + @@clientName(CreateAndRunThreadOptions.tools, "OverrideTools", "csharp"); + // From https://platform.openai.com/docs/assistants/how-it-works + // "Note that deleting an AssistantFile doesn’t delete the original File object, it simply deletes the association + // between that File and the Assistant." + @@clientName(createAssistantFile, "LinkAssistantFile", "csharp"); + // 'Unlink' counterpart already renamed for DeletionStatus merge +} diff --git a/specification/ai/OpenAI.Assistants/main.tsp b/specification/ai/OpenAI.Assistants/main.tsp index b8113066df16..ca1709c74582 100644 --- a/specification/ai/OpenAI.Assistants/main.tsp +++ b/specification/ai/OpenAI.Assistants/main.tsp @@ -14,6 +14,15 @@ using TypeSpec.Versioning; using Azure.Core; #suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI is a case-sensitive name" +namespace Azure.AI { + +} + +#suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI is a case-sensitive name" +namespace Azure.AI.OpenAI { + +} + @useAuth( ApiKeyAuth | OAuth2Auth<[ { @@ -36,11 +45,11 @@ using Azure.Core; ) @versioned(ServiceApiVersions) @doc("Azure OpenAI APIs for Assistants.") -namespace Azure.AI.OpenAI.Assistants; - -@doc("The known set of supported API versions.") -enum ServiceApiVersions { - @useDependency(Azure.Core.Versions.v1_0_Preview_2) - @doc("The initial version of Azure OpenAI Assistants that corresponds to functionality in OpenAI's first beta release.") - v2024_02_15_preview: "2024-02-15-preview", +namespace Azure.AI.OpenAI.Assistants { + @doc("The known set of supported API versions.") + enum ServiceApiVersions { + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + @doc("The initial version of Azure OpenAI Assistants that corresponds to functionality in OpenAI's first beta release.") + v2024_02_15_preview: "2024-02-15-preview", + } } diff --git a/specification/ai/OpenAI.Assistants/runs/routes.tsp b/specification/ai/OpenAI.Assistants/runs/routes.tsp index 1a4f417b33db..c55d1f9e0d74 100644 --- a/specification/ai/OpenAI.Assistants/runs/routes.tsp +++ b/specification/ai/OpenAI.Assistants/runs/routes.tsp @@ -28,7 +28,7 @@ namespace Azure.AI.OpenAI.Assistants; @added(ServiceApiVersions.v2024_02_15_preview) op createRun( @path threadId: string, - @body createRunOptions: CreateRunOptions, + @bodyRoot createRunOptions: CreateRunOptions, ): ThreadRun; /** diff --git a/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json b/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json index 2fe7dfd5b228..96874e91ca99 100644 --- a/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json +++ b/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json @@ -8372,7 +8372,24 @@ ], "x-ms-enum": { "name": "ImageType", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "Color", + "value": "Color", + "description": "Color image." + }, + { + "name": "Infrared", + "value": "Infrared", + "description": "Infrared image." + }, + { + "name": "Depth", + "value": "Depth", + "description": "Depth image." + } + ] } }, "LandmarkCoordinate": { diff --git a/specification/apicenter/ApiCenter.Management/Api.tsp b/specification/apicenter/ApiCenter.Management/Api.tsp index 72253660be4a..844b602d44fb 100644 --- a/specification/apicenter/ApiCenter.Management/Api.tsp +++ b/specification/apicenter/ApiCenter.Management/Api.tsp @@ -6,7 +6,6 @@ import "./Workspace.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -30,7 +29,7 @@ interface Apis { @doc("Checks if specified API exists.") @head head( - ...ResourceInstanceParameters>, + ...ResourceInstanceParameters>, ): OkResponse | ErrorResponse; @doc("Creates new or updates existing API.") createOrUpdate is ArmResourceCreateOrReplaceSync; diff --git a/specification/apicenter/ApiCenter.Management/ApiDefinition.tsp b/specification/apicenter/ApiCenter.Management/ApiDefinition.tsp index f9d3b507b1fe..c53ff8466c97 100644 --- a/specification/apicenter/ApiCenter.Management/ApiDefinition.tsp +++ b/specification/apicenter/ApiCenter.Management/ApiDefinition.tsp @@ -6,7 +6,6 @@ import "./ApiVersion.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -30,7 +29,10 @@ interface ApiDefinitions { @doc("Checks if specified API definition exists.") @head head( - ...ResourceInstanceParameters>, + ...ResourceInstanceParameters< + ApiDefinition, + Foundations.BaseParameters + >, ): OkResponse | ErrorResponse; @doc("Creates new or updates existing API definition.") createOrUpdate is ArmResourceCreateOrReplaceSync; diff --git a/specification/apicenter/ApiCenter.Management/ApiVersion.tsp b/specification/apicenter/ApiCenter.Management/ApiVersion.tsp index 191b24721e13..b2da05e68566 100644 --- a/specification/apicenter/ApiCenter.Management/ApiVersion.tsp +++ b/specification/apicenter/ApiCenter.Management/ApiVersion.tsp @@ -6,7 +6,6 @@ import "./Api.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -30,7 +29,10 @@ interface ApiVersions { @doc("Checks if specified API version exists.") @head head( - ...ResourceInstanceParameters>, + ...ResourceInstanceParameters< + ApiVersion, + Foundations.BaseParameters + >, ): OkResponse | ErrorResponse; @doc("Creates new or updates existing API version.") createOrUpdate is ArmResourceCreateOrReplaceSync; diff --git a/specification/apicenter/ApiCenter.Management/DeletedService.tsp b/specification/apicenter/ApiCenter.Management/DeletedService.tsp index ff8f7a0e7a9a..de00758db489 100644 --- a/specification/apicenter/ApiCenter.Management/DeletedService.tsp +++ b/specification/apicenter/ApiCenter.Management/DeletedService.tsp @@ -7,7 +7,6 @@ import "./Service.tsp"; using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; diff --git a/specification/apicenter/ApiCenter.Management/Deployment.tsp b/specification/apicenter/ApiCenter.Management/Deployment.tsp index 2eab2cf135a1..23676f3cf7bf 100644 --- a/specification/apicenter/ApiCenter.Management/Deployment.tsp +++ b/specification/apicenter/ApiCenter.Management/Deployment.tsp @@ -6,7 +6,6 @@ import "./Api.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -30,7 +29,10 @@ interface Deployments { @doc("Checks if specified API deployment exists.") @head head( - ...ResourceInstanceParameters>, + ...ResourceInstanceParameters< + Deployment, + Foundations.BaseParameters + >, ): OkResponse | ErrorResponse; @doc("Creates new or updates existing API deployment.") createOrUpdate is ArmResourceCreateOrReplaceSync; diff --git a/specification/apicenter/ApiCenter.Management/Environment.tsp b/specification/apicenter/ApiCenter.Management/Environment.tsp index 3825f4dd26fc..80b25db6f81d 100644 --- a/specification/apicenter/ApiCenter.Management/Environment.tsp +++ b/specification/apicenter/ApiCenter.Management/Environment.tsp @@ -6,7 +6,6 @@ import "./Workspace.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -30,7 +29,10 @@ interface Environments { @doc("Checks if specified environment exists.") @head head( - ...ResourceInstanceParameters>, + ...ResourceInstanceParameters< + Environment, + Foundations.BaseParameters + >, ): OkResponse | ErrorResponse; @doc("Creates new or updates existing environment.") createOrUpdate is ArmResourceCreateOrReplaceSync; diff --git a/specification/apicenter/ApiCenter.Management/MetadataSchema.tsp b/specification/apicenter/ApiCenter.Management/MetadataSchema.tsp index e95c4f4d3dae..420d5217eb5b 100644 --- a/specification/apicenter/ApiCenter.Management/MetadataSchema.tsp +++ b/specification/apicenter/ApiCenter.Management/MetadataSchema.tsp @@ -6,7 +6,6 @@ import "./Service.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -32,7 +31,7 @@ interface MetadataSchemas { head( ...ResourceInstanceParameters< MetadataSchema, - BaseParameters + Foundations.BaseParameters >, ): OkResponse | ErrorResponse; @doc("Creates new or updates existing metadata schema.") diff --git a/specification/apicenter/ApiCenter.Management/Service.tsp b/specification/apicenter/ApiCenter.Management/Service.tsp index 3142ab515b00..17ecb746ffa1 100644 --- a/specification/apicenter/ApiCenter.Management/Service.tsp +++ b/specification/apicenter/ApiCenter.Management/Service.tsp @@ -5,7 +5,6 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -20,7 +19,7 @@ model Service is TrackedResource { @segment("services") name: string; - ...Azure.ResourceManager.ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @armResourceOperations diff --git a/specification/apicenter/ApiCenter.Management/Workspace.tsp b/specification/apicenter/ApiCenter.Management/Workspace.tsp index 04c4fbf4a4c4..30d15f122f3b 100644 --- a/specification/apicenter/ApiCenter.Management/Workspace.tsp +++ b/specification/apicenter/ApiCenter.Management/Workspace.tsp @@ -6,7 +6,6 @@ import "./Service.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.ApiCenter; @@ -30,7 +29,10 @@ interface Workspaces { @doc("Checks if specified workspace exists.") @head head( - ...ResourceInstanceParameters>, + ...ResourceInstanceParameters< + Workspace, + Foundations.BaseParameters + >, ): OkResponse | ErrorResponse; @doc("Creates new or updates existing workspace.") createOrUpdate is ArmResourceCreateOrReplaceSync; diff --git a/specification/apicenter/ApiCenter.Management/main.tsp b/specification/apicenter/ApiCenter.Management/main.tsp index 343fa42d52d5..72da97970e24 100644 --- a/specification/apicenter/ApiCenter.Management/main.tsp +++ b/specification/apicenter/ApiCenter.Management/main.tsp @@ -18,7 +18,6 @@ import "./Environment.tsp"; using TypeSpec.Rest; using TypeSpec.Http; using Azure.ResourceManager.Foundations; -using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; using Azure.ClientGenerator.Core; @@ -130,7 +129,7 @@ enum Versions { @segmentOf(TResource) @armResourceList(TResource) op ArmResourceListByParent< - TResource extends ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TBaseParameters = BaseParameters, TParentName extends valueof string = "", TParentFriendlyName extends valueof string = "" @@ -151,7 +150,7 @@ op ArmResourceListByParent< @get @armResourceRead(TResource) op ArmResourceRead< - TResource extends ArmResource, + TResource extends Foundations.Resource, TBaseParameters = BaseParameters >( ...ResourceInstanceParameters, @@ -169,25 +168,25 @@ op ArmResourceRead< @armResourceCreateOrUpdate(TResource) @put op ArmResourceCreateOrReplaceSync< - TResource extends ArmResource, + TResource extends Foundations.Resource, TBaseParameters = BaseParameters >( ...ResourceInstanceParameters, @doc("Resource create parameters.") - @body + @bodyRoot resource: TResource, ): ArmResourceUpdatedResponseWithEtag | ArmResourceCreatedSyncResponseWithEtag | ErrorResponse; @doc("Resource '{name}' create operation succeeded", TResource) -model ArmResourceCreatedSyncResponseWithEtag +model ArmResourceCreatedSyncResponseWithEtag is Body { ...CreatedResponse; ...Azure.Core.EtagResponseEnvelope; } @doc("Resource '{name}' update operation succeeded", TResource) -model ArmResourceUpdatedResponseWithEtag +model ArmResourceUpdatedResponseWithEtag is ArmResponseWithEtag; @doc("Azure operation completed successfully.") diff --git a/specification/apicenter/data-plane/ApiCenter.DataApi/preview/2024-02-01-preview/azure.apicenter.dataapi.json b/specification/apicenter/data-plane/ApiCenter.DataApi/preview/2024-02-01-preview/azure.apicenter.dataapi.json index d9596d47d6f6..4dde16e9291f 100644 --- a/specification/apicenter/data-plane/ApiCenter.DataApi/preview/2024-02-01-preview/azure.apicenter.dataapi.json +++ b/specification/apicenter/data-plane/ApiCenter.DataApi/preview/2024-02-01-preview/azure.apicenter.dataapi.json @@ -1755,24 +1755,6 @@ "url" ] }, - "Versions": { - "type": "string", - "description": "API versions", - "enum": [ - "2024-02-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2024_02_01_preview", - "value": "2024-02-01-preview", - "description": "Preview release version 2024-02-01-preview" - } - ] - } - }, "Workspace": { "type": "object", "description": "Workspace resource model.", diff --git a/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json b/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json index 1e7612565708..b6905c6f97f3 100644 --- a/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json +++ b/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json @@ -4884,30 +4884,6 @@ "url" ] }, - "Versions": { - "type": "string", - "description": "The available API versions.", - "enum": [ - "2024-03-01", - "2024-03-15-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2024_03_01", - "value": "2024-03-01", - "description": "The initial service version" - }, - { - "name": "v2024_03_15_preview", - "value": "2024-03-15-preview", - "description": "Azure API Center 2024-03-15-preview" - } - ] - } - }, "Workspace": { "type": "object", "description": "Workspace entity.", diff --git a/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json b/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json index 187db508ccfd..3362ab052d6f 100644 --- a/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json +++ b/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json @@ -4616,30 +4616,6 @@ "url" ] }, - "Versions": { - "type": "string", - "description": "The available API versions.", - "enum": [ - "2024-03-01", - "2024-03-15-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2024_03_01", - "value": "2024-03-01", - "description": "The initial service version" - }, - { - "name": "v2024_03_15_preview", - "value": "2024-03-15-preview", - "description": "Azure API Center 2024-03-15-preview" - } - ] - } - }, "Workspace": { "type": "object", "description": "Workspace entity.", diff --git a/specification/applicationinsights/ApplicationInsights.LiveMetrics/models.tsp b/specification/applicationinsights/ApplicationInsights.LiveMetrics/models.tsp index ef91821f5844..0d181de4d0f9 100644 --- a/specification/applicationinsights/ApplicationInsights.LiveMetrics/models.tsp +++ b/specification/applicationinsights/ApplicationInsights.LiveMetrics/models.tsp @@ -48,7 +48,7 @@ model IsSubscribedOperationRequestParameters { configurationEtag?: eTag; @doc("Data contract between Application Insights client SDK and Live Metrics. /QuickPulseService.svc/ping uses this as a backup source of machine name, instance name and invariant version.") - @body + @bodyRoot monitoringDataPoint?: MonitoringDataPoint; } @@ -95,7 +95,7 @@ model PublishOperationRequestParameters { #suppress "@azure-tools/typespec-azure-core/request-body-problem" "Need to follow the existing SDK contract." @doc("Data contract between the client and Live Metrics. /QuickPulseService.svc/ping uses this as a backup source of machine name, instance name and invariant version.") - @body + @bodyRoot monitoringDataPoints?: MonitoringDataPoint[]; } diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp index 69ab41898d64..9f388ddbb0f2 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp @@ -6,7 +6,6 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using Azure.ClientGenerator.Core; @@ -52,10 +51,10 @@ operations returns various properties of each Azure Large Instance. listBySubscription is ArmListBySubscription; @doc("The operation to start an Azure Large Instance (only for compute instances)") - start is ArmResourceActionNoBody< + start is ArmResourceActionAsync< AzureLargeInstance, - {}, - OperationStatusResult + void, + Foundations.OperationStatusResult >; @doc("The operation to restart an Azure Large Instance (only for compute instances)") @@ -63,16 +62,16 @@ operations returns various properties of each Azure Large Instance. AzureLargeInstance, { /** When set to 'active', this parameter empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server */ - @body forceParameter?: ForceState; + @bodyRoot forceParameter?: ForceState; }, - OperationStatusResult + Foundations.OperationStatusResult >; @doc("The operation to shutdown an Azure Large Instance (only for compute instances)") - shutdown is ArmResourceActionNoBody< + shutdown is ArmResourceActionAsync< AzureLargeInstance, - {}, - OperationStatusResult + void, + Foundations.OperationStatusResult >; } @@ -95,7 +94,7 @@ operations returns various properties of each Azure Large Instance. @armResourceAction(TResource) @post op ArmResourceActionNoBody< - TResource extends Azure.ResourceManager.Foundations.ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TRequest extends TypeSpec.Reflection.Model, TResponse extends TypeSpec.Reflection.Model | void, TBaseParameters extends TypeSpec.Reflection.Model = Azure.ResourceManager.Foundations.BaseParameters @@ -108,3 +107,8 @@ op ArmResourceActionNoBody< "application/json", "tagsParameter" ); + +// model ForceParameter { +// /** When set to 'active', this parameter empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server */ +// forceParameter?: ForceState; +// } diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp index e3239b3a46be..d24d4692bd8b 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp @@ -6,7 +6,6 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using Azure.ClientGenerator.Core; diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json index 9c542e3a68c5..185bd5eca35e 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json @@ -413,7 +413,7 @@ ], "responses": { "200": { - "description": "The request has succeeded.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" } @@ -478,7 +478,7 @@ ], "responses": { "200": { - "description": "The request has succeeded.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" } @@ -1558,24 +1558,6 @@ } } } - }, - "Versions": { - "type": "string", - "description": "Azure Large Instance api versions.", - "enum": [ - "2023-07-20-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_07_20_preview", - "value": "2023-07-20-preview", - "description": "Azure Large Instance api version 2023-07-20-preview." - } - ] - } } }, "parameters": {} diff --git a/specification/batch/Azure.Batch/routes.tsp b/specification/batch/Azure.Batch/routes.tsp index 803597d80403..3cb0f122b964 100644 --- a/specification/batch/Azure.Batch/routes.tsp +++ b/specification/batch/Azure.Batch/routes.tsp @@ -113,7 +113,7 @@ to Microsoft Support engineers. @clientName("createPoolInternal", "java") createPool is CreateOperation< { - @body + @bodyRoot @doc("The Pool to be created.") pool: BatchPoolCreateContent; }, @@ -212,7 +212,7 @@ a StartTask element, then the Pool keeps the existing StartTask. updatePool is UpdateOperation< BatchPoolHeaders & { @doc("The pool properties to update.") - @body + @bodyRoot pool: BatchPoolUpdateContent; }, RequestSuccessResponseHeaders @@ -246,7 +246,7 @@ more than once every 30 seconds. BatchPoolHeaders & MinimalMetadata & { @doc("The options to use for enabling automatic scaling.") - @body + @bodyRoot content: BatchPoolEnableAutoScaleContent; }, RequestSuccessResponseHeaders @@ -267,7 +267,7 @@ scaling enabled in order to evaluate a formula. poolId: string; @doc("The options to use for evaluating the automatic scaling formula.") - @body + @bodyRoot content: BatchPoolEvaluateAutoScaleContent; }, AutoScaleRun & RequestSuccessResponseHeaders @@ -289,7 +289,7 @@ Nodes, use the Pool remove Compute Nodes API instead. BatchPoolHeaders & MinimalMetadata & { @doc("The options to use for resizing the pool.") - @body + @bodyRoot content: BatchPoolResizeContent; }, AcceptedProcessingResponseHeaders @@ -327,7 +327,7 @@ with this request, then the Batch service will remove the existing StartTask. poolId: string; @doc("The options to use for replacing properties on the pool.") - @body + @bodyRoot pool: BatchPoolReplaceContent; }, NoContentSuccessResponseHeaders @@ -345,7 +345,7 @@ Each request may remove up to 100 nodes. BatchPoolHeaders & MinimalMetadata & { @doc("The options to use for removing the node.") - @body + @bodyRoot content: BatchNodeRemoveContent; }, AcceptedProcessingResponseHeaders @@ -452,7 +452,7 @@ element, then the Job keeps the existing constraints. jobId: string; @doc("The options to use for updating the Job.") - @body + @bodyRoot job: BatchJobUpdateContent; }, RequestSuccessResponseHeaders @@ -473,7 +473,7 @@ with this request, then the Batch service will remove the existing constraints. jobId: string; @doc("A job with updated properties") - @body + @bodyRoot job: BatchJob; }, RequestSuccessResponseHeaders @@ -500,7 +500,7 @@ the request fails with status code 409. jobId: string; @doc("The options to use for disabling the Job.") - @body + @bodyRoot content: BatchJobDisableContent; }, AcceptedProcessingResponseHeaders @@ -545,7 +545,7 @@ Tasks cannot be added and any remaining active Tasks will not be scheduled. jobId: string; @doc("The options to use for terminating the Job.") - @body + @bodyRoot parameters?: BatchJobTerminateContent; }, AcceptedProcessingResponseHeaders @@ -568,7 +568,7 @@ engineers. createJob is CreateOperation< { @doc("The Job to be created.") - @body + @bodyRoot job: BatchJobCreateContent; }, {} @@ -773,7 +773,7 @@ running Jobs are unaffected. jobScheduleId: string; @doc("The options to use for updating the Job Schedule.") - @body + @bodyRoot jobSchedule: BatchJobScheduleUpdateContent; }, RequestSuccessResponseHeaders @@ -796,7 +796,7 @@ running Jobs are unaffected. jobScheduleId: string; @doc("A Job Schedule with updated properties") - @body + @bodyRoot jobSchedule: BatchJobSchedule; }, RequestSuccessResponseHeaders @@ -848,7 +848,7 @@ running Jobs are unaffected. createJobSchedule is CreateOperation< { @doc("The Job Schedule to be created.") - @body + @bodyRoot jobSchedule: BatchJobScheduleCreateContent; }, {} @@ -900,7 +900,7 @@ the Batch service and left in whatever state it was in at that time. jobId: string; @doc("The Task to be created.") - @body + @bodyRoot task: BatchTaskCreateContent; }, {} @@ -971,7 +971,7 @@ service and left in whatever state it was in at that time. jobId: string; @doc("The Tasks to be added.") - @body + @bodyRoot taskCollection: BatchTaskGroup; }, BatchTaskAddCollectionResult @@ -1053,7 +1053,7 @@ information about subtasks. taskId: string; @doc("The Task to update.") - @body + @bodyRoot task: BatchTask; }, RequestSuccessResponseHeaders @@ -1105,7 +1105,7 @@ primary task; subtasks are then terminated asynchronously in the background. @path taskId: string; }, - DataServiceResponseHeaders + NoContentResponse & DataServiceResponseHeaders >; @summary(""" @@ -1133,7 +1133,7 @@ will fail if the Job has completed (or is terminating or deleting). @path taskId: string; }, - DataServiceResponseHeaders + NoContentResponse & DataServiceResponseHeaders >; @summary("Deletes the specified Task file from the Compute Node where the Task ran.") @@ -1176,7 +1176,7 @@ format is bytes=startRange-endRange. @header("content-type") contentType: "application/octet-stream"; - @body + @bodyRoot @doc("A response containing the file content.") file: bytes; } @@ -1241,7 +1241,7 @@ running state. nodeId: string; @doc("The options to use for creating the user.") - @body + @bodyRoot user: BatchNodeUserCreateContent; }, {} @@ -1301,7 +1301,7 @@ Account on a Compute Node only when it is in the idle or running state. userName: string; @doc("The options to use for updating the user.") - @body + @bodyRoot content: BatchNodeUserUpdateContent; }, RequestSuccessResponseHeaders @@ -1346,7 +1346,7 @@ Account on a Compute Node only when it is in the idle or running state. nodeId: string; @doc("The options to use for rebooting the Compute Node.") - @body + @bodyRoot parameters?: BatchNodeRebootContent; }, AcceptedProcessingResponseHeaders @@ -1370,7 +1370,7 @@ scheduling state is enabled. nodeId: string; @doc("The options to use for disabling scheduling on the Compute Node.") - @body + @bodyRoot parameters?: BatchNodeDisableSchedulingContent; }, RequestSuccessResponseHeaders @@ -1443,7 +1443,7 @@ Protocol file. nodeId: string; @doc("The Azure Batch service log files upload options.") - @body + @bodyRoot content: UploadBatchServiceLogsContent; }, UploadBatchServiceLogsResult @@ -1571,7 +1571,7 @@ format is bytes=startRange-endRange. @header("content-type") contentType: "application/octet-stream"; - @body + @bodyRoot @doc("A response containing the file content.") file: bytes; } diff --git a/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json b/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json index 0bbaab972290..d48941f3dabc 100644 --- a/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json +++ b/specification/batch/data-plane/Azure.Batch/preview/2024-02-01.19.0/BatchService.json @@ -15608,24 +15608,6 @@ } } }, - "Versions": { - "type": "string", - "description": "The Azure Batch service version.", - "enum": [ - "2024-02-01.19.0" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2024_02_01", - "value": "2024-02-01.19.0", - "description": "API Version 2024-02-01.19.0" - } - ] - } - }, "VirtualMachineConfiguration": { "type": "object", "description": "The configuration for Compute Nodes in a Pool based on the Azure Virtual\nMachines infrastructure.", diff --git a/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp b/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp index 221f6cc39116..55ebaa3d6001 100644 --- a/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp +++ b/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp @@ -7,7 +7,6 @@ import "./CodeSigningAccount.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; diff --git a/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp b/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp index e93de39ef2cc..4355346b7284 100644 --- a/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp +++ b/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp @@ -6,7 +6,6 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; diff --git a/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json b/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json index 92d3eef9970d..c39c884ded31 100644 --- a/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json +++ b/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json @@ -1390,24 +1390,6 @@ } ] } - }, - "Versions": { - "type": "string", - "description": "The available API versions.", - "enum": [ - "2024-02-05-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2024_02_05_preview", - "value": "2024-02-05-preview", - "description": "The 2024-02-05-preview API version." - } - ] - } } }, "parameters": {} diff --git a/specification/cognitiveservices/AnomalyDetector/main.tsp b/specification/cognitiveservices/AnomalyDetector/main.tsp index 98b8c9f21d4c..5172ffb61695 100644 --- a/specification/cognitiveservices/AnomalyDetector/main.tsp +++ b/specification/cognitiveservices/AnomalyDetector/main.tsp @@ -52,7 +52,6 @@ namespace AnomalyDetector; model AnomalyDetectorApiKeyAuth is ApiKeyAuth; -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum APIVersion { @TypeSpec.Versioning.useDependency(Azure.Core.Versions.v1_0_Preview_2) v1_1: "v1.1", diff --git a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp index 79602cdde4a9..2c07097dba56 100644 --- a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp +++ b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp @@ -410,5 +410,9 @@ model ResponseError { @doc("Error code.") msErrorCode?: string; - ...ErrorResponse; + @doc("Error code.") + code: string; + + @doc("Message that explains the error that the service reported.") + message: string; } diff --git a/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp b/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp index a04d415149fa..9ef969f400c8 100644 --- a/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp +++ b/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp @@ -57,7 +57,7 @@ op trainMultivariateModel is MultivariateServiceAction< // TParams { @doc("Model information.") - @body + @bodyRoot modelInfo: ModelInfo; }, // TResponse @@ -68,7 +68,7 @@ op trainMultivariateModel is MultivariateServiceAction< @header location: string; - @body result: AnomalyDetectionModel; + @bodyRoot result: AnomalyDetectionModel; } >; @@ -143,7 +143,7 @@ op detectMultivariateBatchAnomaly( modelId: string, @doc("Request of multivariate anomaly detection.") - @body + @bodyRoot options: MultivariateBatchDetectionOptions, ): { @statusCode statusCode: 202; @@ -156,7 +156,7 @@ op detectMultivariateBatchAnomaly( @header("Operation-Location") operationLocation: string; - @body result: MultivariateDetectionResult; + @bodyRoot result: MultivariateDetectionResult; } | ResponseError; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Does not fit any standard operation pattern" @@ -177,6 +177,6 @@ op detectMultivariateLastAnomaly( modelId: string, @doc("Request of the last detection.") - @body + @bodyRoot options: MultivariateLastDetectionOptions, ): MultivariateLastDetectionResult | ResponseError; diff --git a/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp b/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp index fad570c9f1c4..8dd789808bd0 100644 --- a/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp +++ b/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp @@ -29,7 +29,7 @@ op detectUnivariateEntireSeries is UnivariateServiceAction< // TParams { @doc("Method of univariate anomaly detection.") - @body + @bodyRoot options: UnivariateDetectionOptions; }, // TResponse @@ -48,7 +48,7 @@ op detectUnivariateLastPoint is UnivariateServiceAction< // TParams { @doc("Method of univariate anomaly detection.") - @body + @bodyRoot options: UnivariateDetectionOptions; }, // TResponse @@ -64,7 +64,7 @@ op detectUnivariateChangePoint is UnivariateServiceAction< // TParams { @doc("Method of univariate anomaly detection.") - @body + @bodyRoot options: UnivariateChangePointDetectionOptions; }, // TResponse diff --git a/specification/cognitiveservices/ContentSafety/main.tsp b/specification/cognitiveservices/ContentSafety/main.tsp index e4b418194fb5..0624fff0c638 100644 --- a/specification/cognitiveservices/ContentSafety/main.tsp +++ b/specification/cognitiveservices/ContentSafety/main.tsp @@ -37,7 +37,6 @@ https://.cognitiveservices.azure.com). @doc("Analyze harmful content") namespace ContentSafety; -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum Versions { @useDependency(Azure.Core.Versions.v1_0_Preview_2) v2023_10_01: "2023-10-01", diff --git a/specification/cognitiveservices/ContentSafety/routes.tsp b/specification/cognitiveservices/ContentSafety/routes.tsp index 1b5799d772a4..41919cff48b9 100644 --- a/specification/cognitiveservices/ContentSafety/routes.tsp +++ b/specification/cognitiveservices/ContentSafety/routes.tsp @@ -20,7 +20,7 @@ interface TextOperations { @post analyzeText is Azure.Core.RpcOperation< { - @body + @bodyRoot @doc("The text analysis request.") @clientName("options", "csharp") @clientName("options", "python") @@ -37,7 +37,7 @@ interface TextOperations { @post detectTextJailbreak is Azure.Core.RpcOperation< { - @body + @bodyRoot @doc("The text jailbreak analysis request.") @clientName("options", "csharp") @clientName("options", "python") @@ -54,7 +54,7 @@ interface TextOperations { @post detectTextProtectedMaterial is Azure.Core.RpcOperation< { - @body + @bodyRoot @doc("The text protected material analysis request.") @clientName("options", "csharp") @clientName("options", "python") @@ -71,7 +71,7 @@ interface TextOperations { @post detectTextPromptInjectionOptions is Azure.Core.RpcOperation< { - @body + @bodyRoot @doc("The text prompt injection attacks analysis request.") @clientName("options", "csharp") @clientName("options", "python") @@ -90,7 +90,7 @@ interface ImageOperations { analyzeImage is Azure.Core.RpcOperation< { @doc("The image analysis request.") - @body + @bodyRoot @clientName("options", "csharp") @clientName("options", "python") @clientName("options", "java") @@ -130,7 +130,7 @@ interface TextBlocklists { TextBlocklist, { @doc("Options for adding or updating blocklist items.") - @body + @bodyRoot @clientName("options", "csharp") @clientName("options", "python") @clientName("options", "java") @@ -145,7 +145,7 @@ interface TextBlocklists { TextBlocklist, { @doc("Options for removing blocklist items.") - @body + @bodyRoot @clientName("options", "csharp") @clientName("options", "python") @clientName("options", "java") @@ -174,7 +174,7 @@ interface TextGroundednessDetectionOperations { @post detectGroundednessOptions is Azure.Core.RpcOperation< { - @body + @bodyRoot @doc("The text groundedness detection request.") @clientName("options", "csharp") @clientName("options", "python") diff --git a/specification/cognitiveservices/Language.AnalyzeText/models/sentiment.analysis.tsp b/specification/cognitiveservices/Language.AnalyzeText/models/sentiment.analysis.tsp index b51b03ab81f5..2b0d1d028d16 100644 --- a/specification/cognitiveservices/Language.AnalyzeText/models/sentiment.analysis.tsp +++ b/specification/cognitiveservices/Language.AnalyzeText/models/sentiment.analysis.tsp @@ -177,9 +177,10 @@ model TargetRelation { /** The type related to the target. */ #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" // defined as closed enum union TargetRelationType { - #suppress "@azure-tools/typespec-azure-core/documentation-required" + /** Assessment relation. */ assessment: "assessment", - #suppress "@azure-tools/typespec-azure-core/documentation-required" + + /** Target relation. */ target: "target", } diff --git a/specification/cognitiveservices/Language.Conversations/common.tsp b/specification/cognitiveservices/Language.Conversations/common.tsp index 8749fd8ba08d..8fea385220f2 100644 --- a/specification/cognitiveservices/Language.Conversations/common.tsp +++ b/specification/cognitiveservices/Language.Conversations/common.tsp @@ -399,9 +399,11 @@ model SourceFilter is Array; /** Set to 'OR' or 'AND' for using corresponding logical operation. */ union LogicalOperationKind { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "The EnumMember named 'AND' should have a documentation or description, please use decorator @doc to add it." + + /** Logical AND */ AND: "AND", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "The EnumMember named 'OR' should have a documentation or description, please use decorator @doc to add it." + + /** Logical OR */ OR: "OR", } diff --git a/specification/cognitiveservices/OpenAI.Inference/main.tsp b/specification/cognitiveservices/OpenAI.Inference/main.tsp index 098ca33730ba..91a66092c68f 100644 --- a/specification/cognitiveservices/OpenAI.Inference/main.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/main.tsp @@ -40,7 +40,6 @@ https://westus.api.cognitive.microsoft.com). @doc("Azure OpenAI APIs for completions and search") namespace Azure.OpenAI; -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum ServiceApiVersions { @useDependency(Azure.Core.Versions.v1_0_Preview_1) v2022_12_01: "2022-12-01", diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp index b08012449a72..ab0f6c301b25 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp @@ -87,6 +87,6 @@ model SpeechGenerationResponse { contentType: "application/octet-stream"; @doc("The generated audio, generated in the requested audio output format.") - @body + @bodyRoot audio: bytes; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp index 899299988b77..5679ac33d1c9 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/common.tsp @@ -20,6 +20,6 @@ union AudioTaskLabel { alias AudioTextResponse = { @doc("Representation of the response data of audio text.") - @body + @bodyRoot body: string; }; diff --git a/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzeconversations.json b/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzeconversations.json index 8597a294e708..4484ab58dec3 100644 --- a/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzeconversations.json +++ b/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzeconversations.json @@ -3271,11 +3271,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } @@ -3513,11 +3515,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } diff --git a/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json b/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json index ab66eba4e874..741ef3c35a43 100644 --- a/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json +++ b/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json @@ -9010,11 +9010,13 @@ "values": [ { "name": "assessment", - "value": "assessment" + "value": "assessment", + "description": "Assessment relation." }, { "name": "target", - "value": "target" + "value": "target", + "description": "Target relation." } ] } diff --git a/specification/cognitiveservices/data-plane/Language/preview/2024-05-15-preview/analyzeconversations.json b/specification/cognitiveservices/data-plane/Language/preview/2024-05-15-preview/analyzeconversations.json index 3d8ddfd9d81a..cc500468ee76 100644 --- a/specification/cognitiveservices/data-plane/Language/preview/2024-05-15-preview/analyzeconversations.json +++ b/specification/cognitiveservices/data-plane/Language/preview/2024-05-15-preview/analyzeconversations.json @@ -3129,11 +3129,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } @@ -3371,11 +3373,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } diff --git a/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzeconversations.json b/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzeconversations.json index 93b58ffb3608..28dbb60e0de3 100644 --- a/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzeconversations.json +++ b/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzeconversations.json @@ -1784,11 +1784,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } @@ -2010,11 +2012,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } diff --git a/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzetext.json b/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzetext.json index e8215d3f7871..934cdfe7ae9e 100644 --- a/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzetext.json +++ b/specification/cognitiveservices/data-plane/Language/stable/2022-05-01/analyzetext.json @@ -4454,11 +4454,13 @@ "values": [ { "name": "assessment", - "value": "assessment" + "value": "assessment", + "description": "Assessment relation." }, { "name": "target", - "value": "target" + "value": "target", + "description": "Target relation." } ] } diff --git a/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzeconversations.json b/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzeconversations.json index 75e6fb46f69f..680bb55d9d85 100644 --- a/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzeconversations.json +++ b/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzeconversations.json @@ -2461,11 +2461,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } @@ -2703,11 +2705,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } diff --git a/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzetext.json b/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzetext.json index 09b715f6b40b..af36218dc66e 100644 --- a/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzetext.json +++ b/specification/cognitiveservices/data-plane/Language/stable/2023-04-01/analyzetext.json @@ -4900,11 +4900,13 @@ "values": [ { "name": "assessment", - "value": "assessment" + "value": "assessment", + "description": "Assessment relation." }, { "name": "target", - "value": "target" + "value": "target", + "description": "Target relation." } ] } diff --git a/specification/cognitiveservices/data-plane/Language/stable/2024-05-01/analyzeconversations.json b/specification/cognitiveservices/data-plane/Language/stable/2024-05-01/analyzeconversations.json index af2147e67443..49ad01b16a00 100644 --- a/specification/cognitiveservices/data-plane/Language/stable/2024-05-01/analyzeconversations.json +++ b/specification/cognitiveservices/data-plane/Language/stable/2024-05-01/analyzeconversations.json @@ -2941,11 +2941,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } @@ -3183,11 +3185,13 @@ "values": [ { "name": "AND", - "value": "AND" + "value": "AND", + "description": "Logical AND" }, { "name": "OR", - "value": "OR" + "value": "OR", + "description": "Logical OR" } ] } diff --git a/specification/communication/Communication.JobRouter/models.tsp b/specification/communication/Communication.JobRouter/models.tsp index bb5ed77fe782..8632530e081b 100644 --- a/specification/communication/Communication.JobRouter/models.tsp +++ b/specification/communication/Communication.JobRouter/models.tsp @@ -1244,7 +1244,7 @@ model ReclassifyJobResult {} @doc("OK Response payload from reclassifying a job.") model ReclassifyJobResultWithOkResponse { @doc("Response payload from reclassifying a job.") - @body + @bodyRoot body: ReclassifyJobResult; @doc("Status code.") @@ -1260,7 +1260,7 @@ model CloseJobResult {} @doc("Response payload from closing a job synchronously.") model CloseJobResultWithOkResponse { @doc("Response after closing a job.") - @body + @bodyRoot body: CloseJobResult; @doc("Status code.") @@ -1276,7 +1276,7 @@ model CancelJobResult {} @doc("OK Response payload from cancelling a job.") model CancelJobResultWithOkResponse { @doc("Response after cancelling a job.") - @body + @bodyRoot body: CancelJobResult; @doc("Status code.") @@ -1292,7 +1292,7 @@ model CompleteJobResult {} @doc("OK Response payload from completing a job.") model CompleteJobResultWithOkResponse { @doc("Response after completing a job.") - @body + @bodyRoot body: CompleteJobResult; @doc("Status code.") @@ -1308,7 +1308,7 @@ model DeclineJobOfferResult {} @doc("OK Response payload from declining a job.") model DeclineJobOfferResultWithOkResponse { @doc("Response payload from declining a job.") - @body + @bodyRoot body: DeclineJobOfferResult; @doc("Status code.") diff --git a/specification/communication/Communication.JobRouter/routes.tsp b/specification/communication/Communication.JobRouter/routes.tsp index 82b60947f445..d0600261e11f 100644 --- a/specification/communication/Communication.JobRouter/routes.tsp +++ b/specification/communication/Communication.JobRouter/routes.tsp @@ -120,7 +120,7 @@ interface JobRouterOperations { RouterJob, { @doc("Request object for reclassifying a job.") - @body + @bodyRoot options?: ReclassifyJobOptions; }, ReclassifyJobResultWithOkResponse @@ -133,7 +133,7 @@ interface JobRouterOperations { RouterJob, { @doc("Request model for cancelling job.") - @body + @bodyRoot options?: CancelJobOptions; }, CancelJobResultWithOkResponse @@ -146,7 +146,7 @@ interface JobRouterOperations { RouterJobAssignment, { @doc("Request model for completing job.") - @body + @bodyRoot options?: CompleteJobOptions; }, CompleteJobResultWithOkResponse @@ -159,7 +159,7 @@ interface JobRouterOperations { RouterJobAssignment, { @doc("Request model for closing job.") - @body + @bodyRoot options?: CloseJobOptions; }, CloseJobResultWithOkResponse @@ -190,7 +190,7 @@ interface JobRouterOperations { RouterJobAssignment, { @doc("Request body for unassign route.") - @body + @bodyRoot options?: UnassignJobOptions; }, UnassignJobResult @@ -208,7 +208,7 @@ interface JobRouterOperations { RouterJobOffer, { @doc("Request model for declining offer.") - @body + @bodyRoot options?: DeclineJobOfferOptions; }, DeclineJobOfferResultWithOkResponse diff --git a/specification/communication/Communication.Messages/models.tsp b/specification/communication/Communication.Messages/models.tsp index 2681b11be167..deb3876a0910 100644 --- a/specification/communication/Communication.Messages/models.tsp +++ b/specification/communication/Communication.Messages/models.tsp @@ -328,7 +328,7 @@ model CommunicationChannel { @doc("A data stream.") model MessageDataStream { @key - @visibility("read") + @visibility("none") // this model is only used as a parameter @doc("The stream ID.") @clientName("mediaId", "java") id: string; diff --git a/specification/communitytraining/Community.Management/main.tsp b/specification/communitytraining/Community.Management/main.tsp index 7cf0f8d78ca7..bf3d917bd6ba 100644 --- a/specification/communitytraining/Community.Management/main.tsp +++ b/specification/communitytraining/Community.Management/main.tsp @@ -36,7 +36,7 @@ model CommunityTraining is TrackedResource { @path name: string; - ...ResourceSku; + ...ResourceSkuProperty; } @doc("The status of the current operation.") diff --git a/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json b/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json index b1557b2b0815..45f86ef2438f 100644 --- a/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json +++ b/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json @@ -816,24 +816,6 @@ } ] } - }, - "Versions": { - "type": "string", - "description": "Api versions", - "enum": [ - "2023-11-01" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "2023-11-01", - "value": "2023-11-01", - "description": "2023-11-01 api version" - } - ] - } } }, "parameters": {} diff --git a/specification/confidentialledger/Microsoft.CodeTransparency/models.tsp b/specification/confidentialledger/Microsoft.CodeTransparency/models.tsp index c34e560bf8a9..47f0fe623612 100644 --- a/specification/confidentialledger/Microsoft.CodeTransparency/models.tsp +++ b/specification/confidentialledger/Microsoft.CodeTransparency/models.tsp @@ -19,7 +19,7 @@ model ServiceUnavailableError { ...Foundations.ErrorResponse; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" @doc("The Response body of the service parameters") model ParametersResult { serviceCertificate: string; @@ -43,7 +43,7 @@ model CoseEntry { contentType: "application/cose"; @doc("A raw CoseSign1 signature") - @body + @bodyRoot body: bytes; } @@ -54,7 +54,7 @@ model RawEntry { contentType: "application/cbor"; @doc("A raw CBOR content") - @body + @bodyRoot body: bytes; } @@ -133,7 +133,6 @@ model GetOperationResult { status: OperationStatus; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" @doc("Possible statuses of the operation.") @lroStatus union OperationStatus { @@ -236,8 +235,8 @@ model VersionResult { scitt_version: string; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" -#suppress "@azure-tools/typespec-azure-core/casing-style" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" +#suppress "@azure-tools/typespec-azure-core/casing-style" "MUST fix in next update" @doc("The Response body of the Configuration API.") model CodeTransparencyConfiguration { policy?: CodeTransparencyConfigurationPolicy; @@ -248,23 +247,23 @@ model CodeTransparencyConfiguration { service_identifier?: string; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" -#suppress "@azure-tools/typespec-azure-core/casing-style" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" +#suppress "@azure-tools/typespec-azure-core/casing-style" "MUST fix in next update" @doc("Configuration of CCF authentication.") model CodeTransparencyConfigurationAuthentication { allow_unauthenticated: boolean; jwt?: CodeTransparencyConfigurationAuthenticationJwt; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" #suppress "@azure-tools/typespec-azure-core/casing-style" @doc("Configuration of JWT claims") model CodeTransparencyConfigurationAuthenticationJwt { required_claims: Record; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" -#suppress "@azure-tools/typespec-azure-core/casing-style" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" +#suppress "@azure-tools/typespec-azure-core/casing-style" "MUST fix in next update" @doc("Configuration of CCF Authentication policies.") model CodeTransparencyConfigurationPolicy { accepted_algorithms?: string[]; diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp index 195a64da69fc..baafdbb556e0 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp @@ -13,7 +13,6 @@ import "./transactions.tsp"; @TypeSpec.Versioning.versioned(Microsoft.ManagedCcf.Versions) namespace Microsoft.ManagedCcf; -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum Versions { @TypeSpec.Versioning.useDependency(Azure.Core.Versions.v1_0_Preview_2) `2023-06-01-preview`, diff --git a/specification/confidentialledger/data-plane/Microsoft.CodeTransparency/preview/2024-01-11-preview/cts.json b/specification/confidentialledger/data-plane/Microsoft.CodeTransparency/preview/2024-01-11-preview/cts.json index e20cb398f65e..e706aef09f4c 100644 --- a/specification/confidentialledger/data-plane/Microsoft.CodeTransparency/preview/2024-01-11-preview/cts.json +++ b/specification/confidentialledger/data-plane/Microsoft.CodeTransparency/preview/2024-01-11-preview/cts.json @@ -894,24 +894,6 @@ "required": [ "scitt_version" ] - }, - "Versions": { - "type": "string", - "description": "The Microsoft.CodeTransparency service versions.", - "enum": [ - "2024-01-11-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "2024-01-11-preview", - "value": "2024-01-11-preview", - "description": "The 2024-01-11-preview version of the Microsoft.CodeTransparency service." - } - ] - } } }, "parameters": { diff --git a/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json b/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json index cafabab8cd9d..7e9bf462a231 100644 --- a/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json +++ b/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json @@ -2190,16 +2190,6 @@ ] } }, - "Versions": { - "type": "string", - "enum": [ - "2023-06-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true - } - }, "memberId": { "type": "string", "description": "Hex encoding of SHA-256 of a member certificate's fingerprint.", diff --git a/specification/containerservice/Fleet.Management/fleet.tsp b/specification/containerservice/Fleet.Management/fleet.tsp index fac6edb9e0c4..a333c7d5b36e 100644 --- a/specification/containerservice/Fleet.Management/fleet.tsp +++ b/specification/containerservice/Fleet.Management/fleet.tsp @@ -9,7 +9,6 @@ using TypeSpec.Http; using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using Azure.Core; using Azure.Core.Traits; using TypeSpec.OpenAPI; @@ -29,12 +28,12 @@ model Fleet is TrackedResource { @visibility("create", "read") name: string; - ...EntityTag; + ...EntityTagProperty; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "https://github.com/Azure/typespec-azure/issues/2840" @added(Versions.v2023_06_15_preview) @doc("Managed identity.") - identity?: Azure.ResourceManager.Foundations.ManagedIdentityProperties; + identity?: Azure.ResourceManager.Foundations.ManagedServiceIdentity; } @doc("Fleet properties.") @@ -147,16 +146,15 @@ union FleetProvisioningState { @doc("Properties of a Fleet that can be patched.") model FleetPatch { - ...Azure.ResourceManager.Foundations.ArmTagsProperty; - // adding a response header in the model currently impacts the model used in the List result model. // omitting it for now as response headers do not impact SDK generation. // ...EtagResponseEnvelope; + ...Azure.ResourceManager.Foundations.ArmTagsProperty; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "https://github.com/Azure/typespec-azure/issues/2840" @added(Versions.v2023_06_15_preview) @doc("Managed identity.") - identity?: Azure.ResourceManager.Foundations.ManagedIdentityProperties; + identity?: Azure.ResourceManager.Foundations.ManagedServiceIdentity; } @doc("One credential result item.") @@ -188,7 +186,7 @@ interface Fleets { @operationId("Fleets_CreateOrUpdate") create is ArmResourceCreateOrUpdateAsync< Fleet, - BaseParameters & + Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & IfNoneMatchParameters >; @@ -199,7 +197,8 @@ interface Fleets { update is ArmCustomPatchSync< Fleet, FleetPatch, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Use operationId to keep same name as deprecated sync operation" @@ -215,7 +214,8 @@ interface Fleets { updateAsync is ArmCustomPatchAsync< Fleet, FleetPatch, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; #suppress "deprecated" "Existing API" @@ -224,7 +224,8 @@ interface Fleets { // All shared routes must agree on the value of the shared parameter.TypeSpec(@typespec/http/shared-inconsistency) delete is ArmResourceDeleteAsync< Fleet, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; @doc("Lists fleets in the specified subscription and resource group.") diff --git a/specification/containerservice/Fleet.Management/fleetmember.tsp b/specification/containerservice/Fleet.Management/fleetmember.tsp index f04c9a8cffa5..6a954722b77c 100644 --- a/specification/containerservice/Fleet.Management/fleetmember.tsp +++ b/specification/containerservice/Fleet.Management/fleetmember.tsp @@ -6,7 +6,6 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.Core; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.OpenAPI; namespace Microsoft.ContainerService; @@ -25,7 +24,7 @@ model FleetMember is ProxyResource { @visibility("create", "read") name: string; - ...EntityTag; + ...EntityTagProperty; } scalar ClusterResourceId @@ -79,7 +78,7 @@ interface FleetMembers { create is ArmResourceCreateOrUpdateAsync< FleetMember, - BaseParameters & + Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & IfNoneMatchParameters >; @@ -91,7 +90,8 @@ interface FleetMembers { update is ArmResourcePatchSync< FleetMember, FleetMemberProperties, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Use operationId to keep same name as deprecated sync operation" @@ -107,7 +107,8 @@ interface FleetMembers { updateAsync is ArmResourcePatchAsync< FleetMember, FleetMemberProperties, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; #suppress "deprecated" "Existing API" @@ -116,7 +117,8 @@ interface FleetMembers { // All shared routes must agree on the value of the shared parameter.TypeSpec(@typespec/http/shared-inconsistency) delete is ArmResourceDeleteAsync< FleetMember, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; listByParent is ArmResourceListByParent; diff --git a/specification/containerservice/Fleet.Management/helpers.tsp b/specification/containerservice/Fleet.Management/helpers.tsp index 8a2960bfe30d..1833fcf955ad 100644 --- a/specification/containerservice/Fleet.Management/helpers.tsp +++ b/specification/containerservice/Fleet.Management/helpers.tsp @@ -6,25 +6,23 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager; using Azure.ResourceManager.Foundations; -using Azure.Core; -using Azure.Core.Traits; namespace Microsoft.ContainerService; // #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "built-in conditional request includes time based conditional headers" -alias IfMatchParameters = { +alias IfMatchParameters = { @header("If-Match") @doc("The request should only proceed if an entity matches this string.") ifMatch?: string; }; -alias IfNoneMatchParameters = { +alias IfNoneMatchParameters = { @header("If-None-Match") @doc("The request should only proceed if no entity matches this string.") ifNoneMatch?: string; }; -alias IfMatchHeadersParameters = { +alias IfMatchHeadersParameters = { ...IfMatchParameters; ...IfNoneMatchParameters; }; @@ -35,14 +33,14 @@ alias IfMatchHeadersParameters, TBaseParameters = BaseParameters >( ...ResourceInstanceParameters, @doc("The resource properties to be updated.") - @body + @bodyRoot parameters?: TPatchModel, //prevents api breaking change. properties -> parameters ): ArmResponse | ErrorResponse; @@ -59,13 +57,13 @@ op FleetCustomPatchSync< @armResourceCreateOrUpdate(TResource) @put op FleetArmResourceCreateOrUpdateAsync< - TResource extends ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TBaseParameters = BaseParameters >( ...ResourceInstanceParameters, @doc("Resource create parameters.") - @body + @bodyRoot parameters: TResource, //prevent api breaking change. resource -> parameters ): ArmResponse | ArmCreatedResponse | ErrorResponse; @@ -84,7 +82,7 @@ op FleetArmResourceCreateOrUpdateAsync< @armResourceDelete(TResource) @delete op FleetArmResourceDeleteAsync< - TResource extends ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TBaseParameters = BaseParameters >(...ResourceInstanceParameters): | ArmDeletedResponse diff --git a/specification/containerservice/Fleet.Management/update/run.tsp b/specification/containerservice/Fleet.Management/update/run.tsp index 5bf034a473b3..659fede185b6 100644 --- a/specification/containerservice/Fleet.Management/update/run.tsp +++ b/specification/containerservice/Fleet.Management/update/run.tsp @@ -9,9 +9,6 @@ using TypeSpec.Http; using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using Azure.Core.Traits; using TypeSpec.OpenAPI; namespace Microsoft.ContainerService; @@ -30,7 +27,7 @@ model UpdateRun is ProxyResource { @visibility("create", "read") name: string; - ...EntityTag; + ...EntityTagProperty; } @doc("The provisioning state of the UpdateRun resource.") @@ -339,7 +336,7 @@ interface UpdateRuns { createOrUpdate is ArmResourceCreateOrUpdateAsync< UpdateRun, - BaseParameters & + Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & IfNoneMatchParameters >; @@ -348,7 +345,8 @@ interface UpdateRuns { #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "Existing API" delete is ArmResourceDeleteAsync< UpdateRun, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; listByParent is ArmResourceListByParent; @@ -359,7 +357,8 @@ interface UpdateRuns { UpdateRun, void, UpdateRun, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "Existing API" @@ -368,7 +367,8 @@ interface UpdateRuns { UpdateRun, void, UpdateRun, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; @doc("Skips one or a combination of member/group/stage/afterStageWait(s) of an update run.") @@ -377,6 +377,7 @@ interface UpdateRuns { UpdateRun, SkipProperties, UpdateRun, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; } diff --git a/specification/containerservice/Fleet.Management/update/strategy.tsp b/specification/containerservice/Fleet.Management/update/strategy.tsp index 221b3a885cbd..87fe0259b543 100644 --- a/specification/containerservice/Fleet.Management/update/strategy.tsp +++ b/specification/containerservice/Fleet.Management/update/strategy.tsp @@ -9,7 +9,6 @@ using TypeSpec.Http; using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using Azure.Core; using Azure.Core.Traits; using TypeSpec.OpenAPI; @@ -31,7 +30,7 @@ model FleetUpdateStrategy is ProxyResource { @visibility("create", "read") name: string; - ...EntityTag; + ...EntityTagProperty; } @doc("The provisioning state of the UpdateStrategy resource.") @@ -58,7 +57,7 @@ interface FleetUpdateStrategies { createOrUpdate is ArmResourceCreateOrUpdateAsync< FleetUpdateStrategy, - BaseParameters & + Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & IfNoneMatchParameters >; @@ -73,7 +72,8 @@ interface FleetUpdateStrategies { ) delete is ArmResourceDeleteAsync< FleetUpdateStrategy, - BaseParameters & IfMatchParameters + Azure.ResourceManager.Foundations.BaseParameters & + IfMatchParameters >; listByParent is ArmResourceListByParent; diff --git a/specification/containerstorage/ContainerStorage.Management/pool.tsp b/specification/containerstorage/ContainerStorage.Management/pool.tsp index 307ba7af957e..7bcdb9fbf61c 100644 --- a/specification/containerstorage/ContainerStorage.Management/pool.tsp +++ b/specification/containerstorage/ContainerStorage.Management/pool.tsp @@ -6,7 +6,6 @@ using TypeSpec.OpenAPI; using TypeSpec.Http; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; namespace Microsoft.ContainerStorage; @@ -188,7 +187,7 @@ model Encryption { @doc("The URI of the key vault.") keyVaultUri: string; - ...ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @doc("Elastic San Pool Properties") diff --git a/specification/containerstorage/ContainerStorage.Management/snapshot.tsp b/specification/containerstorage/ContainerStorage.Management/snapshot.tsp index 0a5da95d41c5..bd864fb92543 100644 --- a/specification/containerstorage/ContainerStorage.Management/snapshot.tsp +++ b/specification/containerstorage/ContainerStorage.Management/snapshot.tsp @@ -6,7 +6,6 @@ using TypeSpec.OpenAPI; using TypeSpec.Http; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; namespace Microsoft.ContainerStorage; diff --git a/specification/containerstorage/ContainerStorage.Management/volume.tsp b/specification/containerstorage/ContainerStorage.Management/volume.tsp index c24667542874..ebd7e7977645 100644 --- a/specification/containerstorage/ContainerStorage.Management/volume.tsp +++ b/specification/containerstorage/ContainerStorage.Management/volume.tsp @@ -6,7 +6,6 @@ using TypeSpec.OpenAPI; using TypeSpec.Http; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; namespace Microsoft.ContainerStorage; diff --git a/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json b/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json index cdf0e138b5db..a0b571348b7f 100644 --- a/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json +++ b/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json @@ -1806,24 +1806,6 @@ "source" ] }, - "Versions": { - "type": "string", - "description": "Api versions", - "enum": [ - "2023-07-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "2023-07-01-preview", - "value": "2023-07-01-preview", - "description": "2023-07-01-preview preview version" - } - ] - } - }, "Volume": { "type": "object", "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", diff --git a/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp b/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp index 45bebf834f68..7e5e683af7f9 100644 --- a/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp +++ b/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp @@ -47,7 +47,7 @@ interface Widgets { @doc("Creates or updates a Widget asynchronously.") @pollingOperation(Widgets.getWidgetOperationStatus) - createOrUpdateWidget is LongRunningResourceCreateOrUpdate; + createOrUpdateWidget is StandardResourceOperations.LongRunningResourceCreateOrUpdate; @doc("Delete a Widget asynchronously.") @pollingOperation(Widgets.getWidgetOperationStatus) diff --git a/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json b/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json index 09b9e8562daf..22be02d8821e 100644 --- a/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json +++ b/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json @@ -497,24 +497,6 @@ "value" ] }, - "Versions": { - "type": "string", - "description": "Versions info.", - "enum": [ - "2022-11-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2022_11_01_Preview", - "value": "2022-11-01-preview", - "description": "The 2022-11-01-preview version." - } - ] - } - }, "WidgetSuite": { "type": "object", "description": "A widget.", diff --git a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp index 1e3d3431dccc..2f261c2e6eb8 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp @@ -7,6 +7,7 @@ import "./sqlMiTarget.tsp"; import "./sqlVmTarget.tsp"; import "./sharedPrivateLinkResource.tsp"; +#suppress "@azure-tools/typespec-azure-resource-manager/arm-common-types-version" "Using invalid versions of ManagedIdentity" @service({ title: "Microsoft.DatabaseWatcher", }) @@ -39,7 +40,7 @@ model Watcher is TrackedResource { @segment("watchers") name: string; - ...ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @doc("The RP specific properties of the resource.") diff --git a/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json b/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json index e0a47ffc4c19..f14d0a7c82a0 100644 --- a/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json +++ b/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json @@ -1606,24 +1606,6 @@ } } }, - "Versions": { - "type": "string", - "description": "Versions info.", - "enum": [ - "2023-09-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_09_01_preview", - "value": "2023-09-01-preview", - "description": "The 2023-09-01-preview version." - } - ] - } - }, "Watcher": { "type": "object", "description": "The DatabaseWatcherProviderHub resource.", diff --git a/specification/devcenter/DevCenter/DevBox/routes.tsp b/specification/devcenter/DevCenter/DevBox/routes.tsp index a281c1f4a575..9c90be75f861 100644 --- a/specification/devcenter/DevCenter/DevBox/routes.tsp +++ b/specification/devcenter/DevCenter/DevBox/routes.tsp @@ -10,6 +10,10 @@ using TypeSpec.Versioning; namespace DevCenterService; +alias DevCenterOps = DevCenterResourceOperations; + interface DevBoxes { @doc("Lists available pools.") listPools is StandardResourceOperations.ResourceList; @@ -152,7 +156,7 @@ interface DevBoxes { devBoxName: string; @doc("Represents the body request of a Dev Box creation. Dev Box Pool name is required. Optionally set the owner of the Dev Box as local administrator") - @body + @bodyRoot body: DevBox; }, DevBox | { @@ -165,7 +169,7 @@ interface DevBoxes { @header("Operation-Location") operationLocation: string; - @body body?: DevBox; + @bodyRoot body?: DevBox; } >; @@ -208,75 +212,55 @@ interface DevBoxes { @header("Operation-Location") operationLocation: string; - @body body: OperationStatus; + @bodyRoot body: OperationStatus; } | { @statusCode statusCode: 204; } >; + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Replacing Status Monitor" @doc("Starts a Dev Box.") @pollingOperation(OperationStatuses.get) @action("start") - startDevBox is StandardResourceOperations.LongRunningResourceAction< + startDevBox is DevCenterOps.LongRunningResourceAction< DevBox, {}, - { - @statusCode - statusCode: 202; - - @body - body: OperationStatus; - } + OperationStatus >; + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Replacing Status Monitor" @doc("Stops a Dev Box.") @pollingOperation(OperationStatuses.get) @action("stop") - stopDevBox is StandardResourceOperations.LongRunningResourceAction< + stopDevBox is DevCenterOps.LongRunningResourceAction< DevBox, { @doc("Optional parameter to hibernate the dev box.") @query hibernate?: boolean; }, - { - @statusCode - statusCode: 202; - - @body - body: OperationStatus; - } + OperationStatus >; + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Replacing Status Monitor" @doc("Restarts a Dev Box.") @pollingOperation(OperationStatuses.get) @action("restart") - restartDevBox is StandardResourceOperations.LongRunningResourceAction< + restartDevBox is DevCenterOps.LongRunningResourceAction< DevBox, {}, - { - @statusCode - statusCode: 202; - - @body - body: OperationStatus; - } + OperationStatus >; + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Replacing Status Monitor" @doc("Attempts automated repair steps to resolve common problems on a Dev Box. The Dev Box may restart during this operation.") @pollingOperation(OperationStatuses.get) @action("repair") @added(APIVersions.v2024_02_01) - repairDevBox is StandardResourceOperations.LongRunningResourceAction< + repairDevBox is DevCenterOps.LongRunningResourceAction< DevBox, {}, - { - @statusCode - statusCode: 202; - - @body - body: OperationStatus; - } + OperationStatus >; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "can not be represeted by using stand operations" diff --git a/specification/devcenter/DevCenter/Environments/routes.tsp b/specification/devcenter/DevCenter/Environments/routes.tsp index dc9bc308d94c..e978d75a5638 100644 --- a/specification/devcenter/DevCenter/Environments/routes.tsp +++ b/specification/devcenter/DevCenter/Environments/routes.tsp @@ -87,7 +87,7 @@ interface Environments { environmentName: string; @doc("Represents an environment.") - @body + @bodyRoot body: Environment; }, { @@ -98,7 +98,7 @@ interface Environments { @header("Operation-Location") operationLocation: string; - @body body: Environment; + @bodyRoot body: Environment; } >; @@ -174,7 +174,7 @@ interface Environments { @statusCode statusCode: 202; - @body body: OperationStatus; + @bodyRoot body: OperationStatus; @header("Location") location: string; diff --git a/specification/devcenter/DevCenter/shared/routes.tsp b/specification/devcenter/DevCenter/shared/routes.tsp index 2a88ef3ede80..1f297805989b 100644 --- a/specification/devcenter/DevCenter/shared/routes.tsp +++ b/specification/devcenter/DevCenter/shared/routes.tsp @@ -1,5 +1,6 @@ import "@typespec/rest"; import "./models.tsp"; +import "./templates.tsp"; import "@azure-tools/typespec-azure-core"; using Azure.Core; diff --git a/specification/devcenter/DevCenter/shared/templates.tsp b/specification/devcenter/DevCenter/shared/templates.tsp new file mode 100644 index 000000000000..528e612030d2 --- /dev/null +++ b/specification/devcenter/DevCenter/shared/templates.tsp @@ -0,0 +1,64 @@ +import "@typespec/rest"; +import "@azure-tools/typespec-azure-core"; + +using Azure.Core; +using TypeSpec.Rest; +using TypeSpec.Http; + +namespace DevCenterService; + +/** + * Interface containing common resource operations. + * @template InterfaceTraits Traits applicable to the operations. + * @template ErrorResponse Error response of the operations. If not specified, the default error response is used. + */ +@Traits.Private.ensureTraitsPresent( + InterfaceTraits, + ExpectedResourceOperationTraits +) +interface DevCenterResourceOperations< + InterfaceTraits extends TypeSpec.Reflection.Model, + ErrorResponse = Azure.Core.Foundations.ErrorResponse +> { + /** + * Long-running resource action operation template. + * @template Resource Resource type. + * @template Parameters Object describing the parameters of the operation. + * @template StatusResult Object describing the status result of the operation. + * @template StatusError Object describing the status error of the operation. + * @template Traits Object describing the traits of the operation. + */ + #suppress "@azure-tools/typespec-azure-core/long-running-polling-operation-required" "Custom template" + #suppress "@azure-tools/typespec-providerhub/no-inline-model" "This operation signature is not used in Azure Resource Manager operations (yet)" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "This operation must return a status monitor in its response." + @Foundations.Private.ensureVerb("LongRunningResourceAction", "POST") + @action + @actionSeparator(":") + LongRunningResourceAction< + Resource extends TypeSpec.Reflection.Model, + Parameters extends TypeSpec.Reflection.Model, + StatusMonitor extends TypeSpec.Reflection.Model, + Traits extends TypeSpec.Reflection.Model = {} + > is Foundations.ResourceOperation< + Resource, + Parameters & + Azure.Core.Traits.Private.TraitProperties< + Traits & InterfaceTraits, + Azure.Core.Traits.TraitLocation.Parameters, + Azure.Core.Traits.TraitContext.Action + >, + AcceptedResponse & + StatusMonitor & { + @pollingLocation + @doc("The location for monitoring the operation state.") + @TypeSpec.Http.header("Operation-Location") + operationLocation: ResourceLocation; + } & Azure.Core.Traits.Private.TraitProperties< + Traits & InterfaceTraits, + Azure.Core.Traits.TraitLocation.Response, + Azure.Core.Traits.TraitContext.Action + >, + Traits & InterfaceTraits, + ErrorResponse + >; +} diff --git a/specification/devcenter/data-plane/readme.md b/specification/devcenter/data-plane/readme.md index 9eda3afe0fdf..cb6982a86d5c 100644 --- a/specification/devcenter/data-plane/readme.md +++ b/specification/devcenter/data-plane/readme.md @@ -43,6 +43,8 @@ directive: reason: Requires URL format for endpoint params, which violates R2003 and causes problems with codegen - suppress: OperationIdNounVerb reason: DevBoxes and Environments are operations with multiple models. + - suppress: AvoidAnonymousTypes + reason: This rule is irrelevant for data-plane TypeSpec specs. ``` ### Tag: package-2023-10-01-preview @@ -103,6 +105,8 @@ directive: reason: Requires URL format for endpoint params, which violates R2003 and causes problems with codegen - suppress: OperationIdNounVerb reason: DevBoxes and Environments are operations with multiple models. + - suppress: AvoidAnonymousTypes + reason: This rule is irrelevant for data-plane TypeSpec specs. ``` ### Tag: 2023-01-01-preview diff --git a/specification/developersigning/DeveloperSigning/main.tsp b/specification/developersigning/DeveloperSigning/main.tsp index 047b1df9fc7d..ec078c941043 100644 --- a/specification/developersigning/DeveloperSigning/main.tsp +++ b/specification/developersigning/DeveloperSigning/main.tsp @@ -180,7 +180,7 @@ model ExtendedKeyUsage { @doc("Public root certificate from the certificate chain.") model BytesBody { @doc("The root certificate of the certificate chain of this profile.") - @body + @bodyRoot body: bytes; @doc("The content type of the x509 cert.") diff --git a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp index 5173e729b8bc..96d717c0973e 100644 --- a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp +++ b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp @@ -34,7 +34,7 @@ model Pool is TrackedResource { @doc("Name of the pool. It needs to be globally unique.") name: string; - ...ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @doc("Pool properties") @@ -473,10 +473,17 @@ interface ResourceDetails { listByPool is ArmResourceListByParent; } +/** Represents how SKU capacity scales. */ union ResourceSkuCapacityScaleType { string, + + /** Capacity scales automatically. */ "Automatic", + + /** Capactiy scales manually. */ "Manual", + + /** Capacity does not scale. */ "None", } @@ -519,9 +526,14 @@ model ResourceSkuRestrictions { reasonCode?: ResourceSkuRestrictionsReasonCode; } +/** Describes the kind of SKU restrictions that can exist */ union ResourceSkuRestrictionsType { string, + + /** SKU restricted by location. */ "Location", + + /** SKU restricted by availability zone. */ "Zone", } @@ -534,9 +546,14 @@ model ResourceSkuRestrictionInfo { zones?: string[]; } +/** Describes the reason for SKU restriction. */ union ResourceSkuRestrictionsReasonCode { string, + + /** The restriction is due to exceeding a quota limitation. */ "QuotaId", + + /** The restriction is not available for this subscription. */ "NotAvailableForSubscription", } diff --git a/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json b/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json index 8668c743c4a4..227e8c4736df 100644 --- a/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json +++ b/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json @@ -1767,24 +1767,50 @@ }, "ResourceSkuRestrictionsReasonCode": { "type": "string", + "description": "Describes the reason for SKU restriction.", "enum": [ "QuotaId", "NotAvailableForSubscription" ], "x-ms-enum": { "name": "ResourceSkuRestrictionsReasonCode", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "QuotaId", + "value": "QuotaId", + "description": "The restriction is due to exceeding a quota limitation." + }, + { + "name": "NotAvailableForSubscription", + "value": "NotAvailableForSubscription", + "description": "The restriction is not available for this subscription." + } + ] } }, "ResourceSkuRestrictionsType": { "type": "string", + "description": "Describes the kind of SKU restrictions that can exist", "enum": [ "Location", "Zone" ], "x-ms-enum": { "name": "ResourceSkuRestrictionsType", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "Location", + "value": "Location", + "description": "SKU restricted by location." + }, + { + "name": "Zone", + "value": "Zone", + "description": "SKU restricted by availability zone." + } + ] } }, "ResourceSkuZoneDetails": { diff --git a/specification/edgezones/EdgeZones.Management/main.tsp b/specification/edgezones/EdgeZones.Management/main.tsp index 6fd2691dce98..c5511b1efade 100644 --- a/specification/edgezones/EdgeZones.Management/main.tsp +++ b/specification/edgezones/EdgeZones.Management/main.tsp @@ -8,7 +8,6 @@ using TypeSpec.Http; using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; @armProviderNamespace("Microsoft.EdgeZones") @service({ @@ -121,19 +120,6 @@ model ExtendedZone is ProxyResource { name: string; } -// We will use this in an interface -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "All operations must be inside an interface declaration." -@autoRoute -@armResourceAction(TResource) -@post -@doc("Arm Resource Action Taking no request body object and returning result object") -op ArmResourceActionNoBodySync< - TResource extends ArmResource, - TBaseParameters = BaseParameters ->( - ...ResourceInstanceParameters, -): ArmResponse | ErrorResponse; - @doc("ExtendedZone operations") @armResourceOperations interface ExtendedZones { @@ -144,8 +130,8 @@ interface ExtendedZones { listBySubscription is ArmListBySubscription; @doc("Registers a subscription for an Extended Zone") - register is ArmResourceActionNoBodySync; + register is ArmResourceActionSync; @doc("Unregisters a subscription for an Extended Zone") - unregister is ArmResourceActionNoBodySync; + unregister is ArmResourceActionSync; } diff --git a/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json b/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json index 9b8575257b52..24673c025ff4 100644 --- a/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json +++ b/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json @@ -458,24 +458,6 @@ } ] } - }, - "Versions": { - "type": "string", - "description": "Api versions", - "enum": [ - "2024-04-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "2024-04-01-preview", - "value": "2024-04-01-preview", - "description": "2024-04-01-preview api version" - } - ] - } } }, "parameters": {} diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp index fdad98970413..5a7752667ea0 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp +++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp @@ -34,7 +34,6 @@ import "./propertyNameOverride.tsp"; namespace Microsoft.EventGrid.SystemEvents { using TypeSpec.Versioning; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum ServiceApiVersions { v2024_01_01: "2024-01-01", } diff --git a/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp b/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp index 2e20d1cc9db6..5c2c6f99fc19 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp +++ b/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp @@ -46,7 +46,6 @@ namespace Microsoft.EventGrid { using Azure.Core.Foundations; using Azure; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" enum ServiceApiVersions { @useDependency(Azure.Core.Versions.v1_0_Preview_2) v2023_06_01_preview: "2023-06-01-preview", @@ -244,11 +243,11 @@ namespace Microsoft.EventGrid { contentType: "application/cloudevents+json; charset=utf-8"; @doc("Single Cloud Event being published.") - @body + @bodyRoot event: CloudEvent; }, { - @body _: PublishResult; + @bodyRoot _: PublishResult; } >; @@ -264,11 +263,11 @@ namespace Microsoft.EventGrid { #suppress "@azure-tools/typespec-azure-core/request-body-problem" "Not using a container model for CloudEvent is intentional. Went through Stewardship Board review (#21880)." @doc("Array of Cloud Events being published.") - @body + @bodyRoot events: CloudEvent[]; }, { - @body _: PublishResult; + @bodyRoot _: PublishResult; } >; @@ -303,7 +302,7 @@ namespace Microsoft.EventGrid { EventSubscription, { @doc("AcknowledgeOptions.") - @body + @bodyRoot acknowledgeOptions: AcknowledgeOptions; }, AcknowledgeResult @@ -318,7 +317,7 @@ namespace Microsoft.EventGrid { EventSubscription, { @doc("ReleaseOptions") - @body + @bodyRoot releaseOptions: ReleaseOptions; @added(ServiceApiVersions.v2023_10_01_preview) @@ -339,7 +338,7 @@ namespace Microsoft.EventGrid { EventSubscription, { @doc("RejectOptions") - @body + @bodyRoot rejectOptions: RejectOptions; }, RejectResult @@ -355,7 +354,7 @@ namespace Microsoft.EventGrid { EventSubscription, { @doc("RenewLockOptions") - @body + @bodyRoot renewLockOptions: RenewLockOptions; }, RenewCloudEventLocksResult diff --git a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2024-01-01/SystemEvents.json b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2024-01-01/SystemEvents.json index 84a62a7a7bd7..98ffc0458d1e 100644 --- a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2024-01-01/SystemEvents.json +++ b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2024-01-01/SystemEvents.json @@ -7049,22 +7049,6 @@ } } }, - "ServiceApiVersions": { - "type": "string", - "enum": [ - "2024-01-01" - ], - "x-ms-enum": { - "name": "ServiceApiVersions", - "modelAsString": true, - "values": [ - { - "name": "v2024_01_01", - "value": "2024-01-01" - } - ] - } - }, "ServiceBusActiveMessagesAvailablePeriodicNotificationsEventData": { "type": "object", "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications event.", diff --git a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json index bde395fc4dd4..c6b62c125dfc 100644 --- a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json +++ b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json @@ -9154,24 +9154,6 @@ } } }, - "Versions": { - "type": "string", - "description": "Api versions", - "enum": [ - "2023-10-04-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "2023-10-04-preview", - "value": "2023-10-04-preview", - "description": "2023-10-04-preview preview version" - } - ] - } - }, "VolumeClaimDataSource": { "type": "object", "description": "VolumeClaimDataSource properties", diff --git a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json index bb8dba94f9b5..9c3b696670c1 100644 --- a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json +++ b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json @@ -1830,30 +1830,6 @@ } } }, - "Versions": { - "type": "string", - "description": "Versions of KubernetesRuntime service", - "enum": [ - "2023-10-01-preview", - "2024-03-01" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_10_01_preview", - "value": "2023-10-01-preview", - "description": "2023-10-01-preview" - }, - { - "name": "v2024_03_01", - "value": "2024-03-01", - "description": "2024-03-01, added bgpPeers field in LoadBalancer" - } - ] - } - }, "VolumeBindingMode": { "type": "string", "description": "Storage class volume binding mode", diff --git a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json index 728fc581d26f..65aa9e986ce0 100644 --- a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json +++ b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json @@ -1807,30 +1807,6 @@ } } }, - "Versions": { - "type": "string", - "description": "Versions of KubernetesRuntime service", - "enum": [ - "2023-10-01-preview", - "2024-03-01" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_10_01_preview", - "value": "2023-10-01-preview", - "description": "2023-10-01-preview" - }, - { - "name": "v2024_03_01", - "value": "2024-03-01", - "description": "2024-03-01, added bgpPeers field in LoadBalancer" - } - ] - } - }, "VolumeBindingMode": { "type": "string", "description": "Storage class volume binding mode", diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp index 994ec2c48770..d15a786a17fb 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp +++ b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp @@ -41,7 +41,7 @@ model OrganizationResource is TrackedResource { @path name: string; - ...ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @armResourceOperations diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json index 74a1fec76968..53e3bf9d2552 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json @@ -849,24 +849,6 @@ "description": "Organization properties" } } - }, - "Versions": { - "type": "string", - "description": "Supported API versions for the Astronomer.Astro resource provider.", - "enum": [ - "2023-08-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v1_preview", - "value": "2023-08-01-preview", - "description": "Dependent on Azure.ResourceManager.Versions.v1_0_Preview_1, LiftrBase.Versions.v1_preview, LiftrBase.Data.Versions.v1_preview" - } - ] - } } }, "parameters": {} diff --git a/specification/loadtestservice/LoadTestService.Management/customOperation.tsp b/specification/loadtestservice/LoadTestService.Management/customOperation.tsp index 3b30c4c510d0..06d9609a17b8 100644 --- a/specification/loadtestservice/LoadTestService.Management/customOperation.tsp +++ b/specification/loadtestservice/LoadTestService.Management/customOperation.tsp @@ -4,7 +4,6 @@ import "@azure-tools/typespec-azure-resource-manager"; using TypeSpec.Http; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; namespace Microsoft.LoadTestService; @@ -25,10 +24,10 @@ interface CustomOperations { @get @returnsDoc("Azure operation completed successfully.") ArmResourceActionSyncCustomGet< - Resource extends ArmResource, + Resource extends Azure.ResourceManager.Foundations.Resource, Request extends TypeSpec.Reflection.Model | void, Response extends TypeSpec.Reflection.Model | void, - BaseParameters = DefaultBaseParameters, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters, Parameters extends {} = {}, Error extends {} = ErrorResponse >( @@ -36,7 +35,7 @@ interface CustomOperations { ...Parameters, @doc("The content of the action request") - @body + @bodyRoot body: Request, ): Response | Error; } diff --git a/specification/loadtestservice/LoadTestService.Management/models.tsp b/specification/loadtestservice/LoadTestService.Management/models.tsp index edf0de7c90c8..77bb4b18add1 100644 --- a/specification/loadtestservice/LoadTestService.Management/models.tsp +++ b/specification/loadtestservice/LoadTestService.Management/models.tsp @@ -11,7 +11,6 @@ using Azure.Core; using Azure.ResourceManager; using OpenAPI; using Autorest; -using Azure.ResourceManager.Foundations; using Azure.ResourceManager.Private; namespace Microsoft.LoadTestService; @@ -25,7 +24,7 @@ model LoadTestResource is TrackedResource { @segment("loadTests") name: string; - ...ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @doc("Resources provisioning states.") @@ -164,7 +163,7 @@ model CheckQuotaAvailabilityResponse { @doc("Azure Resource Manager metadata containing createdBy and modifiedBy information.") @visibility("read") - systemData?: SystemData; + systemData?: Azure.ResourceManager.Foundations.SystemData; @doc("The name of the resource.") @visibility("read") diff --git a/specification/loadtestservice/LoadTestService.Management/routes.tsp b/specification/loadtestservice/LoadTestService.Management/routes.tsp index 8c8161b5795c..1f340ab881b9 100644 --- a/specification/loadtestservice/LoadTestService.Management/routes.tsp +++ b/specification/loadtestservice/LoadTestService.Management/routes.tsp @@ -3,14 +3,8 @@ import "./customOperation.tsp"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -using TypeSpec.Http; -using TypeSpec.Rest; -using TypeSpec.Versioning; -using Azure.Core; using Azure.ResourceManager; using OpenAPI; -using Autorest; -using Azure.ResourceManager.Foundations; namespace Microsoft.LoadTestService; diff --git a/specification/loadtestservice/LoadTestService/routes.tsp b/specification/loadtestservice/LoadTestService/routes.tsp index e767bbc297e1..0992853d9739 100644 --- a/specification/loadtestservice/LoadTestService/routes.tsp +++ b/specification/loadtestservice/LoadTestService/routes.tsp @@ -87,7 +87,7 @@ numeric, underscore or hyphen characters. fileType?: FileType; @doc("The file content as application/octet-stream.") - @body + @bodyRoot body: bytes; }, ResourceCreatedResponse @@ -127,7 +127,7 @@ numeric, underscore or hyphen characters. testId: string; @doc("App Component model.") - @body + @bodyRoot body: TestAppComponents; }, ResourceCreatedOrOkResponse @@ -175,7 +175,7 @@ numeric, underscore or hyphen characters. testId: string; @doc("Server metric configuration model.") - @body + @bodyRoot body: TestServerMetricConfig; }, ResourceCreatedOrOkResponse @@ -305,7 +305,7 @@ numeric, underscore or hyphen characters. ...MetricDimensionsRequest; @doc("Metric dimension filter ") - @body + @bodyRoot body?: MetricRequestPayload; }, Metrics @@ -358,7 +358,7 @@ numeric, underscore or hyphen characters. testRunId: string; @doc("App Component model.") - @body + @bodyRoot body: TestRunAppComponents; }, ResourceCreatedOrOkResponse @@ -412,7 +412,7 @@ numeric, underscore or hyphen characters. testRunId: string; @doc("Server metric configuration model.") - @body + @bodyRoot body: TestRunServerMetricConfig; }, ResourceCreatedOrOkResponse diff --git a/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp b/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp index 45595eb0c19f..761b00f283cc 100644 --- a/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp +++ b/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp @@ -8,6 +8,10 @@ using TypeSpec.Http; using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-core/casing-style" "Using the AI acronym similar to what was done for OpenAI" +namespace Azure.AI { + +} + @doc("Azure APIs for the Azure Chat protocol.") @service({ title: "Azure ML Chat", @@ -29,9 +33,8 @@ using TypeSpec.Versioning; } ) @versioned(APIVersion) -namespace Azure.AI.ChatProtocol; - -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" -enum APIVersion { - v20231001Preview: "2023-10-01-preview", +namespace Azure.AI.ChatProtocol { + enum APIVersion { + v20231001Preview: "2023-10-01-preview", + } } diff --git a/specification/machinelearningservices/AzureAI.Assets/routes.tsp b/specification/machinelearningservices/AzureAI.Assets/routes.tsp index 9f3a2025c56d..f69457dd84cd 100644 --- a/specification/machinelearningservices/AzureAI.Assets/routes.tsp +++ b/specification/machinelearningservices/AzureAI.Assets/routes.tsp @@ -29,7 +29,7 @@ interface Indexes { @path version: string; }, - Index | Foundations.ErrorResponse + Index >; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Waiting for bug fix: https://github.com/Azure/typespec-azure-pr/issues/3739." @@ -48,10 +48,10 @@ interface Indexes { version: string; @doc("Properties of an Index Version.") - @body + @bodyRoot body: Index; }, - ResourceCreatedOrOkResponse | Foundations.ErrorResponse + ResourceCreatedOrOkResponse >; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Need to use same model in both list calls." @@ -78,7 +78,7 @@ interface Indexes { ...StandardListQueryParameters; }, - PagedIndex | Foundations.ErrorResponse + PagedIndex >; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Need to define route." @@ -92,7 +92,7 @@ interface Indexes { @path name: string; }, - Index | Foundations.ErrorResponse + Index >; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Need to define route." @@ -106,7 +106,7 @@ interface Indexes { @path name: string; }, - VersionInfo | Foundations.ErrorResponse + VersionInfo >; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Need to define route." @@ -117,6 +117,6 @@ interface Indexes { { ...StandardListQueryParameters; }, - PagedIndex | Foundations.ErrorResponse + PagedIndex >; } diff --git a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json index 387e6029d702..6495566861c2 100644 --- a/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json +++ b/specification/machinelearningservices/data-plane/Microsoft.MachineLearningServices/preview/2024-04-01-preview/azure-ai-assets.json @@ -623,24 +623,6 @@ "required": [ "latestVersion" ] - }, - "Versions": { - "type": "string", - "description": "Azure Machine Learning Services api versions.", - "enum": [ - "2024-04-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "2024-04-01-preview", - "value": "2024-04-01-preview", - "description": "Azure Machine Learning Services api version 2024-04-01-preview." - } - ] - } } }, "parameters": { diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/amfdeployment.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/amfdeployment.tsp index c94e6c85989e..1c53bfd8dc56 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/amfdeployment.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/amfdeployment.tsp @@ -1,17 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using OpenAPI; namespace Microsoft.MobilePacketCore; diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/clusterservice.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/clusterservice.tsp index 5ecd170dd8fe..b09fccb1e5b5 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/clusterservice.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/clusterservice.tsp @@ -1,16 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; using OpenAPI; namespace Microsoft.MobilePacketCore; diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/common.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/common.tsp index 06e6937a8803..ab834c635adc 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/common.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/common.tsp @@ -1,17 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using OpenAPI; namespace Microsoft.MobilePacketCore; @@ -34,18 +23,18 @@ namespace Microsoft.MobilePacketCore; @armResourceCreateOrUpdate(TResource) @put op ArmResourceCreateOrUpdate2Async< - TResource extends Azure.ResourceManager.Foundations.ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TBaseParameters = Azure.ResourceManager.Foundations.BaseParameters >( ...ResourceInstanceParameters, @doc("Resource create parameters.") - @body + @bodyRoot resource: TResource, ): ArmUpdatedResponse | ArmCreatedResponse | ErrorResponse; @doc("ARM resource update successful") -model ArmUpdatedResponse +model ArmUpdatedResponse is ArmResponse; @doc("Provisioning state of the resource") diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/nrfdeployment.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/nrfdeployment.tsp index 9272c80b5f83..e1cf5d2942ed 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/nrfdeployment.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/nrfdeployment.tsp @@ -1,17 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using OpenAPI; namespace Microsoft.MobilePacketCore; diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/nssfdeployment.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/nssfdeployment.tsp index e9ec742dce8f..05842d743395 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/nssfdeployment.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/nssfdeployment.tsp @@ -1,17 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using OpenAPI; namespace Microsoft.MobilePacketCore; diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/observabilityservice.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/observabilityservice.tsp index d0787197d8ba..d9dc1e6178b4 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/observabilityservice.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/observabilityservice.tsp @@ -1,16 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; using OpenAPI; namespace Microsoft.MobilePacketCore; diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/smfdeployment.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/smfdeployment.tsp index e2e2874dc49f..77fb205802e4 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/smfdeployment.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/smfdeployment.tsp @@ -1,17 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using OpenAPI; namespace Microsoft.MobilePacketCore; diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/upfdeployment.tsp b/specification/mobilepacketcore/MobilePacketCore.Management/upfdeployment.tsp index 9d769e0433c7..6c46e948c4ad 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/upfdeployment.tsp +++ b/specification/mobilepacketcore/MobilePacketCore.Management/upfdeployment.tsp @@ -1,17 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using OpenAPI; namespace Microsoft.MobilePacketCore; diff --git a/specification/mobilepacketcore/resource-manager/Microsoft.MobilePacketCore/preview/2023-10-15-preview/mobilepacketcore.json b/specification/mobilepacketcore/resource-manager/Microsoft.MobilePacketCore/preview/2023-10-15-preview/mobilepacketcore.json index e3048cda08c1..090f7ccd286c 100644 --- a/specification/mobilepacketcore/resource-manager/Microsoft.MobilePacketCore/preview/2023-10-15-preview/mobilepacketcore.json +++ b/specification/mobilepacketcore/resource-manager/Microsoft.MobilePacketCore/preview/2023-10-15-preview/mobilepacketcore.json @@ -3306,24 +3306,6 @@ "type": "string", "description": "Usage SKU Definition" }, - "Versions": { - "type": "string", - "description": "API Versions", - "enum": [ - "2023-10-15-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_10_15_preview", - "value": "2023-10-15-preview", - "description": "October 15, 2023 Preview API Version" - } - ] - } - }, "VnfAgentDeploymentIdProperty": { "type": "string", "format": "arm-id", diff --git a/specification/monitor/Microsoft.Monitor/typespec/service.tsp b/specification/monitor/Microsoft.Monitor/typespec/service.tsp index 3351f61d60fb..0cffc4c28b64 100644 --- a/specification/monitor/Microsoft.Monitor/typespec/service.tsp +++ b/specification/monitor/Microsoft.Monitor/typespec/service.tsp @@ -12,6 +12,7 @@ using Azure.Core; using Azure.ResourceManager; using OpenAPI; +#suppress "@azure-tools/typespec-azure-resource-manager/arm-common-types-version" "Mixed version" @armProviderNamespace("Microsoft.Monitor") @service({ title: "Azure Monitor Control Plane API", diff --git a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json index 325a323e56b9..c15f4d78e7d5 100644 --- a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json +++ b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json @@ -1954,24 +1954,6 @@ "required": [ "endpoint" ] - }, - "Versions": { - "type": "string", - "description": "Microsoft.Monitor Versions", - "enum": [ - "2023-10-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "2023-10-01-preview", - "value": "2023-10-01-preview", - "description": "API Version 2023-10-01-preview" - } - ] - } } }, "parameters": {} diff --git a/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp b/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp index c8677150aeab..ce9e0924f4f9 100644 --- a/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp +++ b/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp @@ -1,17 +1,6 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/openapi"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Http; using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using TypeSpec.OpenAPI; namespace Microsoft.MobilePacketCore; @@ -65,43 +54,10 @@ model NetworkFunctionResourceProperties { provisioningState?: ProvisioningState; } -/** Compliant create or update template */ -/** - * A long-running resource CreateOrUpdate (PUT) - * @template TResource the resource being patched - * @template TBaseParameters Optional. Allows overriding the operation parameters - */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "This is a valid template" -@autoRoute -@doc("Create a {name}", TResource) -@TypeSpec.OpenAPI.extension("x-ms-long-running-operation", true) -@TypeSpec.OpenAPI.extension( - "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } -) -@armResourceCreateOrUpdate(TResource) -@put -op ArmResourceCreateOrUpdate2Async< - TResource extends Azure.ResourceManager.Foundations.ArmResource, - TBaseParameters = Azure.ResourceManager.Foundations.BaseParameters ->( - ...ResourceInstanceParameters, - - @doc("Resource create parameters.") - @body - resource: TResource, -): ArmUpdatedResponse | ArmCreatedResponse | ErrorResponse; - -@doc("ARM resource update successful") -model ArmUpdatedResponse - is ArmResponse; - @armResourceOperations(NetworkFunctionResource) interface NetworkFunctions { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdate2Async; + createOrUpdate is ArmResourceCreateOrReplaceAsync; updateTags is ArmTagsPatchSync; delete is ArmResourceDeleteSync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json b/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json index f3fc2c6e4ba1..152b307e1d96 100644 --- a/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json +++ b/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json @@ -250,13 +250,13 @@ ], "responses": { "200": { - "description": "ARM resource update successful", + "description": "Resource 'NetworkFunctionResource' update operation succeeded", "schema": { "$ref": "#/definitions/NetworkFunctionResource" } }, "201": { - "description": "Azure create operation completed successfully.", + "description": "Resource 'NetworkFunctionResource' create operation succeeded", "schema": { "$ref": "#/definitions/NetworkFunctionResource" }, @@ -754,24 +754,6 @@ } ] } - }, - "Versions": { - "type": "string", - "description": "API Versions", - "enum": [ - "2023-05-15-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_05_15_preview", - "value": "2023-05-15-preview", - "description": "May 15, 2023 Preview API Version" - } - ] - } } }, "parameters": {} diff --git a/specification/networkanalytics/NetworkAnalytics.Management/main.tsp b/specification/networkanalytics/NetworkAnalytics.Management/main.tsp index 1ff814f96bd4..a7f74cb8338b 100644 --- a/specification/networkanalytics/NetworkAnalytics.Management/main.tsp +++ b/specification/networkanalytics/NetworkAnalytics.Management/main.tsp @@ -152,7 +152,7 @@ model DataProduct is TrackedResource { @maxLength(63) name: string; - ...ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @doc("The data product properties.") diff --git a/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json b/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json index 3e74b0ee2bf9..d778934dca55 100644 --- a/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json +++ b/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json @@ -2527,24 +2527,6 @@ "roleAssignmentId" ] }, - "Versions": { - "type": "string", - "description": "The available API versions for the Microsoft.NetworkAnalytics RP.", - "enum": [ - "2023-11-15" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_11_15", - "value": "2023-11-15", - "description": "The 2023-11-15 stable version." - } - ] - } - }, "VirtualNetworkRule": { "type": "object", "description": "Virtual Network Rule", diff --git a/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp b/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp index 6872019055d4..af1f8fce56c1 100644 --- a/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp +++ b/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp @@ -1,14 +1,5 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "./models.tsp"; - using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; namespace Microsoft.PortalServices; @@ -32,16 +23,10 @@ model CopilotSettingsResource is ProxyResource { @armResourceOperations interface CopilotSettings { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrReplaceSync< - CopilotSettingsResource, - TenantBaseParameters - >; + createOrUpdate is ArmResourceCreateOrReplaceSync; update is ArmResourcePatchSync< CopilotSettingsResource, CopilotSettingsProperties >; - delete is ArmResourceDeleteSync< - CopilotSettingsResource, - TenantBaseParameters - >; + delete is ArmResourceDeleteSync; } diff --git a/specification/portalservices/CopilotSettings.Management/models.tsp b/specification/portalservices/CopilotSettings.Management/models.tsp index 76a5d93af0d3..d3b4e6480adb 100644 --- a/specification/portalservices/CopilotSettings.Management/models.tsp +++ b/specification/portalservices/CopilotSettings.Management/models.tsp @@ -1,14 +1,4 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - -using TypeSpec.Rest; -using TypeSpec.Versioning; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using TypeSpec.Http; namespace Microsoft.PortalServices; diff --git a/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp b/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp index b6faa5a5a0d8..d64be8f9d836 100644 --- a/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp +++ b/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp @@ -1,17 +1,8 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; import "@azure-tools/typespec-client-generator-core"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "@typespec/http"; using TypeSpec.Rest; using TypeSpec.Http; -using Azure.Core; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; -using TypeSpec.OpenAPI; using Azure.ClientGenerator.Core; namespace Microsoft.PortalServices; diff --git a/specification/portalservices/Extension.Management/main.tsp b/specification/portalservices/Extension.Management/main.tsp index d29d4aef6629..3727dd9193bc 100644 --- a/specification/portalservices/Extension.Management/main.tsp +++ b/specification/portalservices/Extension.Management/main.tsp @@ -5,10 +5,6 @@ import "@azure-tools/typespec-azure-resource-manager"; import "./models.tsp"; import "./ExtensionTenantCompileFile.tsp"; -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.ResourceManager.Foundations; -using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; /** diff --git a/specification/portalservices/Extension.Management/models.tsp b/specification/portalservices/Extension.Management/models.tsp index e7d72d94b795..0cb843dea6d9 100644 --- a/specification/portalservices/Extension.Management/models.tsp +++ b/specification/portalservices/Extension.Management/models.tsp @@ -1,16 +1,5 @@ -import "@typespec/http"; -import "@typespec/rest"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - -using TypeSpec.Http; -using TypeSpec.Rest; -using TypeSpec.Versioning; using OpenAPI; -using Autorest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; namespace Microsoft.PortalServices; @@ -312,7 +301,7 @@ model ArmCommonProperties { * Metadata pertaining to creation and last modification of the resource. */ @visibility("read") - systemData?: SystemData; + systemData?: Azure.ResourceManager.Foundations.SystemData; } /** diff --git a/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json b/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json index 6c04aadff2f9..1f674e941505 100644 --- a/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json +++ b/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json @@ -429,24 +429,6 @@ } }, "definitions": { - "APCVersions": { - "type": "string", - "description": "APC Versions", - "enum": [ - "2024-02-09-preview" - ], - "x-ms-enum": { - "name": "APCVersions", - "modelAsString": true, - "values": [ - { - "name": "v2024_02_09_preview", - "value": "2024-02-09-preview", - "description": "Version 2024-02-09-preview" - } - ] - } - }, "ApcError": { "type": "object", "description": "A custom error for APC.", diff --git a/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp b/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp index 8806f8361ac6..c7a68f0284e1 100644 --- a/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp +++ b/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp @@ -50,7 +50,7 @@ alias OkResponse = { @statusCode status: 200; - @body + @bodyRoot data: T; }; @@ -253,7 +253,7 @@ Null updates are not possible. #suppress "@azure-tools/typespec-azure-core/no-unknown" "Should use unknown to model Object" @doc("The value of the attribute.") - @body + @bodyRoot body: unknown; }, EntityMutationResult, @@ -341,7 +341,7 @@ Null updates are not possible. guid: string; @doc("An array of classifications to be added.") - @body + @bodyRoot body: AtlasClassification[]; }, void, @@ -361,7 +361,7 @@ Null updates are not possible. guid: string; @doc("An array of classifications to be updated.") - @body + @bodyRoot body: AtlasClassification[]; }, void, @@ -536,7 +536,7 @@ be changed to other unique attributes) attribute?: string; @doc("An array of classification to be added.") - @body + @bodyRoot body: AtlasClassification[]; }, void, @@ -563,7 +563,7 @@ be changed to other unique attributes) attribute?: string; @doc("An array of classification to be updated.") - @body + @bodyRoot body: AtlasClassification[]; }, void, @@ -660,7 +660,7 @@ example. qualifiedName can be changed to other unique attributes) #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Should use unknown to model Object" @doc("Business metadata payload") - @body + @bodyRoot body: Record>; }, void, @@ -687,7 +687,7 @@ default is false. #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Should use unknown to model Object" @doc("BusinessMetadata payload") - @body + @bodyRoot body: Record>; }, void, @@ -712,7 +712,7 @@ default is false. #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Should use unknown to model Object" @doc("Business metadata attribute payload") - @body + @bodyRoot body: Record; }, void, @@ -737,7 +737,7 @@ default is false. #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Should use unknown to model Object" @doc("Business metadata attribute payload") - @body + @bodyRoot body: Record; }, void, @@ -753,7 +753,7 @@ default is false. {}, { @header contentType: "application/octet-stream"; - @body body: bytes; + @bodyRoot body: bytes; }, {} >; @@ -783,7 +783,7 @@ default is false. guid: string; @doc("set of labels to be deleted") - @body + @bodyRoot body?: string[]; }, void, @@ -803,7 +803,7 @@ default is false. guid: string; @doc("set of labels to be set to the entity") - @body + @bodyRoot body?: string[]; }, void, @@ -823,7 +823,7 @@ default is false. guid: string; @doc("set of labels to be added") - @body + @bodyRoot body?: string[]; }, void, @@ -864,7 +864,7 @@ be changed to other unique attributes) attribute?: string; @doc("set of labels to be deleted") - @body + @bodyRoot body?: string[]; }, void, @@ -907,7 +907,7 @@ be changed to other unique attributes) attribute?: string; @doc("set of labels to be set") - @body + @bodyRoot body?: string[]; }, void, @@ -950,7 +950,7 @@ be changed to other unique attributes) attribute?: string; @doc("set of labels to be added") - @body + @bodyRoot body?: string[]; }, void, @@ -1026,7 +1026,7 @@ and createCategories is AtlasOperation< { @doc("An array of glossary category definitions to be created.") - @body + @bodyRoot body: AtlasGlossaryCategory[]; }, OkResponse, @@ -1108,7 +1108,7 @@ updating shortDescription and longDescription for category. A map containing keys as attribute names and values as corresponding attribute values for partial update. """) - @body + @bodyRoot body: Record; }, AtlasGlossaryCategory, @@ -1256,7 +1256,7 @@ shortDescription, longDescription, abbreviation, usage and status for term. A map containing keys as attribute names and values as corresponding attribute values to be updated. """) - @body + @bodyRoot body: Record; }, AtlasGlossaryTerm, @@ -1275,7 +1275,7 @@ values to be updated. includeTermHierarchy?: boolean; @doc("An array of glossary term definitions to be created in bulk.") - @body + @bodyRoot body: AtlasGlossaryTerm[]; }, OkResponse, @@ -1332,7 +1332,7 @@ is an alternative to assign a term to multiple entities. termId: string; @doc("An array of related object IDs to which the term has to be associated.") - @body + @bodyRoot body: AtlasRelatedObjectId[]; }, void, @@ -1352,7 +1352,7 @@ is an alternative to assign a term to multiple entities. termId: string; @doc("An array of related object IDs from which the term has to be dissociated.") - @body + @bodyRoot body: AtlasRelatedObjectId[]; }, void, @@ -1550,7 +1550,7 @@ using 'ignoreTermsAndCategories=true' to reduce response body size. A map containing keys as attribute names and values as corresponding attribute values. """) - @body + @bodyRoot body: Record; }, AtlasGlossary, diff --git a/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp b/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp index f8a60cbeb30e..a31a431669fc 100644 --- a/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp +++ b/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp @@ -70,7 +70,7 @@ model PolicyList is Azure.Core.Page; #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Special ARM resource with no property bag" @extensionResource @segment("policies") -model Policy extends Azure.ResourceManager.Foundations.ProxyResourceBase { +model Policy extends Azure.ResourceManager.Foundations.ProxyResource { /** The policy kind */ kind?: string; diff --git a/specification/quantum/Quantum.Workspace/operations/storage.tsp b/specification/quantum/Quantum.Workspace/operations/storage.tsp index 9a50a91eeb06..172d97f43944 100644 --- a/specification/quantum/Quantum.Workspace/operations/storage.tsp +++ b/specification/quantum/Quantum.Workspace/operations/storage.tsp @@ -30,7 +30,7 @@ model SasUriResponse { alias BlobDetailsParam = { /** The details (name and container) of the blob. */ - @body + @bodyRoot blobDetails: BlobDetails; }; diff --git a/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json b/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json index be8dcb356cb7..80583013d4dc 100644 --- a/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json +++ b/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json @@ -5566,24 +5566,6 @@ } } }, - "Versions": { - "type": "string", - "description": "The EASM Defender service version.", - "enum": [ - "2023-03-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_03_01_preview", - "value": "2023-03-01-preview", - "description": "Version 2023-03-01-preview" - } - ] - } - }, "WebComponent": { "type": "object", "properties": { diff --git a/specification/schemaregistry/SchemaRegistry/main.tsp b/specification/schemaregistry/SchemaRegistry/main.tsp index 3245d3b89cc4..d2fded2ddae0 100644 --- a/specification/schemaregistry/SchemaRegistry/main.tsp +++ b/specification/schemaregistry/SchemaRegistry/main.tsp @@ -139,7 +139,7 @@ op getSchemaPropertiesByContent is resourceOperations.ResourceAction< ...SchemaContentType; ...SchemasContent; }, - SchemaProperties + Http.NoContentResponse & SchemaProperties >; // PUT https://{namespaceName}.servicebus.windows.net/$schemaGroups/{groupName}/schemas/{schemaName}?api-version={apiVersion} @@ -172,16 +172,21 @@ alias NoContentResponse = TypeSpec.Http.Response<204> & T; // TODO: Leaving as closed set of values for now, as we're blocked by https://github.com/microsoft/typespec/issues/2853. // Need to update once issue is fixed. +/** Describes closed list of schema content type values. */ #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "This union cannot be open" union SchemaContentTypeValues { + /** Avro encoding. */ avro: "application/json; serialization=Avro", + /** JSON encoding */ @added(ServiceVersion.V2022_10) json: "application/json; serialization=Json", + /** Plain text custom encoding. */ @added(ServiceVersion.V2022_10) custom: "text/plain; charset=utf-8", + /** Protobuf encoding. */ @added(ServiceVersion.V2023_07_01) protobuf: "text/vnd.ms.protobuf", } @@ -193,7 +198,7 @@ alias SchemaContentType = { }; alias SchemasContent = { - @body + @bodyRoot @doc("String representation (UTF-8) of the schema.") schemaContent: bytes; }; diff --git a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json index b96bc85bc494..67fe4fb35cad 100644 --- a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json +++ b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json @@ -679,36 +679,6 @@ "required": [ "schemaName" ] - }, - "ServiceVersion": { - "type": "string", - "description": "Represents the Schema Registry API version to use for requests.", - "enum": [ - "2021-10", - "2022-10", - "2023-07-01" - ], - "x-ms-enum": { - "name": "ServiceVersion", - "modelAsString": true, - "values": [ - { - "name": "V2021_10", - "value": "2021-10", - "description": "Azure Schema Registry 2021-10 Version" - }, - { - "name": "V2022_10", - "value": "2022-10", - "description": "Azure Schema Registry 2022-10 Version" - }, - { - "name": "V2023_07_01", - "value": "2023-07-01", - "description": "Azure Schema Registry 2023-07-01 Version. This is the default version." - } - ] - } } }, "parameters": { diff --git a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json index e680b06151a4..54130caa7a12 100644 --- a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json +++ b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json @@ -394,15 +394,18 @@ "values": [ { "name": "avro", - "value": "application/json; serialization=Avro" + "value": "application/json; serialization=Avro", + "description": "Avro encoding." }, { "name": "json", - "value": "application/json; serialization=Json" + "value": "application/json; serialization=Json", + "description": "JSON encoding" }, { "name": "custom", - "value": "text/plain; charset=utf-8" + "value": "text/plain; charset=utf-8", + "description": "Plain text custom encoding." } ] } @@ -498,15 +501,18 @@ "values": [ { "name": "avro", - "value": "application/json; serialization=Avro" + "value": "application/json; serialization=Avro", + "description": "Avro encoding." }, { "name": "json", - "value": "application/json; serialization=Json" + "value": "application/json; serialization=Json", + "description": "JSON encoding" }, { "name": "custom", - "value": "text/plain; charset=utf-8" + "value": "text/plain; charset=utf-8", + "description": "Plain text custom encoding." } ] } @@ -637,6 +643,7 @@ }, "SchemaContentTypeValues": { "type": "string", + "description": "Describes closed list of schema content type values.", "enum": [ "application/json; serialization=Avro", "application/json; serialization=Json", @@ -648,15 +655,18 @@ "values": [ { "name": "avro", - "value": "application/json; serialization=Avro" + "value": "application/json; serialization=Avro", + "description": "Avro encoding." }, { "name": "json", - "value": "application/json; serialization=Json" + "value": "application/json; serialization=Json", + "description": "JSON encoding" }, { "name": "custom", - "value": "text/plain; charset=utf-8" + "value": "text/plain; charset=utf-8", + "description": "Plain text custom encoding." } ] } @@ -735,36 +745,6 @@ "required": [ "schemaName" ] - }, - "ServiceVersion": { - "type": "string", - "description": "Represents the Schema Registry API version to use for requests.", - "enum": [ - "2021-10", - "2022-10", - "2023-07-01" - ], - "x-ms-enum": { - "name": "ServiceVersion", - "modelAsString": true, - "values": [ - { - "name": "V2021_10", - "value": "2021-10", - "description": "Azure Schema Registry 2021-10 Version" - }, - { - "name": "V2022_10", - "value": "2022-10", - "description": "Azure Schema Registry 2022-10 Version" - }, - { - "name": "V2023_07_01", - "value": "2023-07-01", - "description": "Azure Schema Registry 2023-07-01 Version. This is the default version." - } - ] - } } }, "parameters": { diff --git a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json index 5e803b45de02..cbd2f391aac3 100644 --- a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json +++ b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json @@ -398,19 +398,23 @@ "values": [ { "name": "avro", - "value": "application/json; serialization=Avro" + "value": "application/json; serialization=Avro", + "description": "Avro encoding." }, { "name": "json", - "value": "application/json; serialization=Json" + "value": "application/json; serialization=Json", + "description": "JSON encoding" }, { "name": "custom", - "value": "text/plain; charset=utf-8" + "value": "text/plain; charset=utf-8", + "description": "Plain text custom encoding." }, { "name": "protobuf", - "value": "text/vnd.ms.protobuf" + "value": "text/vnd.ms.protobuf", + "description": "Protobuf encoding." } ] } @@ -508,19 +512,23 @@ "values": [ { "name": "avro", - "value": "application/json; serialization=Avro" + "value": "application/json; serialization=Avro", + "description": "Avro encoding." }, { "name": "json", - "value": "application/json; serialization=Json" + "value": "application/json; serialization=Json", + "description": "JSON encoding" }, { "name": "custom", - "value": "text/plain; charset=utf-8" + "value": "text/plain; charset=utf-8", + "description": "Plain text custom encoding." }, { "name": "protobuf", - "value": "text/vnd.ms.protobuf" + "value": "text/vnd.ms.protobuf", + "description": "Protobuf encoding." } ] } @@ -651,6 +659,7 @@ }, "SchemaContentTypeValues": { "type": "string", + "description": "Describes closed list of schema content type values.", "enum": [ "application/json; serialization=Avro", "application/json; serialization=Json", @@ -663,19 +672,23 @@ "values": [ { "name": "avro", - "value": "application/json; serialization=Avro" + "value": "application/json; serialization=Avro", + "description": "Avro encoding." }, { "name": "json", - "value": "application/json; serialization=Json" + "value": "application/json; serialization=Json", + "description": "JSON encoding" }, { "name": "custom", - "value": "text/plain; charset=utf-8" + "value": "text/plain; charset=utf-8", + "description": "Plain text custom encoding." }, { "name": "protobuf", - "value": "text/vnd.ms.protobuf" + "value": "text/vnd.ms.protobuf", + "description": "Protobuf encoding." } ] } @@ -754,36 +767,6 @@ "required": [ "schemaName" ] - }, - "ServiceVersion": { - "type": "string", - "description": "Represents the Schema Registry API version to use for requests.", - "enum": [ - "2021-10", - "2022-10", - "2023-07-01" - ], - "x-ms-enum": { - "name": "ServiceVersion", - "modelAsString": true, - "values": [ - { - "name": "V2021_10", - "value": "2021-10", - "description": "Azure Schema Registry 2021-10 Version" - }, - { - "name": "V2022_10", - "value": "2022-10", - "description": "Azure Schema Registry 2022-10 Version" - }, - { - "name": "V2023_07_01", - "value": "2023-07-01", - "description": "Azure Schema Registry 2023-07-01 Version. This is the default version." - } - ] - } } }, "parameters": { diff --git a/specification/sphere/Sphere.Management/catalog.tsp b/specification/sphere/Sphere.Management/catalog.tsp index 02c5c6a5a8f8..5433c0aaffc2 100644 --- a/specification/sphere/Sphere.Management/catalog.tsp +++ b/specification/sphere/Sphere.Management/catalog.tsp @@ -1,12 +1,5 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; @@ -74,7 +67,7 @@ interface Catalogs { void, ResourceListResult, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; @@ -90,7 +83,7 @@ interface Catalogs { ListDeviceGroupsRequest, ResourceListResult, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; @@ -106,7 +99,7 @@ interface Catalogs { void, PagedDeviceInsight, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; @@ -122,7 +115,7 @@ interface Catalogs { void, ResourceListResult, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; diff --git a/specification/sphere/Sphere.Management/certificate.tsp b/specification/sphere/Sphere.Management/certificate.tsp index b748f0318f92..57ddd5ed075a 100644 --- a/specification/sphere/Sphere.Management/certificate.tsp +++ b/specification/sphere/Sphere.Management/certificate.tsp @@ -1,13 +1,5 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./catalog.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; @@ -41,7 +33,7 @@ interface Certificates { listByCatalog is ArmResourceListByParent< Certificate, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; diff --git a/specification/sphere/Sphere.Management/deployment.tsp b/specification/sphere/Sphere.Management/deployment.tsp index d07e0c465dd9..93528a9375cb 100644 --- a/specification/sphere/Sphere.Management/deployment.tsp +++ b/specification/sphere/Sphere.Management/deployment.tsp @@ -1,15 +1,6 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./deviceGroup.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.AzureSphere; /** @@ -53,7 +44,7 @@ interface Deployments { listByDeviceGroup is ArmResourceListByParent< Deployment, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; diff --git a/specification/sphere/Sphere.Management/device.tsp b/specification/sphere/Sphere.Management/device.tsp index 79497450b91d..aacac197e1eb 100644 --- a/specification/sphere/Sphere.Management/device.tsp +++ b/specification/sphere/Sphere.Management/device.tsp @@ -1,13 +1,5 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./deviceGroup.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; diff --git a/specification/sphere/Sphere.Management/deviceGroup.tsp b/specification/sphere/Sphere.Management/deviceGroup.tsp index 9535e891f7ec..45278f314465 100644 --- a/specification/sphere/Sphere.Management/deviceGroup.tsp +++ b/specification/sphere/Sphere.Management/deviceGroup.tsp @@ -1,13 +1,5 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./product.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; @@ -59,7 +51,7 @@ interface DeviceGroups { listByProduct is ArmResourceListByParent< DeviceGroup, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; diff --git a/specification/sphere/Sphere.Management/image.tsp b/specification/sphere/Sphere.Management/image.tsp index 12eddc9908b7..287eba68d7ba 100644 --- a/specification/sphere/Sphere.Management/image.tsp +++ b/specification/sphere/Sphere.Management/image.tsp @@ -1,13 +1,5 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./catalog.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; @@ -53,7 +45,7 @@ interface Images { listByCatalog is ArmResourceListByParent< Image, { - ...BaseParameters; + ...Azure.ResourceManager.Foundations.BaseParameters; ...CustomFilterQueryParameter; ...CustomTopQueryParameter; ...CustomSkipQueryParameter; diff --git a/specification/sphere/Sphere.Management/models.tsp b/specification/sphere/Sphere.Management/models.tsp index 750a50b85fb9..33f65e2ef22e 100644 --- a/specification/sphere/Sphere.Management/models.tsp +++ b/specification/sphere/Sphere.Management/models.tsp @@ -1,9 +1,3 @@ -import "@typespec/rest"; -import "@typespec/http"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - -using TypeSpec.Rest; using TypeSpec.Http; using Azure.ResourceManager; using Azure.ResourceManager.Foundations; diff --git a/specification/sphere/Sphere.Management/product.tsp b/specification/sphere/Sphere.Management/product.tsp index 02c90bec6002..b470d59b440f 100644 --- a/specification/sphere/Sphere.Management/product.tsp +++ b/specification/sphere/Sphere.Management/product.tsp @@ -7,7 +7,6 @@ import "./catalog.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; diff --git a/specification/splitio/SplitIO.Experimentation.Management/main.tsp b/specification/splitio/SplitIO.Experimentation.Management/main.tsp index 185dcb2cd2d9..f3c23e1cd34d 100644 --- a/specification/splitio/SplitIO.Experimentation.Management/main.tsp +++ b/specification/splitio/SplitIO.Experimentation.Management/main.tsp @@ -10,166 +10,170 @@ using TypeSpec.Rest; using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-core/casing-style" "SplitIO is a case-sensitive name" +namespace SplitIO { + +} + @armProviderNamespace @service({ title: "Split.IO Experimentation", }) @versioned(SplitIO.Experimentation.Versions) -namespace SplitIO.Experimentation; - -@doc("Supported API versions for the SplitIO.Experimentation resource provider.") -enum Versions { - @doc("Dependent on Azure.ResourceManager.Versions.v1_0_Preview_1") - @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) - @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) - v1_preview: "2024-03-01-preview", -} - -interface Operations extends Azure.ResourceManager.Operations {} - -@doc("Properties of the experimentation workspace") -model ExperimentationWorkspaceProperties { - @doc("Provisioning state of the resource.") - @visibility("read") - provisioningState?: ExperimentationWorkspaceProvisioningState; - - @doc("Access policy for an experimentation workspace.") - accessPolicy: AccessPolicy; +namespace SplitIO.Experimentation { + @doc("Supported API versions for the SplitIO.Experimentation resource provider.") + enum Versions { + @doc("Dependent on Azure.ResourceManager.Versions.v1_0_Preview_1") + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) + v1_preview: "2024-03-01-preview", + } - @doc("Data source that telemetry data required for experimentation will be retrieved from.") - dataSource?: DataSource; -} + interface Operations extends Azure.ResourceManager.Operations {} -@doc("The experimentation workspace resource provisioning state") -union ExperimentationWorkspaceProvisioningState { - string, - ResourceProvisioningState, + @doc("Properties of the experimentation workspace") + model ExperimentationWorkspaceProperties { + @doc("Provisioning state of the resource.") + @visibility("read") + provisioningState?: ExperimentationWorkspaceProvisioningState; - @doc("Accepted provisioning state.") - Accepted: "Accepted", + @doc("Access policy for an experimentation workspace.") + accessPolicy: AccessPolicy; - @doc("Created provisioning state.") - Created: "Created", + @doc("Data source that telemetry data required for experimentation will be retrieved from.") + dataSource?: DataSource; + } - @doc("Deleting provisioning state.") - Deleting: "Deleting", -} + @doc("The experimentation workspace resource provisioning state") + union ExperimentationWorkspaceProvisioningState { + string, + ResourceProvisioningState, -@doc("Access policy for an experimentation workspace.") -model AccessPolicy { - @doc("Application id used for access to the experimentation workspace.") - applicationId: string; + @doc("Accepted provisioning state.") + Accepted: "Accepted", - @doc("Endpoint used for access to the experimentation workspace.") - @visibility("read") - dataPlaneEndpoint?: string; -} + @doc("Created provisioning state.") + Created: "Created", -@doc("Data source that telemetry data required for experimentation will be retrieved from.") -model DataSource { - @doc("Log Analytics data source.") - logAnalytics?: LogAnalytics; -} + @doc("Deleting provisioning state.") + Deleting: "Deleting", + } -scalar LogAnalyticsWorkspaceResourceId - extends Azure.Core.armResourceIdentifier<[ - { - type: "Microsoft.OperationalInsights/workspaces", - } - ]>; - -scalar StorageAccountResourceId - extends Azure.Core.armResourceIdentifier<[ - { - type: "Microsoft.Storage/storageAccounts", - } - ]>; - -@doc("The Log Analytics workspace which telemetry data required for experimentation will be retrieved from.") -model LogAnalytics { - @doc("Resource id of the Log Analytics workspace.") - resourceId: LogAnalyticsWorkspaceResourceId; - - @doc("Resource id of the storage account associated with the Log Analytics workspace.") - storageAccountResourceId: StorageAccountResourceId; - - @doc("Controls whether data flow from the configured Log Analytics workspace into the experimentation workspace is enabled.") - enabled: boolean; -} - -@doc("A ExperimentationWorkspace Resource by Split.IO") -model ExperimentationWorkspace - is TrackedResource { - @key("workspaceName") - @segment("experimentationWorkspaces") - @pattern("^[a-zA-Z0-9](?!.*--)[a-zA-Z0-9-]*[a-zA-Z0-9]$") - @minLength(5) - @maxLength(50) - @doc("The name of the ExperimentationWorkspace resource") - @path - name: string; - - ...ResourceSku; - ...ManagedServiceIdentity; -} - -@armResourceOperations -interface ExperimentationWorkspaces { - get is ArmResourceRead; - create is ArmResourceCreateOrUpdateAsync; - update is ArmResourcePatchAsync< - ExperimentationWorkspace, - ExperimentationWorkspaceProperties - >; - delete is ArmResourceDeleteWithoutOkAsync; - listByResourceGroup is ArmResourceListByParent; - listBySubscription is ArmListBySubscription; -} - -@doc("The exchange token parameters for exchanging Split.IO data plane authentication token.") -model ExchangeTokenParameters { - @doc("The bearer token that is used for exchanging Split.IO data plane authentication token.") - @secret - token: string; - - @doc("The resource of Split.IO data plane authentication token.") - resource: string; -} + @doc("Access policy for an experimentation workspace.") + model AccessPolicy { + @doc("Application id used for access to the experimentation workspace.") + applicationId: string; -@doc("The exchange token result that contains the bearer token which is used for Split.IO data plane authentication.") -model ExchangeTokenResult { - @doc("The bearer token that is used for Split.IO data plane authentication.") - @visibility("read") - @secret - token: string; -} + @doc("Endpoint used for access to the experimentation workspace.") + @visibility("read") + dataPlaneEndpoint?: string; + } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "Need to remove autoroute" -@route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/SplitIO.Experimentation/experimentationWorkspaces/{workspaceName}/dataPlaneApplications/{applicationId}") -interface DataPlaneApplications { - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "Need to remove autoroute" - @doc("The action to exchange Split.IO data plane authentication token.") - @route("exchangeToken") - @post - @action - exchangeToken( - ...ApiVersionParameter, - ...SubscriptionIdParameter, - ...ResourceGroupParameter, - - @doc("The name of the ExperimentationWorkspace resource.") - @path + @doc("Data source that telemetry data required for experimentation will be retrieved from.") + model DataSource { + @doc("Log Analytics data source.") + logAnalytics?: LogAnalytics; + } + + scalar LogAnalyticsWorkspaceResourceId + extends Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.OperationalInsights/workspaces", + } + ]>; + + scalar StorageAccountResourceId + extends Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Storage/storageAccounts", + } + ]>; + + @doc("The Log Analytics workspace which telemetry data required for experimentation will be retrieved from.") + model LogAnalytics { + @doc("Resource id of the Log Analytics workspace.") + resourceId: LogAnalyticsWorkspaceResourceId; + + @doc("Resource id of the storage account associated with the Log Analytics workspace.") + storageAccountResourceId: StorageAccountResourceId; + + @doc("Controls whether data flow from the configured Log Analytics workspace into the experimentation workspace is enabled.") + enabled: boolean; + } + + @doc("A ExperimentationWorkspace Resource by Split.IO") + model ExperimentationWorkspace + is TrackedResource { + @key("workspaceName") + @segment("experimentationWorkspaces") @pattern("^[a-zA-Z0-9](?!.*--)[a-zA-Z0-9-]*[a-zA-Z0-9]$") @minLength(5) @maxLength(50) - workspaceName: string, - - @doc("The id of the Split.IO data plane authentication application.") + @doc("The name of the ExperimentationWorkspace resource") @path - applicationId: string, - - @doc("The parameter of exchange token action.") - @body - exchangeTokenParameters: ExchangeTokenParameters, - ): ExchangeTokenResult | ErrorResponse; + name: string; + + ...ResourceSkuProperty; + ...ManagedServiceIdentityProperty; + } + + @armResourceOperations + interface ExperimentationWorkspaces { + get is ArmResourceRead; + create is ArmResourceCreateOrUpdateAsync; + update is ArmResourcePatchAsync< + ExperimentationWorkspace, + ExperimentationWorkspaceProperties + >; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; + listBySubscription is ArmListBySubscription; + } + + @doc("The exchange token parameters for exchanging Split.IO data plane authentication token.") + model ExchangeTokenParameters { + @doc("The bearer token that is used for exchanging Split.IO data plane authentication token.") + @secret + token: string; + + @doc("The resource of Split.IO data plane authentication token.") + resource: string; + } + + @doc("The exchange token result that contains the bearer token which is used for Split.IO data plane authentication.") + model ExchangeTokenResult { + @doc("The bearer token that is used for Split.IO data plane authentication.") + @visibility("read") + @secret + token: string; + } + + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "Need to remove autoroute" + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/SplitIO.Experimentation/experimentationWorkspaces/{workspaceName}/dataPlaneApplications/{applicationId}") + interface DataPlaneApplications { + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "Need to remove autoroute" + @doc("The action to exchange Split.IO data plane authentication token.") + @route("exchangeToken") + @post + @action + exchangeToken( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + + @doc("The name of the ExperimentationWorkspace resource.") + @path + @pattern("^[a-zA-Z0-9](?!.*--)[a-zA-Z0-9-]*[a-zA-Z0-9]$") + @minLength(5) + @maxLength(50) + workspaceName: string, + + @doc("The id of the Split.IO data plane authentication application.") + @path + applicationId: string, + + @doc("The parameter of exchange token action.") + @body + exchangeTokenParameters: ExchangeTokenParameters, + ): ExchangeTokenResult | ErrorResponse; + } } diff --git a/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json b/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json index a95fba3bf317..bda2742acea8 100644 --- a/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json +++ b/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json @@ -791,24 +791,6 @@ } ] } - }, - "Versions": { - "type": "string", - "description": "Supported API versions for the SplitIO.Experimentation resource provider.", - "enum": [ - "2024-03-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v1_preview", - "value": "2024-03-01-preview", - "description": "Dependent on Azure.ResourceManager.Versions.v1_0_Preview_1" - } - ] - } } }, "parameters": {} diff --git a/specification/translation/Azure.AI.DocumentTranslation/models.tsp b/specification/translation/Azure.AI.DocumentTranslation/models.tsp index 131898ed72de..0b1c6116e494 100644 --- a/specification/translation/Azure.AI.DocumentTranslation/models.tsp +++ b/specification/translation/Azure.AI.DocumentTranslation/models.tsp @@ -84,8 +84,12 @@ union StorageSource { @doc("List of possible additional output formats") union AdditionalOutputFileFormat { + /** No additional format */ None: "None", + + /** OpenXmlWord format */ OpenXmlWord: "OpenXmlWord", + string, } diff --git a/specification/translation/Azure.AI.TextTranslation/main.tsp b/specification/translation/Azure.AI.TextTranslation/main.tsp index 90b0afb2736c..5fe00b53c8b5 100644 --- a/specification/translation/Azure.AI.TextTranslation/main.tsp +++ b/specification/translation/Azure.AI.TextTranslation/main.tsp @@ -44,7 +44,6 @@ Dictionary example Returns grammatical structure and context examples for the so @versioned(APIVersion) namespace TextTranslation; -#suppress "@azure-tools/typespec-azure-core/documentation-required" "https://github.com/Azure/typespec-azure/issues/3107" @doc("Text Translation supported versions") enum APIVersion { v3_0: "3.0", diff --git a/specification/translation/Azure.AI.TextTranslation/models-breaksentence.tsp b/specification/translation/Azure.AI.TextTranslation/models-breaksentence.tsp index 5f610cce63b6..06798cb40010 100644 --- a/specification/translation/Azure.AI.TextTranslation/models-breaksentence.tsp +++ b/specification/translation/Azure.AI.TextTranslation/models-breaksentence.tsp @@ -32,7 +32,7 @@ model BreakSentenceParameters { model BreakSentenceResult { ...CommonResultHeaders; - @body + @bodyRoot @doc("Array of the break sentence elements.") result: BreakSentenceItem[]; } diff --git a/specification/translation/Azure.AI.TextTranslation/models-dictionary.tsp b/specification/translation/Azure.AI.TextTranslation/models-dictionary.tsp index b3af9ed3b942..bedee8f9752c 100644 --- a/specification/translation/Azure.AI.TextTranslation/models-dictionary.tsp +++ b/specification/translation/Azure.AI.TextTranslation/models-dictionary.tsp @@ -40,7 +40,7 @@ model DictionaryExamplesParameters { model DictionaryLookupResult { ...CommonResultHeaders; - @body + @bodyRoot @doc("Array of the dictionary lookup elements.") result: DictionaryLookupItem[]; } @@ -49,7 +49,7 @@ model DictionaryLookupResult { model DictionaryExamplesResult { ...CommonResultHeaders; - @body + @bodyRoot @doc("Array of the dictionary examples elements.") result: DictionaryExampleItem[]; } diff --git a/specification/translation/Azure.AI.TextTranslation/models-translate.tsp b/specification/translation/Azure.AI.TextTranslation/models-translate.tsp index adc9768e0fd3..4326aa373a20 100644 --- a/specification/translation/Azure.AI.TextTranslation/models-translate.tsp +++ b/specification/translation/Azure.AI.TextTranslation/models-translate.tsp @@ -117,7 +117,7 @@ model TranslateParameters { model TranslationResult { ...CommonResultHeaders; - @body + @bodyRoot @doc("Array of the translated text elements.") result: TranslatedTextItem[]; @@ -143,22 +143,36 @@ model TranslationResult { @doc("Translation text type") union TextType { string, + + /** Plain text. */ Plain: "Plain", + + /** HTML-encoded text. */ Html: "Html", } @doc("Translator profanity actions") union ProfanityAction { string, + + /** Take no action. */ NoAction: "NoAction", + + /** Replace the profanity with a specific marker. */ Marked: "Marked", + + /** Delete the profanity. */ Deleted: "Deleted", } @doc("Translator profanity markers") union ProfanityMarker { string, + + /** Replace the profanity with asterisks. */ Asterisk: "Asterisk", + + /** Replace the profanity with a specific tag. */ Tag: "Tag", } diff --git a/specification/translation/Azure.AI.TextTranslation/models-transliterate.tsp b/specification/translation/Azure.AI.TextTranslation/models-transliterate.tsp index 9b83982e17fb..a54e676a23a7 100644 --- a/specification/translation/Azure.AI.TextTranslation/models-transliterate.tsp +++ b/specification/translation/Azure.AI.TextTranslation/models-transliterate.tsp @@ -39,7 +39,7 @@ model TransliterateParameters { model TransliterateResult { ...CommonResultHeaders; - @body + @bodyRoot @doc("Array of transliterated texts") result: TransliteratedText[]; } diff --git a/specification/translation/Azure.AI.TextTranslation/routes.tsp b/specification/translation/Azure.AI.TextTranslation/routes.tsp index 850261f2d4a7..122b9102327b 100644 --- a/specification/translation/Azure.AI.TextTranslation/routes.tsp +++ b/specification/translation/Azure.AI.TextTranslation/routes.tsp @@ -24,7 +24,7 @@ op CustomOperation< #suppress "@azure-tools/typespec-azure-core/request-body-problem" "Existing spec" @doc("Defines the content of the request") - @body + @bodyRoot requestBody: TBody, @doc("Mandatory API version parameter") diff --git a/specification/translation/data-plane/Azure.AI.DocumentTranslation/stable/2024-05-01/openapi.json b/specification/translation/data-plane/Azure.AI.DocumentTranslation/stable/2024-05-01/openapi.json index 9143558c8ac2..999176fb42ad 100644 --- a/specification/translation/data-plane/Azure.AI.DocumentTranslation/stable/2024-05-01/openapi.json +++ b/specification/translation/data-plane/Azure.AI.DocumentTranslation/stable/2024-05-01/openapi.json @@ -647,11 +647,13 @@ "values": [ { "name": "None", - "value": "None" + "value": "None", + "description": "No additional format" }, { "name": "OpenXmlWord", - "value": "OpenXmlWord" + "value": "OpenXmlWord", + "description": "OpenXmlWord format" } ] } @@ -1387,23 +1389,6 @@ "required": [ "value" ] - }, - "Versions": { - "type": "string", - "description": "Document Translation supported versions", - "enum": [ - "2024-05-01" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2024_05_01", - "value": "2024-05-01" - } - ] - } } }, "parameters": { diff --git a/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json b/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json index f47a1175784d..96e4864a81c8 100644 --- a/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json +++ b/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json @@ -578,23 +578,6 @@ } }, "definitions": { - "APIVersion": { - "type": "string", - "description": "Text Translation supported versions", - "enum": [ - "3.0" - ], - "x-ms-enum": { - "name": "APIVersion", - "modelAsString": true, - "values": [ - { - "name": "v3_0", - "value": "3.0" - } - ] - } - }, "BackTranslation": { "type": "object", "description": "Back Translation", @@ -1019,15 +1002,18 @@ "values": [ { "name": "NoAction", - "value": "NoAction" + "value": "NoAction", + "description": "Take no action." }, { "name": "Marked", - "value": "Marked" + "value": "Marked", + "description": "Replace the profanity with a specific marker." }, { "name": "Deleted", - "value": "Deleted" + "value": "Deleted", + "description": "Delete the profanity." } ] } @@ -1045,11 +1031,13 @@ "values": [ { "name": "Asterisk", - "value": "Asterisk" + "value": "Asterisk", + "description": "Replace the profanity with asterisks." }, { "name": "Tag", - "value": "Tag" + "value": "Tag", + "description": "Replace the profanity with a specific tag." } ] } @@ -1166,11 +1154,13 @@ "values": [ { "name": "Plain", - "value": "Plain" + "value": "Plain", + "description": "Plain text." }, { "name": "Html", - "value": "Html" + "value": "Html", + "description": "HTML-encoded text." } ] } @@ -1482,15 +1472,18 @@ "values": [ { "name": "NoAction", - "value": "NoAction" + "value": "NoAction", + "description": "Take no action." }, { "name": "Marked", - "value": "Marked" + "value": "Marked", + "description": "Replace the profanity with a specific marker." }, { "name": "Deleted", - "value": "Deleted" + "value": "Deleted", + "description": "Delete the profanity." } ] }, @@ -1513,11 +1506,13 @@ "values": [ { "name": "Asterisk", - "value": "Asterisk" + "value": "Asterisk", + "description": "Replace the profanity with asterisks." }, { "name": "Tag", - "value": "Tag" + "value": "Tag", + "description": "Replace the profanity with a specific tag." } ] }, @@ -1548,11 +1543,13 @@ "values": [ { "name": "Plain", - "value": "Plain" + "value": "Plain", + "description": "Plain text." }, { "name": "Html", - "value": "Html" + "value": "Html", + "description": "HTML-encoded text." } ] }, diff --git a/specification/vmware/Microsoft.AVS/models.tsp b/specification/vmware/Microsoft.AVS/models.tsp index 811414bcd17c..48f2c432c69b 100644 --- a/specification/vmware/Microsoft.AVS/models.tsp +++ b/specification/vmware/Microsoft.AVS/models.tsp @@ -5,7 +5,6 @@ import "@azure-tools/typespec-azure-core"; using TypeSpec.Rest; using TypeSpec.Http; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.OpenAPI; namespace Microsoft.AVS; @@ -624,7 +623,7 @@ model LocationProperties { @doc("A private cloud resource") model PrivateCloud is TrackedResource { ...ResourceSkuRequired; - ...ManagedSystemAssignedIdentity; + ...ManagedSystemAssignedIdentityProperty; @doc("Name of the private cloud") @pattern("^[-\\w\\._]+$") @@ -644,9 +643,9 @@ model PrivateCloudNameParameter { @doc("An update to a private cloud resource") model PrivateCloudUpdate { - ...ArmTagsProperty; - ...ResourceSku; - ...ManagedSystemAssignedIdentity; + ...Foundations.ArmTagsProperty; + ...ResourceSkuProperty; + ...ManagedSystemAssignedIdentityProperty; @doc("The updatable properties of a private cloud resource") @extension("x-ms-client-flatten", true) @@ -966,7 +965,7 @@ model ClusterProperties { @doc("An update of a cluster resource") model ClusterUpdate { - ...ResourceSku; + ...ResourceSkuProperty; @doc("The properties of a cluster resource that may be updated") @extension("x-ms-client-flatten", true) @@ -2223,5 +2222,5 @@ union IscsiPathProvisioningState { @doc("The SKU (Stock Keeping Unit) assigned to this resource.") model ResourceSkuRequired { @doc("The SKU (Stock Keeping Unit) assigned to this resource.") - sku: ResourceSkuType; + sku: Foundations.Sku; } diff --git a/specification/vmware/Microsoft.AVS/routes.tsp b/specification/vmware/Microsoft.AVS/routes.tsp index 242f047f1ab8..8a490e1c769f 100644 --- a/specification/vmware/Microsoft.AVS/routes.tsp +++ b/specification/vmware/Microsoft.AVS/routes.tsp @@ -22,8 +22,8 @@ interface Locations { ...ResourceInstanceParameters, @doc("Optionally, check for a specific SKU") - @body - sku?: ResourceSkuType, + @bodyRoot + sku?: Sku, ): ArmResponse | ErrorResponse; @doc("Return quota for subscription by region") @@ -61,7 +61,7 @@ interface PrivateClouds { update( ...ResourceInstanceParameters, - @body + @bodyRoot @doc("The private cloud properties to be updated.") privateCloudUpdate: PrivateCloudUpdate, ): ArmResponse | { @@ -71,7 +71,7 @@ interface PrivateClouds { ...Azure.Core.Foundations.RetryAfterHeader; ...LocationHeader; - @body + @bodyRoot @doc("The updated private cloud.") placementPolicy: PrivateCloud; } | ErrorResponse; @@ -130,7 +130,7 @@ interface Clusters { update( ...ResourceInstanceParameters, - @body + @bodyRoot @doc("The cluster properties to be updated.") clusterUpdate: ClusterUpdate, ): ArmResponse | { @@ -140,7 +140,7 @@ interface Clusters { ...Azure.Core.Foundations.RetryAfterHeader; ...LocationHeader; - @body + @bodyRoot @doc("The updated cluster.") cluster: Cluster; } | ErrorResponse; @@ -844,7 +844,7 @@ interface VirtualMachines { restrictMovement( ...ResourceInstanceParameters, - @body + @bodyRoot @doc("The body type of the operation request.") restrictMovement: VirtualMachineRestrictMovement, ): ArmAcceptedLroResponse | ErrorResponse; @@ -876,7 +876,7 @@ interface PlacementPolicies { update( ...ResourceInstanceParameters, - @body + @bodyRoot @doc("The placement policy properties to be updated.") placementPolicyUpdate: PlacementPolicyUpdate, ): ArmResponse | { @@ -884,7 +884,7 @@ interface PlacementPolicies { ...Azure.Core.Foundations.RetryAfterHeader; ...LocationHeader; - @body + @bodyRoot @doc("The updatd placement policy.") placementPolicy: PlacementPolicy; } | ErrorResponse; @@ -946,7 +946,7 @@ interface ScriptExecutions { ...ResourceInstanceParameters, #suppress "@azure-tools/typespec-azure-core/request-body-problem" - @body + @bodyRoot @doc("Name of the desired output stream to return. If not provided, will return all. An empty array will return nothing.") scriptOutputStreamType?: ScriptOutputStreamType[], ): ArmResponse | ErrorResponse; @@ -984,17 +984,17 @@ interface IscsiPaths { delete is ArmResourceDeleteAsync; } -// use { @body _: void } with the next version of typespec-azure +// use { @bodyRoot _: void } with the next version of typespec-azure // https://github.com/Azure/typespec-azure/issues/3759 // Just like ArmResourceActionSync, but with no request body. #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" -#suppress "@azure-tools/typespec-azure-core/documentation-required" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" @autoRoute @armResourceAction(TResource) @post op ArmResourceActionSyncNoRequestBody< - TResource extends ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TResponse extends TypeSpec.Reflection.Model, TBaseParameters = BaseParameters >( @@ -1003,9 +1003,9 @@ op ArmResourceActionSyncNoRequestBody< // Just like ArmResourceActionAsync, but with no request body. #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" -#suppress "@azure-tools/typespec-azure-core/documentation-required" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" op ArmResourceActionNoContentAsyncNoRequestBody< - TResource extends ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TBaseParameters extends TypeSpec.Reflection.Model = BaseParameters > is ArmResourceActionAsyncBaseNoRequestBody< TResource, @@ -1015,7 +1015,7 @@ op ArmResourceActionNoContentAsyncNoRequestBody< // Just like ArmResourceActionAsyncBase, but with no request body. #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" -#suppress "@azure-tools/typespec-azure-core/documentation-required" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" @autoRoute @extension("x-ms-long-running-operation", true) @extension( @@ -1027,7 +1027,7 @@ op ArmResourceActionNoContentAsyncNoRequestBody< @armResourceAction(TResource) @post op ArmResourceActionAsyncBaseNoRequestBody< - TResource extends ArmResource, + TResource extends Azure.ResourceManager.Foundations.Resource, TResponse, TBaseParameters extends TypeSpec.Reflection.Model >( diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json index cb53b60546ea..7df2413fac30 100644 --- a/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json @@ -8539,7 +8539,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "PlacementPolicyState": { "type": "string", @@ -10248,7 +10249,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "WorkloadNetworkDhcpRelay": { "type": "object", @@ -10476,7 +10478,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "WorkloadNetworkDnsServiceUpdate": { "type": "object", @@ -10619,7 +10622,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "WorkloadNetworkDnsZoneUpdate": { "type": "object", @@ -10838,7 +10842,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "WorkloadNetworkPortMirroringUpdate": { "type": "object", @@ -11023,7 +11028,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "WorkloadNetworkSegment": { "type": "object", @@ -11164,7 +11170,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "WorkloadNetworkSegmentSubnet": { "type": "object", @@ -11313,7 +11320,8 @@ "description": "is updating" } ] - } + }, + "readOnly": true }, "WorkloadNetworkVMGroupUpdate": { "type": "object", diff --git a/specification/voiceservices/VoiceServices.Provisioning/main.tsp b/specification/voiceservices/VoiceServices.Provisioning/main.tsp index f58724fc89dc..caf465c869bc 100644 --- a/specification/voiceservices/VoiceServices.Provisioning/main.tsp +++ b/specification/voiceservices/VoiceServices.Provisioning/main.tsp @@ -853,7 +853,7 @@ interface Accounts { deleteNumbers is Operations.ResourceAction< AccountResource, BatchNumbersDelete, - {} + NoContentResponse >; @tag("Number") @@ -951,7 +951,7 @@ op listNumbers is RpcOperation< { @statusCode statusCode: 200; @header contentType: "application/json"; - @body success: PagedNumberList; + @bodyRoot success: PagedNumberList; ...CountOfRecordsHeader; } >; diff --git a/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json b/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json index 0f7acfd94203..87695257d9f6 100644 --- a/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json +++ b/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json @@ -3516,24 +3516,6 @@ ] } }, - "Versions": { - "type": "string", - "description": "The Microsoft.VoiceServices service versions.", - "enum": [ - "2024-02-29-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2024_02_29_preview", - "value": "2024-02-29-preview", - "description": "2024-02-29-preview" - } - ] - } - }, "ZoomPhoneCloudPeeringAccountDetails": { "type": "object", "description": "Account details specific to Zoom Phone Cloud Peering.", diff --git a/specification/workloads/Workloads.Operations.Management/main.tsp b/specification/workloads/Workloads.Operations.Management/main.tsp index bac4c309b92b..65861de28054 100644 --- a/specification/workloads/Workloads.Operations.Management/main.tsp +++ b/specification/workloads/Workloads.Operations.Management/main.tsp @@ -4,12 +4,9 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; import "./models.tsp"; -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.ResourceManager.Foundations; -using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; + /** * Workloads client provides access to various workload operations. */ diff --git a/specification/workloads/Workloads.Operations.Management/models.tsp b/specification/workloads/Workloads.Operations.Management/models.tsp index 74c075ebb81b..2a904f4ba3ac 100644 --- a/specification/workloads/Workloads.Operations.Management/models.tsp +++ b/specification/workloads/Workloads.Operations.Management/models.tsp @@ -1,14 +1,3 @@ -import "@typespec/rest"; -import "@typespec/http"; -import "@typespec/openapi"; -import "@azure-tools/typespec-azure-resource-manager"; - -using TypeSpec.Rest; -using TypeSpec.Http; -using TypeSpec.OpenAPI; -using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; - namespace Microsoft.Workloads; interface Operations extends Azure.ResourceManager.Operations {} diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp index 7a21456d3b75..cf1c04eb5504 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp @@ -1,14 +1,6 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.Workloads; /** @@ -75,6 +67,6 @@ interface SAPDiscoverySites { importEntities is ArmResourceActionAsync< SAPDiscoverySite, void, - OperationStatusResult + Foundations.OperationStatusResult >; } diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp index 70c260d576f1..f70c9a2bce2e 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp @@ -1,13 +1,5 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./SAPDiscoverySite.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp index f7e2e019a065..053290d8b0bf 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp @@ -1,15 +1,6 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./SAPInstance.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.Workloads; /** diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp index e827f8160668..9d7b42337247 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp @@ -1,8 +1,3 @@ -import "@typespec/rest"; -import "@typespec/http"; -import "@typespec/openapi"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Rest; using TypeSpec.Http; using TypeSpec.OpenAPI; diff --git a/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp b/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp index f6d507a6791b..52a5d27b84c8 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp @@ -1,9 +1,3 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; @@ -24,11 +18,7 @@ model Monitor is TrackedResource { @visibility("read") name: string; - /** - * The managed service identities assigned to this resource. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "'identity' is a valid property for a tracked resource." - identity?: ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } @armResourceOperations @@ -46,7 +36,7 @@ interface Monitors { /** * Patches the Tags field of a SAP monitor for the specified subscription, resource group, and SAP monitor name. */ - @parameterVisibility("read") + @parameterVisibility update is ArmCustomPatchAsync; /** diff --git a/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp b/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp index d444d6d1b543..2e43d502005a 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp @@ -1,15 +1,6 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./Monitor.tsp"; - using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.Workloads; /** diff --git a/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp b/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp index 46d6f6550f23..77b5ed33066c 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp @@ -7,7 +7,6 @@ import "./Monitor.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; using TypeSpec.Http; using TypeSpec.OpenAPI; @@ -45,7 +44,7 @@ interface SapLandscapeMonitor { /** * Patches the SAP Landscape Monitor Dashboard for the specified subscription, resource group, and SAP monitor name. */ - @parameterVisibility("read") + @parameterVisibility update is ArmCustomPatchSync< SapLandscapeMonitorResource, SapLandscapeMonitorResource diff --git a/specification/workloads/Workloads.SAPMonitor.Management/main.tsp b/specification/workloads/Workloads.SAPMonitor.Management/main.tsp index ecf29a360b94..90a06e505cc2 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/main.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/main.tsp @@ -7,9 +7,6 @@ import "./Monitor.tsp"; import "./ProviderInstance.tsp"; import "./SapLandscapeMonitor.tsp"; -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; diff --git a/specification/workloads/Workloads.SAPMonitor.Management/models.tsp b/specification/workloads/Workloads.SAPMonitor.Management/models.tsp index e80d97be7a22..1821020722b0 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/models.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/models.tsp @@ -1,7 +1,3 @@ -import "@typespec/rest"; -import "@typespec/http"; -import "@azure-tools/typespec-azure-resource-manager"; - using TypeSpec.Rest; using TypeSpec.Http; using TypeSpec.OpenAPI; @@ -11,22 +7,6 @@ using Azure.ResourceManager.Private; namespace Microsoft.Workloads; -/** - * The managed service identity for all identities. - */ -union ManagedServiceIdentityType { - string, - - /** No managed identity. */ - None: "None", - - /** The user assigned managed identity. */ - UserAssigned: "UserAssigned", - - /** The system assigned managed identity. */ - SystemAssigned: "SystemAssigned", -} - /** * State of provisioning of the SAP monitor. */ @@ -141,47 +121,6 @@ union SslPreference { ServerCertificate: "ServerCertificate", } -/** - * Describes the user assigned identity records. - */ -@armCommonDefinition( - "UserAssignedIdentities", - Azure.ResourceManager.CommonTypes.Versions.v5, - "managedidentity.json" -) -model UserAssignedIdentities {} - -/** - * Describes the identity property of monitor resources. - */ -#suppress "@azure-tools/typespec-azure-core/no-format" "uuid format is being refered in the common types" -@doc("The Managed service identity.") -model ManagedServiceIdentity { - /** - * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. - */ - @visibility("read") - @format("uuid") - principalId?: string; - - /** - * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. - */ - @visibility("read") - @format("uuid") - tenantId?: string; - - /** - * The type of managed service identity. - */ - type: ManagedServiceIdentityType; - - /** - * The user assigned identities. - */ - userAssignedIdentities?: UserAssignedIdentities; -} - /** * Describes the properties of a SAP monitor. */ @@ -277,11 +216,7 @@ model AppServicePlanConfiguration { */ model UpdateMonitorRequest { ...ArmTagsProperty; - - /** - * The Managed service identity. - */ - identity?: ManagedServiceIdentity; + ...ManagedServiceIdentityProperty; } /** diff --git a/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json b/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json index 9e9626adcb96..72f5ae3e013c 100644 --- a/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json +++ b/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json @@ -1861,24 +1861,6 @@ "description": "Server instances properties." } } - }, - "Versions": { - "type": "string", - "description": "The available API versions.", - "enum": [ - "2023-10-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_10_01_preview", - "value": "2023-10-01-preview", - "description": "The 2023-10-01-preview API version." - } - ] - } } }, "parameters": {} diff --git a/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json b/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json index 6dfdf1d23cbd..6c6243b4b835 100644 --- a/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json +++ b/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json @@ -1119,65 +1119,6 @@ } } }, - "ManagedServiceIdentity": { - "type": "object", - "description": "The Managed service identity.", - "properties": { - "principalId": { - "type": "string", - "format": "uuid", - "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.", - "readOnly": true - }, - "tenantId": { - "type": "string", - "format": "uuid", - "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.", - "readOnly": true - }, - "type": { - "$ref": "#/definitions/ManagedServiceIdentityType", - "description": "The type of managed service identity." - }, - "userAssignedIdentities": { - "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/UserAssignedIdentities", - "description": "The user assigned identities." - } - }, - "required": [ - "type" - ] - }, - "ManagedServiceIdentityType": { - "type": "string", - "description": "The managed service identity for all identities.", - "enum": [ - "None", - "UserAssigned", - "SystemAssigned" - ], - "x-ms-enum": { - "name": "ManagedServiceIdentityType", - "modelAsString": true, - "values": [ - { - "name": "None", - "value": "None", - "description": "No managed identity." - }, - { - "name": "UserAssigned", - "value": "UserAssigned", - "description": "The user assigned managed identity." - }, - { - "name": "SystemAssigned", - "value": "SystemAssigned", - "description": "The system assigned managed identity." - } - ] - } - }, "Monitor": { "type": "object", "description": "SAP monitor info on Azure (ARM properties and SAP monitor properties)", @@ -1192,7 +1133,7 @@ ] }, "identity": { - "$ref": "#/definitions/ManagedServiceIdentity", + "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "The managed service identities assigned to this resource." } }, @@ -1779,8 +1720,8 @@ } }, "identity": { - "$ref": "#/definitions/ManagedServiceIdentity", - "description": "The Managed service identity." + "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." } } }, diff --git a/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-10-01-preview/operations.json b/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-10-01-preview/operations.json index 20de4a9f63c8..e23694864aa0 100644 --- a/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-10-01-preview/operations.json +++ b/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-10-01-preview/operations.json @@ -81,31 +81,6 @@ } } }, - "definitions": { - "Versions": { - "type": "string", - "description": "The available API versions.", - "enum": [ - "2023-12-01-preview", - "2023-10-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_12_01_preview", - "value": "2023-12-01-preview", - "description": "The 2023-12-01-preview API version." - }, - { - "name": "v2023_10_01_preview", - "value": "2023-10-01-preview", - "description": "The 2023-10-01-preview API version." - } - ] - } - } - }, + "definitions": {}, "parameters": {} } diff --git a/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-12-01-preview/operations.json b/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-12-01-preview/operations.json index 8b8332b7f8fe..1942de6d4ad4 100644 --- a/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-12-01-preview/operations.json +++ b/specification/workloads/resource-manager/Microsoft.Workloads/operations/preview/2023-12-01-preview/operations.json @@ -81,31 +81,6 @@ } } }, - "definitions": { - "Versions": { - "type": "string", - "description": "The available API versions.", - "enum": [ - "2023-12-01-preview", - "2023-10-01-preview" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v2023_12_01_preview", - "value": "2023-12-01-preview", - "description": "The 2023-12-01-preview API version." - }, - { - "name": "v2023_10_01_preview", - "value": "2023-10-01-preview", - "description": "The 2023-10-01-preview API version." - } - ] - } - } - }, + "definitions": {}, "parameters": {} } From 520e274d7d95fc6d1002dd3c1fcaf8d55d27f63e Mon Sep 17 00:00:00 2001 From: Konrad Jamrozik Date: Fri, 10 May 2024 15:40:49 -0700 Subject: [PATCH 12/30] Update comment.yml: restore ARMSignedOff rule (#29073) --- .github/comment.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/comment.yml b/.github/comment.yml index d6cb61933e04..d06097618c06 100644 --- a/.github/comment.yml +++ b/.github/comment.yml @@ -34,3 +34,10 @@ label: ARMChangesRequested onUnlabeledAddLabels: - WaitForARMFeedback + +- rule: + type: label + label: ARMSignedOff + onLabeledRemoveLabels: + - WaitForARMFeedback + - ARMChangesRequested From acea819f6b350a1e2d598d02628a1719b5f9da5d Mon Sep 17 00:00:00 2001 From: Peng Jiahui <46921893+Alancere@users.noreply.github.com> Date: Sat, 11 May 2024 11:50:11 +0800 Subject: [PATCH 13/30] update mpcnetworkfunction readme.go.md (#29076) --- specification/mpcnetworkfunction/resource-manager/readme.go.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/mpcnetworkfunction/resource-manager/readme.go.md b/specification/mpcnetworkfunction/resource-manager/readme.go.md index 42ac2dae48f3..af42d050ceaf 100644 --- a/specification/mpcnetworkfunction/resource-manager/readme.go.md +++ b/specification/mpcnetworkfunction/resource-manager/readme.go.md @@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line. ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/resourcemanager/mobilepacketcore/armmobilepacketcore +module-name: sdk/resourcemanager/mpcnetworkfunction/armmpcnetworkfunction module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true From 969c68562c5c4850257c9242a7a64b73c15f110d Mon Sep 17 00:00:00 2001 From: Han Chiang Date: Mon, 13 May 2024 09:38:15 +0800 Subject: [PATCH 14/30] Refine Face existing spec (#29064) * Remove multipart dedicated model * Remove locale in links * Add description for search over entire pd * Rename enum * Modify java config --- specification/ai/Face/models.common.tsp | 2 +- specification/ai/Face/models.session.tsp | 22 ++--- specification/ai/Face/routes.detection.tsp | 6 +- specification/ai/Face/routes.recognition.tsp | 1 + specification/ai/Face/tspconfig.yaml | 1 + .../Face/preview/v1.1-preview.1/Face.json | 85 ++++++++----------- 6 files changed, 49 insertions(+), 68 deletions(-) diff --git a/specification/ai/Face/models.common.tsp b/specification/ai/Face/models.common.tsp index 41092c4b44f0..26168c088e12 100644 --- a/specification/ai/Face/models.common.tsp +++ b/specification/ai/Face/models.common.tsp @@ -267,7 +267,7 @@ alias AddFaceDescriptionInList = """ * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully. * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures. * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size. - * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model + * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model """; alias ListRequestOptionsDescriptionInList = """ diff --git a/specification/ai/Face/models.session.tsp b/specification/ai/Face/models.session.tsp index 0cfade5db58c..80574f5c4f8a 100644 --- a/specification/ai/Face/models.session.tsp +++ b/specification/ai/Face/models.session.tsp @@ -116,13 +116,13 @@ union LivenessDecision { string, @doc("The algorithm could not classify the target face as either real or spoof.") - "uncertain", + uncertain: "uncertain", @doc("The algorithm has classified the target face as real.") - "realface", + realFace: "realface", @doc("The algorithm has classified the target face as a spoof.") - "spoofface", + spoofFace: "spoofface", } @doc("The type of image.") @@ -159,10 +159,10 @@ model LivenessOutputsTarget { @doc("The model version used for liveness classification.") union LivenessModel { string, - "2020-02-15-preview.01", - "2021-11-12-preview.03", - "2022-10-15-preview.04", - "2023-03-02-preview.05", + v2020_02_15_preview_01: "2020-02-15-preview.01", + v2021_11_12_preview_03: "2021-11-12-preview.03", + v2022_10_15_preview_04: "2022-10-15-preview.04", + v2023_03_02_preview_05: "2023-03-02-preview.05", } @doc("The detail of face for verification.") @@ -262,12 +262,6 @@ model LivenessSessionAuditEntry { digest: string; } -#suppress "@azure-tools/typespec-autorest/unsupported-multipart-type" "Provide convenient interface for multipart/form-data in SDK" -@doc("Dedicated parameter model for multipart/form-data.") -model CreateLivenessSessionContentForMultipart { - ...CreateLivenessSessionContent; -} - @doc("Request of liveness with verify session creation.") model CreateLivenessWithVerifySessionContent { @doc("The content type for the operation. Always multipart/form-data for this operation.") @@ -276,7 +270,7 @@ model CreateLivenessWithVerifySessionContent { #suppress "@azure-tools/typespec-azure-core/casing-style" @doc("The parameters for creating session.") - Parameters: CreateLivenessSessionContentForMultipart; + Parameters: CreateLivenessSessionContent; #suppress "@azure-tools/typespec-azure-core/casing-style" @doc("The image stream for verify. Content-Disposition header field for this part must have filename.") diff --git a/specification/ai/Face/routes.detection.tsp b/specification/ai/Face/routes.detection.tsp index 8ae0c67cc74d..d52e097bf01f 100644 --- a/specification/ai/Face/routes.detection.tsp +++ b/specification/ai/Face/routes.detection.tsp @@ -15,7 +15,7 @@ namespace Face; @summary("Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.") @doc(""" > [!IMPORTANT] -> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/en-us/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/. +> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/. * * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call. @@ -24,10 +24,10 @@ namespace Face; * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size. * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small. * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes). - * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model + * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model. * 'detection_03': Face attributes (mask and headPose only) and landmarks are supported if you choose this detection model. - * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-recognition-model. + * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model. """) @returnsDoc("A successful call returns an array of face entries ranked by face rectangle size in descending order. An empty response indicates no faces detected.") @post diff --git a/specification/ai/Face/routes.recognition.tsp b/specification/ai/Face/routes.recognition.tsp index 4035990deb9b..04c9b296b6c1 100644 --- a/specification/ai/Face/routes.recognition.tsp +++ b/specification/ai/Face/routes.recognition.tsp @@ -169,6 +169,7 @@ interface FaceRecognitionOperations { @doc( """ For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Person Directory Persons (given by personIds), and return candidate person(s) for that face ranked by similarity confidence. + Passing personIds with an array with one element "*" can perform the operation over entire person directory. ${IdentifyDocumentNote} > * The Identify operation can only match faces obtained with the same recognition model, that is associated with the query faces. """ diff --git a/specification/ai/Face/tspconfig.yaml b/specification/ai/Face/tspconfig.yaml index df46583b7702..21a6d629f11f 100644 --- a/specification/ai/Face/tspconfig.yaml +++ b/specification/ai/Face/tspconfig.yaml @@ -36,6 +36,7 @@ options: package-dir: "azure-ai-vision-face" namespace: com.azure.ai.vision.face partial-update: true + stream-style-serialization: false flavor: azure linter: extends: diff --git a/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json b/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json index 96874e91ca99..82ce35743ffa 100644 --- a/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json +++ b/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json @@ -88,7 +88,7 @@ "post": { "operationId": "FaceDetectionOperations_DetectFromUrl", "summary": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.", - "description": "> [!IMPORTANT]\n> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/en-us/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask and headPose only) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-recognition-model.", + "description": "> [!IMPORTANT]\n> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask and headPose only) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.", "parameters": [ { "name": "detectionModel", @@ -1479,7 +1479,7 @@ "post": { "operationId": "FaceListOperations_AddFaceListFaceFromUrl", "summary": "Add a face to a specified Face List, up to 1,000 faces.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Face List Face\" or \"Delete Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Face List Face\" or \"Delete Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model", "parameters": [ { "name": "faceListId", @@ -2253,7 +2253,7 @@ "post": { "operationId": "FaceListOperations_AddLargeFaceListFaceFromUrl", "summary": "Add a face to a specified Large Face List, up to 1,000,000 faces.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Face List Face\" or \"Delete Large Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model\n\n> [!NOTE]\n>\n> *\n> * Free-tier subscription quota: 1,000 faces per Large Face List.\n> * S0-tier subscription quota: 1,000,000 faces per Large Face List.", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Face List Face\" or \"Delete Large Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n\n> [!NOTE]\n>\n> *\n> * Free-tier subscription quota: 1,000 faces per Large Face List.\n> * S0-tier subscription quota: 1,000,000 faces per Large Face List.", "parameters": [ { "name": "largeFaceListId", @@ -3229,7 +3229,7 @@ "post": { "operationId": "PersonGroupOperations_AddLargePersonGroupPersonFaceFromUrl", "summary": "Add a face to a person into a Large Person Group for face identification or verification.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Person Group Person Face\", \"Delete Large Person Group Person\" or \"Delete Large Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Person Group Person Face\", \"Delete Large Person Group Person\" or \"Delete Large Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model", "parameters": [ { "name": "largePersonGroupId", @@ -4280,7 +4280,7 @@ "post": { "operationId": "PersonGroupOperations_AddPersonGroupPersonFaceFromUrl", "summary": "Add a face to a person into a Person Group for face identification or verification.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Person Group Person Face\", \"Delete Person Group Person\" or \"Delete Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Person Group Person Face\", \"Delete Person Group Person\" or \"Delete Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model", "parameters": [ { "name": "personGroupId", @@ -5085,7 +5085,7 @@ "post": { "operationId": "PersonDirectoryOperations_AddPersonFace", "summary": "Add a face to a person (see Person Directory \"Create Person\") for face identification or verification.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory \"Delete Person Face\" or \"Delete Person\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model\n*\n * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n * This is a long running operation. Use Response Header \"Operation-Location\" to determine when the AddFace operation has successfully propagated for future requests to \"Identify\". For further information about Operation-Locations see \"Get Face Operation Status\".", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory \"Delete Person Face\" or \"Delete Person\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n*\n * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n * This is a long running operation. Use Response Header \"Operation-Location\" to determine when the AddFace operation has successfully propagated for future requests to \"Identify\". For further information about Operation-Locations see \"Get Face Operation Status\".", "consumes": [ "application/octet-stream" ], @@ -5584,7 +5584,7 @@ "post": { "operationId": "FaceDetectionOperations_Detect", "summary": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.", - "description": "> [!IMPORTANT]\n> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/en-us/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask and headPose only) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-recognition-model.", + "description": "> [!IMPORTANT]\n> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask and headPose only) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.", "consumes": [ "application/octet-stream" ], @@ -6010,7 +6010,7 @@ "post": { "operationId": "FaceListOperations_AddFaceListFace", "summary": "Add a face to a specified Face List, up to 1,000 faces.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Face List Face\" or \"Delete Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Face List Face\" or \"Delete Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model", "consumes": [ "application/octet-stream" ], @@ -6469,7 +6469,7 @@ "post": { "operationId": "FaceRecognitionOperations_IdentifyFromPersonDirectory", "summary": "1-to-many identification to find the closest matches of the specific query person face from a person directory personIds array.", - "description": "For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Person Directory Persons (given by personIds), and return candidate person(s) for that face ranked by similarity confidence.\n> [!NOTE]\n>\n> *\n> * The algorithm allows more than one face to be identified independently at the same request, but no more than 10 faces.\n> * Each person could have more than one face, but no more than 248 faces.\n> * Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n> * Number of candidates returned is restricted by maxNumOfCandidatesReturned and confidenceThreshold. If no person is identified, the returned candidates will be an empty array.\n> * The Identify operation can only match faces obtained with the same recognition model, that is associated with the query faces.", + "description": "For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Person Directory Persons (given by personIds), and return candidate person(s) for that face ranked by similarity confidence.\nPassing personIds with an array with one element \"*\" can perform the operation over entire person directory.\n> [!NOTE]\n>\n> *\n> * The algorithm allows more than one face to be identified independently at the same request, but no more than 10 faces.\n> * Each person could have more than one face, but no more than 248 faces.\n> * Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n> * Number of candidates returned is restricted by maxNumOfCandidatesReturned and confidenceThreshold. If no person is identified, the returned candidates will be an empty array.\n> * The Identify operation can only match faces obtained with the same recognition model, that is associated with the query faces.", "parameters": [ { "name": "body", @@ -6554,7 +6554,7 @@ "post": { "operationId": "FaceListOperations_AddLargeFaceListFace", "summary": "Add a face to a specified Large Face List, up to 1,000,000 faces.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Face List Face\" or \"Delete Large Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model\n\n> [!NOTE]\n>\n> *\n> * Free-tier subscription quota: 1,000 faces per Large Face List.\n> * S0-tier subscription quota: 1,000,000 faces per Large Face List.", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Face List Face\" or \"Delete Large Face List\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n\n> [!NOTE]\n>\n> *\n> * Free-tier subscription quota: 1,000 faces per Large Face List.\n> * S0-tier subscription quota: 1,000,000 faces per Large Face List.", "consumes": [ "application/octet-stream" ], @@ -6667,7 +6667,7 @@ "post": { "operationId": "PersonGroupOperations_AddLargePersonGroupPersonFace", "summary": "Add a face to a person into a Large Person Group for face identification or verification.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Person Group Person Face\", \"Delete Large Person Group Person\" or \"Delete Large Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Person Group Person Face\", \"Delete Large Person Group Person\" or \"Delete Large Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model", "consumes": [ "application/octet-stream" ], @@ -6788,7 +6788,7 @@ "post": { "operationId": "PersonGroupOperations_AddPersonGroupPersonFace", "summary": "Add a face to a person into a Person Group for face identification or verification.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Person Group Person Face\", \"Delete Person Group Person\" or \"Delete Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Person Group Person Face\", \"Delete Person Group Person\" or \"Delete Person Group\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model", "consumes": [ "application/octet-stream" ], @@ -6909,7 +6909,7 @@ "post": { "operationId": "PersonDirectoryOperations_AddPersonFaceFromUrl", "summary": "Add a face to a person (see Person Directory \"Create Person\") for face identification or verification.", - "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory \"Delete Person Face\" or \"Delete Person\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/specify-detection-model\n*\n * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n * This is a long running operation. Use Response Header \"Operation-Location\" to determine when the AddFace operation has successfully propagated for future requests to \"Identify\". For further information about Operation-Locations see \"Get Face Operation Status\".", + "description": "To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory \"Delete Person Face\" or \"Delete Person\" is called.\n\nNote that persistedFaceId is different from faceId generated by \"Detect\".\n>\n*\n * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n * Each person entry can hold up to 248 faces.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully.\n * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n*\n * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n * This is a long running operation. Use Response Header \"Operation-Location\" to determine when the AddFace operation has successfully propagated for future requests to \"Identify\". For further information about Operation-Locations see \"Get Face Operation Status\".", "parameters": [ { "name": "personId", @@ -7463,39 +7463,6 @@ "livenessOperationMode" ] }, - "CreateLivenessSessionContentForMultipart": { - "type": "object", - "description": "Dedicated parameter model for multipart/form-data.", - "properties": { - "livenessOperationMode": { - "$ref": "#/definitions/LivenessOperationMode", - "description": "Type of liveness mode the client should follow." - }, - "sendResultsToClient": { - "type": "boolean", - "description": "Whether or not to allow a '200 - Success' response body to be sent to the client, which may be undesirable for security reasons. Default is false, clients will receive a '204 - NoContent' empty body response. Regardless of selection, calling Session GetResult will always contain a response body enabling business logic to be implemented." - }, - "deviceCorrelationIdSetInClient": { - "type": "boolean", - "description": "Whether or not to allow client to set their own 'deviceCorrelationId' via the Vision SDK. Default is false, and 'deviceCorrelationId' must be set in this request body." - }, - "deviceCorrelationId": { - "type": "string", - "description": "Unique Guid per each end-user device. This is to provide rate limiting and anti-hammering. If 'deviceCorrelationIdSetInClient' is true in this request, this 'deviceCorrelationId' must be null." - }, - "authTokenTimeToLiveInSeconds": { - "type": "integer", - "format": "int32", - "description": "Seconds the session should last for. Range is 60 to 86400 seconds. Default value is 600.", - "default": 600, - "minimum": 60, - "maximum": 86400 - } - }, - "required": [ - "livenessOperationMode" - ] - }, "CreateLivenessSessionResult": { "type": "object", "description": "Response of liveness session creation.", @@ -7519,7 +7486,7 @@ "description": "Request of liveness with verify session creation.", "properties": { "Parameters": { - "$ref": "#/definitions/CreateLivenessSessionContentForMultipart", + "$ref": "#/definitions/CreateLivenessSessionContent", "description": "The parameters for creating session." }, "VerifyImage": { @@ -8614,12 +8581,12 @@ "description": "The algorithm could not classify the target face as either real or spoof." }, { - "name": "realface", + "name": "realFace", "value": "realface", "description": "The algorithm has classified the target face as real." }, { - "name": "spoofface", + "name": "spoofFace", "value": "spoofface", "description": "The algorithm has classified the target face as a spoof." } @@ -8637,7 +8604,25 @@ ], "x-ms-enum": { "name": "LivenessModel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "v2020_02_15_preview_01", + "value": "2020-02-15-preview.01" + }, + { + "name": "v2021_11_12_preview_03", + "value": "2021-11-12-preview.03" + }, + { + "name": "v2022_10_15_preview_04", + "value": "2022-10-15-preview.04" + }, + { + "name": "v2023_03_02_preview_05", + "value": "2023-03-02-preview.05" + } + ] } }, "LivenessOperationMode": { From 4a4eaa0b5584e468feb566fca5eaf0c0c6eca4b3 Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Mon, 13 May 2024 10:38:09 +0800 Subject: [PATCH 15/30] dpg java, contentsafety version 2023-10-01 (#29084) --- specification/cognitiveservices/ContentSafety/tspconfig.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/specification/cognitiveservices/ContentSafety/tspconfig.yaml b/specification/cognitiveservices/ContentSafety/tspconfig.yaml index 3104d151608c..4886055b785a 100644 --- a/specification/cognitiveservices/ContentSafety/tspconfig.yaml +++ b/specification/cognitiveservices/ContentSafety/tspconfig.yaml @@ -38,3 +38,4 @@ options: examples-directory: examples partial-update: true flavor: azure + api-version: "2023-10-01" From 0bc238ecc7d42a1c814ed076b84e7c6328ae39df Mon Sep 17 00:00:00 2001 From: wenqibu <153253179+wenqibu@users.noreply.github.com> Date: Mon, 13 May 2024 14:11:47 +0800 Subject: [PATCH 16/30] Add query property for Salesforce V2 (#28704) * Add query property for Salesforce V2 * Change deprecating description * Add type description --------- Co-authored-by: madhura <56606095+madhura-np@users.noreply.github.com> --- .../stable/2018-06-01/entityTypes/Pipeline.json | 14 ++++++++++++-- .../stable/2020-12-01/entityTypes/Pipeline.json | 12 ++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json index 0a0763182867..14cbdee37961 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json @@ -9100,7 +9100,12 @@ "SOQLQuery": { "type": "object", "x-ms-format": "dfe-string", - "description": "Database query. Type: string (or Expression with resultType string)." + "description": "Deprecating, please use 'query' property instead. Type: string (or Expression with resultType string)." + }, + "query": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "You can only use Salesforce Object Query Language (SOQL) query with limitations. For SOQL limitations, see this article: https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/queries.htm#SOQL%20Considerations. If query is not specified, all the data of the Salesforce object specified in ObjectApiName/reportId in dataset will be retrieved. Type: string (or Expression with resultType string)." }, "includeDeletedObjects": { "description": "This property control whether query result contains Deleted objects. Default is false. Type: boolean (or Expression with resultType boolean).", @@ -9121,7 +9126,12 @@ "SOQLQuery": { "type": "object", "x-ms-format": "dfe-string", - "description": "Database query. Type: string (or Expression with resultType string)." + "description": "Deprecating, please use 'query' property instead. Type: string (or Expression with resultType string)." + }, + "query": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "You can only use Salesforce Object Query Language (SOQL) query with limitations. For SOQL limitations, see this article: https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/queries.htm#SOQL%20Considerations. If query is not specified, all the data of the Salesforce object specified in ObjectApiName/reportId in dataset will be retrieved. Type: string (or Expression with resultType string)." }, "includeDeletedObjects": { "description": "This property control whether query result contains Deleted objects. Default is false. Type: boolean (or Expression with resultType boolean).", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json index 9ec79b72c852..c78a6728d852 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json @@ -8016,7 +8016,11 @@ "properties": { "SOQLQuery": { "type": "object", - "description": "Database query. Type: string (or Expression with resultType string)." + "description": "Deprecating, please use 'query' property instead. Type: string (or Expression with resultType string)." + }, + "query": { + "type": "object", + "description": "You can only use Salesforce Object Query Language (SOQL) query with limitations. For SOQL limitations, see this article: https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/queries.htm#SOQL%20Considerations. If query is not specified, all the data of the Salesforce object specified in ObjectApiName/reportId in dataset will be retrieved. Type: string (or Expression with resultType string)." }, "includeDeletedObjects": { "description": "This property control whether query result contains Deleted objects. Default is false. Type: boolean (or Expression with resultType boolean).", @@ -8035,7 +8039,11 @@ "properties": { "SOQLQuery": { "type": "object", - "description": "Database query. Type: string (or Expression with resultType string)." + "description": "Deprecating, please use 'query' property instead. Type: string (or Expression with resultType string)." + }, + "query": { + "type": "object", + "description": "You can only use Salesforce Object Query Language (SOQL) query with limitations. For SOQL limitations, see this article: https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/queries.htm#SOQL%20Considerations. If query is not specified, all the data of the Salesforce object specified in ObjectApiName/reportId in dataset will be retrieved. Type: string (or Expression with resultType string)." }, "includeDeletedObjects": { "description": "This property control whether query result contains Deleted objects. Default is false. Type: boolean (or Expression with resultType boolean).", From b627f6cb13b1d596e7329c6d7aae415519a373c2 Mon Sep 17 00:00:00 2001 From: Preeti Bansal <46021667+prebansa@users.noreply.github.com> Date: Mon, 13 May 2024 14:12:13 +0530 Subject: [PATCH 17/30] Swagger changes for ServiceNowV2 expression app model. (#28294) * Swagger changes for ServiceNowV2 expression app model. * Changes * updates * updates * Update Pipeline.json * Update sdk-suppressions.yaml * add azure-sdk-for-go suppression * Update sdk-suppressions.yaml * Update sdk-suppressions.yaml --------- Co-authored-by: ms-kanikagupta <166607519+kanikagupta11@users.noreply.github.com> Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com> Co-authored-by: Alancere <804873052@qq.com> Co-authored-by: Yuchao Yan --- .../stable/2018-06-01/entityTypes/Pipeline.json | 14 ++++++++++---- .../resource-manager/sdk-suppressions.yaml | 15 ++++----------- .../stable/2020-12-01/entityTypes/Pipeline.json | 13 +++++++++---- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json index 14cbdee37961..d094cd8aa3c1 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json @@ -9239,7 +9239,8 @@ "Constant", "Field", "Unary", - "Binary" + "Binary", + "NAry" ], "type": "string", "description": "Type of expressions supported by the system. Type: string." @@ -9248,9 +9249,14 @@ "description": "Value for Constant/Field Type: string.", "type": "string" }, - "operator": { - "description": "Expression operator value Type: string.", - "type": "string" + "operators": { + "description": "Expression operator value Type: list of strings.", + "type": "array", + "items": { + "type": "string", + "x-ms-format": "dfe-string", + "description": "Type: string." + } }, "operands": { "description": "List of nested expressions.", diff --git a/specification/datafactory/resource-manager/sdk-suppressions.yaml b/specification/datafactory/resource-manager/sdk-suppressions.yaml index 79dec0017c77..28a8fe5b1b1c 100644 --- a/specification/datafactory/resource-manager/sdk-suppressions.yaml +++ b/specification/datafactory/resource-manager/sdk-suppressions.yaml @@ -3,20 +3,12 @@ suppressions: - package: azure-mgmt-datafactory breaking-changes: - Model ManagedIdentityCredential no longer has parameter resource_id + - Model ExpressionV2 no longer has parameter operator azure-sdk-for-go: - package: sdk/resourcemanager/datafactory/armdatafactory breaking-changes: - Enum `ScriptType` has been removed - - Field `ManagedIdentityCredentialResource` of struct `CredentialOperationsClientCreateOrUpdateResponse` has been removed - - Field `ManagedIdentityCredentialResource` of struct `CredentialOperationsClientGetResponse` has been removed - - Field `TypeProperties` of struct `ManagedIdentityCredential` has been removed - - Function `*CredentialOperationsClient.CreateOrUpdate` parameter(s) have been changed from `(context.Context, string, string, string, ManagedIdentityCredentialResource, *CredentialOperationsClientCreateOrUpdateOptions)` to `(context.Context, string, string, string, CredentialResource, *CredentialOperationsClientCreateOrUpdateOptions)` - - Struct `ManagedIdentityCredentialResource` has been removed - - Struct `ManagedIdentityTypeProperties` has been removed - - Type of `AzureFunctionActivityTypeProperties.Headers` has been changed from `map[string]*string` to `map[string]any` - - Type of `CredentialListResponse.Value` has been changed from `[]*ManagedIdentityCredentialResource` to `[]*CredentialResource` - - Type of `WebActivityTypeProperties.Headers` has been changed from `map[string]*string` to `map[string]any` - - Type of `WebHookActivityTypeProperties.Headers` has been changed from `map[string]*string` to `map[string]any` + - Field `Operator` of struct `ExpressionV2` has been removed azure-sdk-for-js: - package: "@azure/arm-datafactory" breaking-changes: @@ -26,4 +18,5 @@ suppressions: - "Type of parameter headers of interface WebActivity is changed from {\n [propertyName: string]: string;\n } to {\n [propertyName: string]: any;\n }" - "Type of parameter headers of interface WebHookActivity is changed from {\n [propertyName: string]: string;\n } to {\n [propertyName: string]: any;\n }" - Type of parameter type of interface ScriptActivityScriptBlock is changed from ScriptType to any - - Type of parameter value of interface CredentialListResponse is changed from ManagedIdentityCredentialResource[] to CredentialResource[] \ No newline at end of file + - Type of parameter value of interface CredentialListResponse is changed from ManagedIdentityCredentialResource[] to CredentialResource[] + - Interface ExpressionV2 no longer has parameter operator diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json index c78a6728d852..e7fe05e9e3e5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json @@ -8146,7 +8146,8 @@ "Constant", "Field", "Unary", - "Binary" + "Binary", + "NAry" ], "type": "string", "description": "Type of expressions supported by the system. Type: string." @@ -8155,9 +8156,13 @@ "description": "Value for Constant/Field Type: string.", "type": "string" }, - "operator": { - "description": "Expression operator value Type: string.", - "type": "string" + "operators": { + "description": "Expression operator value Type: list of strings.", + "type": "array", + "items": { + "type": "string", + "description": "Type: string." + } }, "operands": { "description": "List of nested expressions.", From ac3db6345722cf2a5fac7e625d36bb34b05f1902 Mon Sep 17 00:00:00 2001 From: Oliver Towers Date: Mon, 13 May 2024 09:45:33 -0700 Subject: [PATCH 18/30] Add new API version 2024-03-01-preview for Microsoft.DocumentDB mongocluster (#27733) * Generate new Service for cosmosdbmongoclusters * Add cosmosdbmongoclusters service for Microsoft.DocumentDB RP. Includes TypeSpec definitions, examples, scenario tests and generated Swagger API files * First phase of renaming to mongocluster in files only * Rename example files, cleanup additional name changes * Rename folder * removed the old examples * Remove plural MongoClusters * Move typespec to DocumentDB.MongoCluster.Management * move mongoclusters->mongocluster for the service folder * Fix plural resource type * Final renames * Add private link and private endpoint resources * Rename * Fix examples * Fix examples * Add Accepted/202 pattern for firewall and PEC. Add correct async headers to examples. * Fix LROHeaders and example names * Remove Accepted 202 support for firewall/PEC create - to be added in future api release * Fix new line * Fixes * Auto-correct * Fix scenario tests * Add Accepted/202 pattern for firewall and PEC. Add correct async headers to examples. * Fix LROHeaders and example names * Adding accepted response handling * Add results of last compile * Fix formatting --------- Co-authored-by: madhura <56606095+madhura-np@users.noreply.github.com> --- .../.gitignore | 2 + .../FirewallRule.tsp | 53 + .../MongoCluster.tsp | 212 ++ .../PrivateEndpointConnection.tsp | 43 + .../README.md | 102 + .../common.tsp | 68 + .../MongoClusters_Create.json | 95 + .../MongoClusters_CreatePITR.json | 72 + .../MongoClusters_Delete.json | 19 + .../MongoClusters_FirewallRuleCreate.json | 65 + .../MongoClusters_FirewallRuleDelete.json | 20 + .../MongoClusters_FirewallRuleGet.json | 33 + .../MongoClusters_FirewallRuleList.json | 54 + .../2024-03-01-preview/MongoClusters_Get.json | 50 + .../MongoClusters_List.json | 86 + .../MongoClusters_ListByResourceGroup.json | 87 + .../MongoClusters_ListConnectionStrings.json | 22 + .../MongoClusters_NameAvailability.json | 21 + ...usters_NameAvailability_AlreadyExists.json | 23 + .../MongoClusters_PatchDiskSize.json | 60 + ...ngoClusters_PatchPrivateNetworkAccess.json | 81 + ...sters_PrivateEndpointConnectionDelete.json | 19 + ...Clusters_PrivateEndpointConnectionGet.json | 42 + ...lusters_PrivateEndpointConnectionList.json | 45 + ...Clusters_PrivateEndpointConnectionPut.json | 85 + ...MongoClusters_PrivateLinkResourceList.json | 32 + .../MongoClusters_Update.json | 68 + .../2024-03-01-preview/Operations_List.json | 35 + .../main.tsp | 34 + .../tspconfig.yaml | 12 + .../examples/MongoClusters_Create.json | 95 + .../examples/MongoClusters_CreatePITR.json | 72 + .../examples/MongoClusters_Delete.json | 19 + .../MongoClusters_FirewallRuleCreate.json | 65 + .../MongoClusters_FirewallRuleDelete.json | 20 + .../MongoClusters_FirewallRuleGet.json | 33 + .../MongoClusters_FirewallRuleList.json | 54 + .../examples/MongoClusters_Get.json | 50 + .../examples/MongoClusters_List.json | 86 + .../MongoClusters_ListByResourceGroup.json | 87 + .../MongoClusters_ListConnectionStrings.json | 22 + .../MongoClusters_NameAvailability.json | 21 + ...usters_NameAvailability_AlreadyExists.json | 23 + .../examples/MongoClusters_PatchDiskSize.json | 60 + ...ngoClusters_PatchPrivateNetworkAccess.json | 81 + ...sters_PrivateEndpointConnectionDelete.json | 19 + ...Clusters_PrivateEndpointConnectionGet.json | 42 + ...lusters_PrivateEndpointConnectionList.json | 45 + ...Clusters_PrivateEndpointConnectionPut.json | 85 + ...MongoClusters_PrivateLinkResourceList.json | 32 + .../examples/MongoClusters_Update.json | 68 + .../examples/Operations_List.json | 35 + .../2024-03-01-preview/mongoCluster.json | 1749 +++++++++++++++++ .../2024-03-01-preview/scenarios/basic.yaml | 40 + .../resource-manager/readme.az.md | 28 + .../resource-manager/readme.cli.md | 1 + .../resource-manager/readme.csharp.md | 15 + .../resource-manager/readme.go.md | 11 + .../mongocluster/resource-manager/readme.md | 78 + .../resource-manager/readme.python.md | 23 + .../resource-manager/readme.typescript.md | 14 + 61 files changed, 4713 insertions(+) create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/.gitignore create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/README.md create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/common.tsp create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Create.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_CreatePITR.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Delete.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleCreate.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleDelete.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleGet.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleList.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Get.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_List.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListByResourceGroup.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListConnectionStrings.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability_AlreadyExists.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchDiskSize.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchPrivateNetworkAccess.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionDelete.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionGet.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionList.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionPut.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateLinkResourceList.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Update.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/Operations_List.json create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp create mode 100644 specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Create.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_CreatePITR.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Delete.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleCreate.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleDelete.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleGet.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleList.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Get.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_List.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListByResourceGroup.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListConnectionStrings.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability_AlreadyExists.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchDiskSize.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchPrivateNetworkAccess.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionDelete.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionGet.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionList.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionPut.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateLinkResourceList.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Update.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/Operations_List.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json create mode 100644 specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/scenarios/basic.yaml create mode 100644 specification/mongocluster/resource-manager/readme.az.md create mode 100644 specification/mongocluster/resource-manager/readme.cli.md create mode 100644 specification/mongocluster/resource-manager/readme.csharp.md create mode 100644 specification/mongocluster/resource-manager/readme.go.md create mode 100644 specification/mongocluster/resource-manager/readme.md create mode 100644 specification/mongocluster/resource-manager/readme.python.md create mode 100644 specification/mongocluster/resource-manager/readme.typescript.md diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/.gitignore b/specification/mongocluster/DocumentDB.MongoCluster.Management/.gitignore new file mode 100644 index 000000000000..573553f155bf --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/.gitignore @@ -0,0 +1,2 @@ +env.json +package-lock.json \ No newline at end of file diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp new file mode 100644 index 000000000000..9a6b97c08ad7 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp @@ -0,0 +1,53 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./common.tsp"; +import "./MongoCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; +using TypeSpec.Http; + +namespace Microsoft.DocumentDB; +@doc("Represents a mongo cluster firewall rule.") +@parentResource(MongoCluster) +model FirewallRule is ProxyResource { + @doc("The name of the mongo cluster firewall rule.") + @maxLength(80) + @minLength(1) + @pattern("^[a-zA-Z0-9][-_.a-zA-Z0-9]*") + @key("firewallRuleName") + @segment("firewallRules") + @visibility("read") + @path + name: string; +} + +@doc("The properties of a mongo cluster firewall rule.") +model FirewallRuleProperties { + @doc("The provisioning state of the firewall rule.") + @visibility("read") + provisioningState?: ProvisioningState; + + @doc("The start IP address of the mongo cluster firewall rule. Must be IPv4 format.") + @pattern("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$") + startIpAddress: string; + + @doc("The end IP address of the mongo cluster firewall rule. Must be IPv4 format.") + @pattern("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$") + endIpAddress: string; +} + +@armResourceOperations +interface FirewallRules { + @doc("Gets information about a mongo cluster firewall rule.") + get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "Need to support existing 202 response for PUT operations" + @doc("Creates a new firewall rule or updates an existing firewall rule on a mongo cluster.") + createOrUpdate is Operations.ArmResourceCreateOrUpdateWithAcceptedAsync; + @doc("Deletes a mongo cluster firewall rule.") + delete is ArmResourceDeleteWithoutOkAsync; + @doc("List all the firewall rules in a given mongo cluster.") + listByParent is ArmResourceListByParent; +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp new file mode 100644 index 000000000000..ff5e69af0bb1 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp @@ -0,0 +1,212 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@azure-tools/typespec-client-generator-core"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./common.tsp"; + +using TypeSpec.Http; +using TypeSpec.OpenAPI; +using TypeSpec.Rest; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; +using Azure.ResourceManager.Private; +using Azure.ClientGenerator.Core; + +namespace Microsoft.DocumentDB; +@doc("Represents a mongo cluster resource.") +model MongoCluster is TrackedResource { + @doc("The name of the mongo cluster.") + @maxLength(40) + @minLength(3) + @pattern("^[a-z0-9]+(-[a-z0-9]+)*") + @key("mongoClusterName") + @segment("mongoClusters") + @visibility("read") + @path + name: string; +} + +@armResourceOperations +interface MongoClusters { + @doc("Gets information about a mongo cluster.") + get is ArmResourceRead; + @doc("Create or update a mongo cluster. Update overwrites all properties for the resource. To only modify some of the properties, use PATCH.") + createOrUpdate is ArmResourceCreateOrUpdateAsync; + @doc("Updates an existing mongo cluster. The request body can contain one to many of the properties present in the normal mongo cluster definition.") + update is ArmResourcePatchAsync; + @doc("Deletes a mongo cluster.") + delete is ArmResourceDeleteWithoutOkAsync; + @doc("List all the mongo clusters in a given resource group.") + listByResourceGroup is ArmResourceListByParent; + @doc("List all the mongo clusters in a given subscription.") + list is ArmListBySubscription; + @doc("List mongo cluster connection strings. This includes the default connection string using SCRAM-SHA-256, as well as other connection strings supported by the cluster.") + listConnectionStrings is ArmResourceActionSync< + MongoCluster, + void, + ListConnectionStringsResult + >; + @doc("Check if mongo cluster name is available for use.") + @action("checkMongoClusterNameAvailability") + checkNameAvailability is checkLocalNameAvailability; +} + +@doc("The properties of a mongo cluster.") +model MongoClusterProperties { + @doc("The mode to create a mongo cluster.") + @visibility("create") + createMode?: CreateMode; + + @doc("The parameters to create a point-in-time restore mongo cluster.") + @visibility("create") + restoreParameters?: MongoClusterRestoreParameters; + + @doc("The administrator's login for the mongo cluster.") + @visibility("read", "create", "update") + administratorLogin?: string; + + @doc("The password of the administrator login.") + @visibility("create", "update") + @secret + administratorLoginPassword?: string; + + @doc("The Mongo DB server version. Defaults to the latest available version if not specified.") + serverVersion?: string; + + @doc("The default mongo connection string for the cluster.") + @visibility("read") + connectionString?: string; + + @doc("Earliest restore timestamp in UTC ISO8601 format.") + @visibility("read") + earliestRestoreTime?: string; + + @doc("The provisioning state of the mongo cluster.") + @visibility("read") + provisioningState?: ProvisioningState; + + @doc("The status of the mongo cluster.") + @visibility("read") + clusterStatus?: MongoClusterStatus; + + @doc("Whether or not public endpoint access is allowed for this mongo cluster.") + publicNetworkAccess?: PublicNetworkAccess; + + @doc("The list of node group specs in the cluster.") + @extension("x-ms-identifiers", []) + nodeGroupSpecs?: NodeGroupSpec[]; + + @doc("List of private endpoint connections.") + @visibility("read") + privateEndpointConnections?: PrivateEndpointConnection[]; +} + +@doc("The mode that the Mongo Cluster is created with.") +union CreateMode { + string, + + @doc("Create a new mongo cluster.") + "Default", + + @doc("Create a mongo cluster from a restore point-in-time.") + "PointInTimeRestore", +} + +@doc("The kind of the node on the cluster.") +union NodeKind { + string, + + @doc("The node is a shard kind.") + "Shard", +} + +@doc("Parameters used for restore operations") +model MongoClusterRestoreParameters { + #suppress "@azure-tools/typespec-azure-core/casing-style" "Capitialized acronym in the property name." + @doc("UTC point in time to restore a mongo cluster") + pointInTimeUTC?: utcDateTime; + + @doc("Resource ID to locate the source cluster to restore") + sourceResourceId?: string; +} + +@doc("Specification for a node group.") +model NodeGroupSpec is NodeGroupProperties { + @doc("The node type deployed in the node group.") + kind?: NodeKind; + + @doc("The number of nodes in the node group.") + nodeCount?: int32; +} + +@doc("The properties of the node group on a cluster.") +model NodeGroupProperties { + @doc("The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'.") + sku?: string; + + #suppress "@azure-tools/typespec-azure-core/casing-style" "Capitialized acronym in the property name." + @doc("The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024.") + diskSizeGB?: int64; + + @doc("Whether high availability is enabled on the node group.") + enableHa?: boolean; +} + +@doc("The connection strings for the given mongo cluster.") +model ListConnectionStringsResult { + @doc("An array that contains the connection strings for a mongo cluster.") + @visibility("read") + @extension("x-ms-identifiers", []) + connectionStrings?: ConnectionString[]; +} + +@doc("Connection string for the mongo cluster") +model ConnectionString { + #suppress "@azure-tools/typespec-azure-core/property-name-conflict" "https://github.com/Azure/typespec-azure/issues/417" + @doc("Value of the connection string") + @visibility("read") + @clientName("uri", "csharp") + connectionString?: string; + + @doc("Description of the connection string") + @visibility("read") + description?: string; +} + +@doc("The status of the Mongo cluster resource.") +union MongoClusterStatus { + string, + + @doc("The mongo cluster resource is ready for use.") + "Ready", + + @doc("The mongo cluster resource is being provisioned.") + "Provisioning", + + @doc("The mongo cluster resource is being updated.") + "Updating", + + @doc("The mongo cluster resource is being started.") + "Starting", + + @doc("The mongo cluster resource is being stopped.") + "Stopping", + + @doc("The mongo cluster resource is stopped.") + "Stopped", + + @doc("The mongo cluster resource is being dropped.") + "Dropping", +} + +@doc("Whether or not public endpoint access is allowed for this Mongo cluster. Value is optional and default value is 'Enabled'") +union PublicNetworkAccess { + string, + + @doc("If set, mongo cluster can be accessed through private and public methods.") + "Enabled", + + @doc("If set, the private endpoints are the exclusive access method.") + "Disabled", +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp new file mode 100644 index 000000000000..edfc45e2a215 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp @@ -0,0 +1,43 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./common.tsp"; +import "./MongoCluster.tsp"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using Azure.ResourceManager; + +namespace Microsoft.DocumentDB; + +@parentResource(MongoCluster) +model PrivateEndpointConnectionResource + is ProxyResource { + ...PrivateEndpointConnectionParameter; +} + +@armResourceOperations(PrivateEndpointConnectionResource) +interface PrivateEndpointConnections { + /** List existing private connections */ + listConnections is ArmResourceListByParent; + /** Get a specific private connection */ + get is ArmResourceRead; + /** Create a Private endpoint connection */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "Need to support existing 202 response for PUT operations" + create is Operations.ArmResourceCreateOrUpdateWithAcceptedAsync; + /** Delete the private endpoint connection */ + delete is ArmResourceDeleteWithoutOkAsync; +} + +#suppress "@azure-tools/typespec-providerhub-controller/no-resource-operations" "Expected for private links" +@parentResource(MongoCluster) +model PrivateLinkResource is ProxyResource { + ...PrivateLinkResourceParameter; +} + +@armResourceOperations(PrivateLinkResource) +interface PrivateLinks { + /** list private links on the given resource */ + list is ArmResourceListByParent; +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/README.md b/specification/mongocluster/DocumentDB.MongoCluster.Management/README.md new file mode 100644 index 000000000000..705d9f86a0e4 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/README.md @@ -0,0 +1,102 @@ +# Getting started with Typespec ARM specifications + +Swagger APIs and examples are generated from Typespec definitions in folder `DocumentDB.MongoCluster.Managment`. + +The generated specs and examples are located under `resource-manager/Microsoft.DocumentDB` and should not be edited directly. + +# Setup local environment + +See instructions [here](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/typespec-rest-api-dev-process.md#21-with-local-machine-development) + +# Folder layout + +``` +mongocluster +├── DocumentDB.MongoCluster.Managment [ARM API TypeSpec Definition] +| ├── tspconfig.yaml +| ├── main.tsp +| ├── MongoCluster.tsp +| ├── common.tsp +| ├── ... +| └── examples [API Examples] +| ├── 2023-11-15-preview +| | ├── MongoClusterCreate.json +| | ├── MongoClusterGet.json +| | ├── ... +| └── 2024-03-01-preview +| ├── ... +└── resource-manager + └── Microsoft.DocumentDB + └── preview + ├── 2023-11-15-preview + | ├── mongoCluster.json [Swagger specs generated from TypeSpec] + | └── examples + | | └── ... [examples generated from TypeSpec] + | └── scenarios [API Test Scenarios - non-generated] + | └── basic.yaml + ├── 2024-03-01-preview + ├── ... +``` + +# Authoring Typespec definition + +TypeSpec ARM definitions inline the api version changes without needing to clone/copy specs each time. +We still to cloe the + +Use VS Code to edit TypeSpec definition files. +- If adding a new API version - update `main.tsp` with the API version definition. + - Copy the `examples\` from the previous `stable` or `preview` API version into a new versoin folder. + - For any additions to the API specificatoin, decorate the properties/models/resource etc. with `@added(Versions.v)`. + - Similarly for removing items, use `@removed(Versions.v)` - note that this could trigger a API breaking change error during PR review. +- If adding a new resource (proxy or tracked ARM resource), create a new `.tsp` file with the filename matching the resource name, eg. `User.tsp`. +- Any shared models should be added to `common.tsp`. +- Make sure to add or update the examples based on the changes that have been made for the new API version. + +# Compiling TypeSpec + +From folder `DocumentDB.MongoCluster.Management`, run: + +```bash +npx tsp compile . +``` + +This will re-generate the Swagger API specifications nuder `resource-manager/Microsoft.DocumentDB`. +Assuming you have made no updates, this should make no changes to the files. + +# Management API scenario tests + +API Scenario tests validate the API specification against a production ARM endpoint or can be used to record traffic against a proxy endpoint. +The scenarios can be defined using the API version examples and should be run whenever API spec changes are being made. + +See complete [documentation](https://github.com/Azure/azure-rest-api-specs/tree/main/documentation/api-scenario) + +API scenario file are located alongside examples for each API version +``` +mongocluster +└── resource-manager + └── Microsoft.DocumentDB + ├── preview + ├── 2023-11-15-preview + | ├── ... + | └── scenarios + | └── basic.yaml + └── 2024-03-01-preview + └── scenarios + ├── basic.yaml + └── new-scenario.yaml +``` + +## Adding or editing scenario definitions + +[Quickstart guide](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/api-scenario/how-to/QuickStart.md#authoring-steps) is a good a starting point for authoring. + +See [API scenario definition reference](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/api-scenario/references/ApiScenarioDefinition.md). + +Rule of thumb is to author or generate practical API spec examples that can be turned be compiled into a scenario test. + +Example Scenarios: + - Basic [DONE] - covers common operations such as create, add firewall, data disk scaling, delete operations. + +## Running API scenarios for Mongo Clusters API + +__Full instructions on [wiki page here](https://msdata.visualstudio.com/CosmosDB/_git/pgmongo?path=/docs/pgmongo/mongo_arm/api_specification/typespec-authoring.md&version=GBolivert/arm_spec_docs&_a=preview)__ diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/common.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/common.tsp new file mode 100644 index 000000000000..91c2a7e29234 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/common.tsp @@ -0,0 +1,68 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Http; +using TypeSpec.OpenAPI; +using TypeSpec.Rest; +using Azure.Core; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.DocumentDB; + +interface Operations extends Azure.ResourceManager.Operations { + /** + * A long-running resource CreateOrUpdate (PUT) + * @template Resource the resource being patched + * @template BaseParameters Optional. Allows overriding the operation parameters + * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create + * @template Parameters Optional. Additional parameters after the path parameters + * @template Response Optional. The success response for the createOrUpdate operation + * @template Error Optional. The error response, if non-standard. + */ + @autoRoute + @doc("Create a {name}", Resource) + @extension("x-ms-long-running-operation", true) + @extension( + "x-ms-long-running-operation-options", + { + `final-state-via`: "azure-async-operation", + } + ) + @armResourceCreateOrUpdate(Resource) + @put + ArmResourceCreateOrUpdateWithAcceptedAsync< + Resource extends ArmResource, + BaseParameters = DefaultBaseParameters, + LroHeaders extends TypeSpec.Reflection.Model = {}, + Parameters extends {} = {}, + Response extends {} = ArmAcceptedLroResponse<"Resource operation accepted."> | ArmResourceUpdatedResponse | ArmResourceCreatedResponse< + Resource, + LroHeaders + >, + Error extends {} = ErrorResponse + > is ArmCreateOperation< + ResourceInstanceParameters & Parameters, + Resource, + Response, + Error + >; +} + +@lroStatus +@doc("The provisioning state of the last accepted operation.") +union ProvisioningState { + string, + ResourceProvisioningState, + + @doc("An operation is in-progress on the resource.") + "InProgress", + + @doc("An update operation is in-progress on the resource.") + "Updating", + + @doc("A drop operation is in-progress on the resource.") + "Dropping", +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Create.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Create.json new file mode 100644 index 000000000000..9e4770de5374 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Create.json @@ -0,0 +1,95 @@ +{ + "operationId": "MongoClusters_CreateOrUpdate", + "title": "Creates a new Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "resource": { + "location": "westus2", + "properties": { + "administratorLogin": "mongoAdmin", + "administratorLoginPassword": "password", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 1 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "InProgress", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_CreatePITR.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_CreatePITR.json new file mode 100644 index 000000000000..a81419fccc79 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_CreatePITR.json @@ -0,0 +1,72 @@ +{ + "operationId": "MongoClusters_CreateOrUpdate", + "title": "Creates a Mongo Cluster resource from a point in time restore", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "resource": { + "location": "westus2", + "properties": { + "createMode": "PointInTimeRestore", + "restoreParameters": { + "pointInTimeUTC": "2023-01-13T20:07:35Z", + "sourceResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myOtherMongoCluster" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Delete.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Delete.json new file mode 100644 index 000000000000..95b705a41186 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "MongoClusters_Delete", + "title": "Deletes a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleCreate.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleCreate.json new file mode 100644 index 000000000000..c0216507f619 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleCreate.json @@ -0,0 +1,65 @@ +{ + "operationId": "FirewallRules_CreateOrUpdate", + "title": "Creates a firewall rule on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2024-03-01-preview", + "resource": { + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "InProgress", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleDelete.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleDelete.json new file mode 100644 index 000000000000..297142208b45 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleDelete.json @@ -0,0 +1,20 @@ +{ + "operationId": "FirewallRules_Delete", + "title": "Deletes a firewall rule on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2024-03-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleGet.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleGet.json new file mode 100644 index 000000000000..cc17d2e3634f --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleGet.json @@ -0,0 +1,33 @@ +{ + "operationId": "FirewallRules_Get", + "title": "Gets a firewall rule on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleList.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleList.json new file mode 100644 index 000000000000..9d17d7b3bab2 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_FirewallRuleList.json @@ -0,0 +1,54 @@ +{ + "operationId": "FirewallRules_ListByMongoCluster", + "title": "List the firewall rules on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule2", + "name": "rule2", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "1.0.0.0", + "endIpAddress": "255.0.0.0" + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Get.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Get.json new file mode 100644 index 000000000000..f60f1d0d1109 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Get.json @@ -0,0 +1,50 @@ +{ + "operationId": "MongoClusters_Get", + "title": "Gets a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_List.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_List.json new file mode 100644 index 000000000000..d3d0dd32767f --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_List.json @@ -0,0 +1,86 @@ +{ + "operationId": "MongoClusters_List", + "title": "Lists the Mongo Cluster resources in a subscription.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster2", + "name": "myMongoCluster2", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string" + }, + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M40", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 2 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-10T20:07:35Z" + }, + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListByResourceGroup.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListByResourceGroup.json new file mode 100644 index 000000000000..7c55300bb9d7 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListByResourceGroup.json @@ -0,0 +1,87 @@ +{ + "operationId": "MongoClusters_ListByResourceGroup", + "title": "Lists the Mongo Cluster resources in a resource group.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster2", + "name": "myMongoCluster2", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string" + }, + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M40", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 2 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster2.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-10T20:07:35Z" + }, + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListConnectionStrings.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListConnectionStrings.json new file mode 100644 index 000000000000..4eabca5b7dd8 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_ListConnectionStrings.json @@ -0,0 +1,22 @@ +{ + "operationId": "MongoClusters_ListConnectionStrings", + "title": "List the available connection strings for the Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "description": "default connection string" + } + ] + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability.json new file mode 100644 index 000000000000..dcd2c4a39f75 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability.json @@ -0,0 +1,21 @@ +{ + "operationId": "MongoClusters_CheckNameAvailability", + "title": "Checks and confirms the Mongo Cluster name is availability for use.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "location": "westus2", + "api-version": "2024-03-01-preview", + "body": { + "name": "newmongocluster", + "type": "Microsoft.DocumentDB/mongoClusters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability_AlreadyExists.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..9d583e30cadb --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_NameAvailability_AlreadyExists.json @@ -0,0 +1,23 @@ +{ + "operationId": "MongoClusters_CheckNameAvailability", + "title": "Checks and returns that the Mongo Cluster name is already in-use.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "location": "westus2", + "api-version": "2024-03-01-preview", + "body": { + "name": "existingmongocluster", + "type": "Microsoft.DocumentDB/mongoClusters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Cluster name 'existingmongocluster' is already in use." + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchDiskSize.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchDiskSize.json new file mode 100644 index 000000000000..b1884524d97b --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchDiskSize.json @@ -0,0 +1,60 @@ +{ + "operationId": "MongoClusters_Update", + "title": "Updates the disk size on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "properties": { + "properties": { + "nodeGroupSpecs": [ + { + "kind": "Shard", + "diskSizeGB": 256 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchPrivateNetworkAccess.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchPrivateNetworkAccess.json new file mode 100644 index 000000000000..821e55bbd9b6 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PatchPrivateNetworkAccess.json @@ -0,0 +1,81 @@ +{ + "operationId": "MongoClusters_Update", + "title": "Disables public network access on a Mongo Cluster resource with a private endpoint connection.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "properties": { + "properties": { + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/mymongocluster-pe.ffffffff-ffff-ffff-ffff-ffffffffffff", + "systemData": { + "createdAt": "2024-02-06T04:00:25.0509765Z", + "createdBy": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "createdByType": "Application", + "lastModifiedAt": "2024-02-06T04:00:25.0509765Z", + "lastModifiedBy": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "lastModifiedByType": "Application" + }, + "properties": { + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.Network/privateEndpoints/mymongocluster-pe" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "publicNetworkAccess": "Disabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionDelete.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..923b60bb50e1 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionDelete.json @@ -0,0 +1,19 @@ +{ + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete a private endpoint connection on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "privateEndpointConnectionName": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "api-version": "2024-03-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionGet.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..71c9fc291d48 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionGet.json @@ -0,0 +1,42 @@ +{ + "operationId": "PrivateEndpointConnections_Get", + "title": "Get a private endpoint connection on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "privateEndpointConnectionName": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionList.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..6884b5669714 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionList.json @@ -0,0 +1,45 @@ +{ + "operationId": "PrivateEndpointConnections_ListByMongoCluster", + "title": "Lists the private endpoint connection resources on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionPut.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionPut.json new file mode 100644 index 000000000000..c4d93a82347a --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateEndpointConnectionPut.json @@ -0,0 +1,85 @@ +{ + "operationId": "PrivateEndpointConnections_Create", + "title": "Approves a private endpoint connection on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "privateEndpointConnectionName": "pecTest", + "resource": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin", + "actionsRequired": "None" + } + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateLinkResourceList.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateLinkResourceList.json new file mode 100644 index 000000000000..4a7aa0e46db2 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_PrivateLinkResourceList.json @@ -0,0 +1,32 @@ +{ + "operationId": "PrivateLinks_ListByMongoCluster", + "title": "Lists the private link resources available on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateLinkResources/MongoCluster", + "name": "MongoCluster", + "type": "Microsoft.DocumentDB/mongoClusters/privateLinkResources", + "properties": { + "groupId": "MongoCluster", + "requiredMembers": [ + "c.p7ex3v2euquypn" + ], + "requiredZoneNames": [ + "privatelink.mongocluster.cosmos.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Update.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Update.json new file mode 100644 index 000000000000..f0e6865904d3 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/MongoClusters_Update.json @@ -0,0 +1,68 @@ +{ + "operationId": "MongoClusters_Update", + "title": "Updates a Mongo Cluster resource", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "properties": { + "properties": { + "administratorLogin": "mongoAdmin", + "administratorLoginPassword": "password", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M50", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 1 + } + ], + "publicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M50", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/Operations_List.json b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/Operations_List.json new file mode 100644 index 000000000000..d14c4f90ed14 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/examples/2024-03-01-preview/Operations_List.json @@ -0,0 +1,35 @@ +{ + "operationId": "Operations_List", + "title": "Operations_List", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "Microsoft.DocumentDB/mongoClusters/read", + "display": { + "provider": "Microsoft.DocumentDB", + "resource": "Mongo Cluster", + "operation": "Read Mongo Clusters", + "description": "Reads a Mongo Cluster or list all Mongo Clusters." + } + }, + { + "name": "Microsoft.DocumentDB/mongoClusters/write", + "display": { + "provider": "Microsoft.DocumentDB", + "resource": "Mongo Cluster", + "operation": "Create or Update Mongo Cluster", + "description": "Create or Update the properties or tags of the specified Mongo Cluster." + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp new file mode 100644 index 000000000000..b93ea44541a8 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp @@ -0,0 +1,34 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./common.tsp"; +import "./MongoCluster.tsp"; +import "./FirewallRule.tsp"; +import "./PrivateEndpointConnection.tsp"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using TypeSpec.Versioning; +using Azure.Core; +using Azure.ResourceManager; + +#suppress "@azure-tools/typespec-azure-core/casing-style" "Existing resource provider namespace." +#suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Existing resource provider namespace." +@armProviderNamespace +@service({ + title: "MongoClusterManagementClient", +}) +@versioned(Versions) +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) +@doc("The Microsoft Azure management API provides create, read, update, and delete functionality for Azure Cosmos DB for MongoDB vCore resources including clusters and firewall rules.") +namespace Microsoft.DocumentDB; + +@doc("The available API versions.") +enum Versions { + @doc("Azure Cosmos DB for Mongo vCore clusters api version 2024-03-01-preview.") + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + v2024_03_01_preview: "2024-03-01-preview", +} diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml b/specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml new file mode 100644 index 000000000000..7665a701d162 --- /dev/null +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml @@ -0,0 +1,12 @@ +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + use-read-only-status-schema: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/mongoCluster.json" + examples-directory: "{project-root}/examples" +linter: + extends: + - "@azure-tools/typespec-azure-resource-manager/all" diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Create.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Create.json new file mode 100644 index 000000000000..9e4770de5374 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Create.json @@ -0,0 +1,95 @@ +{ + "operationId": "MongoClusters_CreateOrUpdate", + "title": "Creates a new Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "resource": { + "location": "westus2", + "properties": { + "administratorLogin": "mongoAdmin", + "administratorLoginPassword": "password", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 1 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "InProgress", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_CreatePITR.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_CreatePITR.json new file mode 100644 index 000000000000..a81419fccc79 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_CreatePITR.json @@ -0,0 +1,72 @@ +{ + "operationId": "MongoClusters_CreateOrUpdate", + "title": "Creates a Mongo Cluster resource from a point in time restore", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "resource": { + "location": "westus2", + "properties": { + "createMode": "PointInTimeRestore", + "restoreParameters": { + "pointInTimeUTC": "2023-01-13T20:07:35Z", + "sourceResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myOtherMongoCluster" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Delete.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Delete.json new file mode 100644 index 000000000000..95b705a41186 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "MongoClusters_Delete", + "title": "Deletes a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleCreate.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleCreate.json new file mode 100644 index 000000000000..c0216507f619 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleCreate.json @@ -0,0 +1,65 @@ +{ + "operationId": "FirewallRules_CreateOrUpdate", + "title": "Creates a firewall rule on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2024-03-01-preview", + "resource": { + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "InProgress", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleDelete.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleDelete.json new file mode 100644 index 000000000000..297142208b45 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleDelete.json @@ -0,0 +1,20 @@ +{ + "operationId": "FirewallRules_Delete", + "title": "Deletes a firewall rule on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2024-03-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleGet.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleGet.json new file mode 100644 index 000000000000..cc17d2e3634f --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleGet.json @@ -0,0 +1,33 @@ +{ + "operationId": "FirewallRules_Get", + "title": "Gets a firewall rule on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleList.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleList.json new file mode 100644 index 000000000000..9d17d7b3bab2 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_FirewallRuleList.json @@ -0,0 +1,54 @@ +{ + "operationId": "FirewallRules_ListByMongoCluster", + "title": "List the firewall rules on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule2", + "name": "rule2", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "1.0.0.0", + "endIpAddress": "255.0.0.0" + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Get.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Get.json new file mode 100644 index 000000000000..f60f1d0d1109 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Get.json @@ -0,0 +1,50 @@ +{ + "operationId": "MongoClusters_Get", + "title": "Gets a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_List.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_List.json new file mode 100644 index 000000000000..d3d0dd32767f --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_List.json @@ -0,0 +1,86 @@ +{ + "operationId": "MongoClusters_List", + "title": "Lists the Mongo Cluster resources in a subscription.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster2", + "name": "myMongoCluster2", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string" + }, + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M40", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 2 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-10T20:07:35Z" + }, + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListByResourceGroup.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListByResourceGroup.json new file mode 100644 index 000000000000..7c55300bb9d7 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListByResourceGroup.json @@ -0,0 +1,87 @@ +{ + "operationId": "MongoClusters_ListByResourceGroup", + "title": "Lists the Mongo Cluster resources in a resource group.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster2", + "name": "myMongoCluster2", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string" + }, + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M40", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 2 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster2.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-10T20:07:35Z" + }, + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListConnectionStrings.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListConnectionStrings.json new file mode 100644 index 000000000000..4eabca5b7dd8 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_ListConnectionStrings.json @@ -0,0 +1,22 @@ +{ + "operationId": "MongoClusters_ListConnectionStrings", + "title": "List the available connection strings for the Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "description": "default connection string" + } + ] + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability.json new file mode 100644 index 000000000000..dcd2c4a39f75 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability.json @@ -0,0 +1,21 @@ +{ + "operationId": "MongoClusters_CheckNameAvailability", + "title": "Checks and confirms the Mongo Cluster name is availability for use.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "location": "westus2", + "api-version": "2024-03-01-preview", + "body": { + "name": "newmongocluster", + "type": "Microsoft.DocumentDB/mongoClusters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability_AlreadyExists.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..9d583e30cadb --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_NameAvailability_AlreadyExists.json @@ -0,0 +1,23 @@ +{ + "operationId": "MongoClusters_CheckNameAvailability", + "title": "Checks and returns that the Mongo Cluster name is already in-use.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "location": "westus2", + "api-version": "2024-03-01-preview", + "body": { + "name": "existingmongocluster", + "type": "Microsoft.DocumentDB/mongoClusters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Cluster name 'existingmongocluster' is already in use." + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchDiskSize.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchDiskSize.json new file mode 100644 index 000000000000..b1884524d97b --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchDiskSize.json @@ -0,0 +1,60 @@ +{ + "operationId": "MongoClusters_Update", + "title": "Updates the disk size on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "properties": { + "properties": { + "nodeGroupSpecs": [ + { + "kind": "Shard", + "diskSizeGB": 256 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchPrivateNetworkAccess.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchPrivateNetworkAccess.json new file mode 100644 index 000000000000..821e55bbd9b6 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PatchPrivateNetworkAccess.json @@ -0,0 +1,81 @@ +{ + "operationId": "MongoClusters_Update", + "title": "Disables public network access on a Mongo Cluster resource with a private endpoint connection.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "properties": { + "properties": { + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/mymongocluster-pe.ffffffff-ffff-ffff-ffff-ffffffffffff", + "systemData": { + "createdAt": "2024-02-06T04:00:25.0509765Z", + "createdBy": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "createdByType": "Application", + "lastModifiedAt": "2024-02-06T04:00:25.0509765Z", + "lastModifiedBy": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "lastModifiedByType": "Application" + }, + "properties": { + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.Network/privateEndpoints/mymongocluster-pe" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "publicNetworkAccess": "Disabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionDelete.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..923b60bb50e1 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionDelete.json @@ -0,0 +1,19 @@ +{ + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete a private endpoint connection on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "privateEndpointConnectionName": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "api-version": "2024-03-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionGet.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..71c9fc291d48 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionGet.json @@ -0,0 +1,42 @@ +{ + "operationId": "PrivateEndpointConnections_Get", + "title": "Get a private endpoint connection on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "privateEndpointConnectionName": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionList.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..6884b5669714 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionList.json @@ -0,0 +1,45 @@ +{ + "operationId": "PrivateEndpointConnections_ListByMongoCluster", + "title": "Lists the private endpoint connection resources on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionPut.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionPut.json new file mode 100644 index 000000000000..c4d93a82347a --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateEndpointConnectionPut.json @@ -0,0 +1,85 @@ +{ + "operationId": "PrivateEndpointConnections_Create", + "title": "Approves a private endpoint connection on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "privateEndpointConnectionName": "pecTest", + "resource": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "name": "pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateEndpointConnections/pecTest.5d393f64-ef64-46d0-9959-308321c44ac0", + "type": "Microsoft.DocumentDB/mongoClusters/privateEndpointConnections", + "systemData": { + "createdAt": "2024-02-09T05:51:31.1386869Z", + "createdBy": "2df9eb86-36b5-49dc-86ae-9a63135bfa8c", + "createdByType": "Application", + "lastModifiedAt": "2024-02-09T05:51:31.1386869Z", + "lastModifiedBy": "2ff9eb86-36b5-49dc-86ae-9a63135bfa8c", + "lastModifiedByType": "Application" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/privateEndpoints/pecTest" + }, + "groupIds": [ + "MongoCluster" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin", + "actionsRequired": "None" + } + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateLinkResourceList.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateLinkResourceList.json new file mode 100644 index 000000000000..4a7aa0e46db2 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_PrivateLinkResourceList.json @@ -0,0 +1,32 @@ +{ + "operationId": "PrivateLinks_ListByMongoCluster", + "title": "Lists the private link resources available on a Mongo Cluster resource.", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/privateLinkResources/MongoCluster", + "name": "MongoCluster", + "type": "Microsoft.DocumentDB/mongoClusters/privateLinkResources", + "properties": { + "groupId": "MongoCluster", + "requiredMembers": [ + "c.p7ex3v2euquypn" + ], + "requiredZoneNames": [ + "privatelink.mongocluster.cosmos.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Update.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Update.json new file mode 100644 index 000000000000..f0e6865904d3 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/MongoClusters_Update.json @@ -0,0 +1,68 @@ +{ + "operationId": "MongoClusters_Update", + "title": "Updates a Mongo Cluster resource", + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2024-03-01-preview", + "properties": { + "properties": { + "administratorLogin": "mongoAdmin", + "administratorLoginPassword": "password", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M50", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 1 + } + ], + "publicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M50", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ], + "publicNetworkAccess": "Enabled", + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterOperationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/mongoClusterAzureAsyncOperation/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2024-03-01-preview" + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/Operations_List.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..d14c4f90ed14 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/examples/Operations_List.json @@ -0,0 +1,35 @@ +{ + "operationId": "Operations_List", + "title": "Operations_List", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-03-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "Microsoft.DocumentDB/mongoClusters/read", + "display": { + "provider": "Microsoft.DocumentDB", + "resource": "Mongo Cluster", + "operation": "Read Mongo Clusters", + "description": "Reads a Mongo Cluster or list all Mongo Clusters." + } + }, + { + "name": "Microsoft.DocumentDB/mongoClusters/write", + "display": { + "provider": "Microsoft.DocumentDB", + "resource": "Mongo Cluster", + "operation": "Create or Update Mongo Cluster", + "description": "Create or Update the properties or tags of the specified Mongo Cluster." + } + } + ] + } + } + } +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json new file mode 100644 index 000000000000..2d7d828caf76 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json @@ -0,0 +1,1749 @@ +{ + "swagger": "2.0", + "info": { + "title": "MongoClusterManagementClient", + "version": "2024-03-01-preview", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure Cosmos DB for MongoDB vCore resources including clusters and firewall rules.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "MongoClusters" + }, + { + "name": "FirewallRules" + }, + { + "name": "PrivateEndpointConnections" + }, + { + "name": "PrivateLinks" + } + ], + "paths": { + "/providers/Microsoft.DocumentDB/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/checkMongoClusterNameAvailability": { + "post": { + "operationId": "MongoClusters_CheckNameAvailability", + "tags": [ + "MongoClusters" + ], + "description": "Check if mongo cluster name is available for use.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "body", + "in": "body", + "description": "The CheckAvailability request", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Checks and confirms the Mongo Cluster name is availability for use.": { + "$ref": "./examples/MongoClusters_NameAvailability.json" + }, + "Checks and returns that the Mongo Cluster name is already in-use.": { + "$ref": "./examples/MongoClusters_NameAvailability_AlreadyExists.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/mongoClusters": { + "get": { + "operationId": "MongoClusters_List", + "tags": [ + "MongoClusters" + ], + "description": "List all the mongo clusters in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoClusterListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Lists the Mongo Cluster resources in a subscription.": { + "$ref": "./examples/MongoClusters_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters": { + "get": { + "operationId": "MongoClusters_ListByResourceGroup", + "tags": [ + "MongoClusters" + ], + "description": "List all the mongo clusters in a given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoClusterListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Lists the Mongo Cluster resources in a resource group.": { + "$ref": "./examples/MongoClusters_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}": { + "get": { + "operationId": "MongoClusters_Get", + "tags": [ + "MongoClusters" + ], + "description": "Gets information about a mongo cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoCluster" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_Get.json" + } + } + }, + "put": { + "operationId": "MongoClusters_CreateOrUpdate", + "tags": [ + "MongoClusters" + ], + "description": "Create or update a mongo cluster. Update overwrites all properties for the resource. To only modify some of the properties, use PATCH.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/MongoCluster" + } + } + ], + "responses": { + "200": { + "description": "Resource 'MongoCluster' update operation succeeded", + "schema": { + "$ref": "#/definitions/MongoCluster" + } + }, + "201": { + "description": "Resource 'MongoCluster' create operation succeeded", + "schema": { + "$ref": "#/definitions/MongoCluster" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates a Mongo Cluster resource from a point in time restore": { + "$ref": "./examples/MongoClusters_CreatePITR.json" + }, + "Creates a new Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_Create.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "MongoClusters_Update", + "tags": [ + "MongoClusters" + ], + "description": "Updates an existing mongo cluster. The request body can contain one to many of the properties present in the normal mongo cluster definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/MongoClusterUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoCluster" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Disables public network access on a Mongo Cluster resource with a private endpoint connection.": { + "$ref": "./examples/MongoClusters_PatchPrivateNetworkAccess.json" + }, + "Updates a Mongo Cluster resource": { + "$ref": "./examples/MongoClusters_Update.json" + }, + "Updates the disk size on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_PatchDiskSize.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "MongoClusters_Delete", + "tags": [ + "MongoClusters" + ], + "description": "Deletes a mongo cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules": { + "get": { + "operationId": "FirewallRules_ListByMongoCluster", + "tags": [ + "FirewallRules" + ], + "description": "List all the firewall rules in a given mongo cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List the firewall rules on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_FirewallRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}": { + "get": { + "operationId": "FirewallRules_Get", + "tags": [ + "FirewallRules" + ], + "description": "Gets information about a mongo cluster firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "name": "firewallRuleName", + "in": "path", + "description": "The name of the mongo cluster firewall rule.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 80, + "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a firewall rule on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_FirewallRuleGet.json" + } + } + }, + "put": { + "operationId": "FirewallRules_CreateOrUpdate", + "tags": [ + "FirewallRules" + ], + "description": "Creates a new firewall rule or updates an existing firewall rule on a mongo cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "name": "firewallRuleName", + "in": "path", + "description": "The name of the mongo cluster firewall rule.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 80, + "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRule" + } + } + ], + "responses": { + "200": { + "description": "Resource 'FirewallRule' update operation succeeded", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "201": { + "description": "Resource 'FirewallRule' create operation succeeded", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates a firewall rule on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_FirewallRuleCreate.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "FirewallRules_Delete", + "tags": [ + "FirewallRules" + ], + "description": "Deletes a mongo cluster firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "name": "firewallRuleName", + "in": "path", + "description": "The name of the mongo cluster firewall rule.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 80, + "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a firewall rule on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_FirewallRuleDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/listConnectionStrings": { + "post": { + "operationId": "MongoClusters_ListConnectionStrings", + "tags": [ + "MongoClusters" + ], + "description": "List mongo cluster connection strings. This includes the default connection string using SCRAM-SHA-256, as well as other connection strings supported by the cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ListConnectionStringsResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List the available connection strings for the Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_ListConnectionStrings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections": { + "get": { + "operationId": "PrivateEndpointConnections_ListByMongoCluster", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List existing private connections", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Lists the private endpoint connection resources on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_PrivateEndpointConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "operationId": "PrivateEndpointConnections_Get", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Get a specific private connection", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a private endpoint connection on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "operationId": "PrivateEndpointConnections_Create", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Create a Private endpoint connection", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'PrivateEndpointConnectionResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "201": { + "description": "Resource 'PrivateEndpointConnectionResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Approves a private endpoint connection on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_PrivateEndpointConnectionPut.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "PrivateEndpointConnections_Delete", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Delete the private endpoint connection", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a private endpoint connection on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_PrivateEndpointConnectionDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateLinkResources": { + "get": { + "operationId": "PrivateLinks_ListByMongoCluster", + "tags": [ + "PrivateLinks" + ], + "description": "list private links on the given resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "mongoClusterName", + "in": "path", + "description": "The name of the mongo cluster.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 40, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Lists the private link resources available on a Mongo Cluster resource.": { + "$ref": "./examples/MongoClusters_PrivateLinkResourceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Azure.ResourceManager.PrivateEndpointConnection": { + "type": "object", + "description": "The private endpoint connection resource", + "properties": { + "properties": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", + "description": "The private endpoint connection properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "ConnectionString": { + "type": "object", + "description": "Connection string for the mongo cluster", + "properties": { + "connectionString": { + "type": "string", + "description": "Value of the connection string", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the connection string", + "readOnly": true + } + } + }, + "CreateMode": { + "type": "string", + "description": "The mode that the Mongo Cluster is created with.", + "enum": [ + "Default", + "PointInTimeRestore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true, + "values": [ + { + "name": "Default", + "value": "Default", + "description": "Create a new mongo cluster." + }, + { + "name": "PointInTimeRestore", + "value": "PointInTimeRestore", + "description": "Create a mongo cluster from a restore point-in-time." + } + ] + } + }, + "FirewallRule": { + "type": "object", + "description": "Represents a mongo cluster firewall rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "FirewallRuleListResult": { + "type": "object", + "description": "The response of a FirewallRule list operation.", + "properties": { + "value": { + "type": "array", + "description": "The FirewallRule items on this page", + "items": { + "$ref": "#/definitions/FirewallRule" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "FirewallRuleProperties": { + "type": "object", + "description": "The properties of a mongo cluster firewall rule.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall rule.", + "readOnly": true + }, + "startIpAddress": { + "type": "string", + "description": "The start IP address of the mongo cluster firewall rule. Must be IPv4 format.", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + }, + "endIpAddress": { + "type": "string", + "description": "The end IP address of the mongo cluster firewall rule. Must be IPv4 format.", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + } + }, + "required": [ + "startIpAddress", + "endIpAddress" + ] + }, + "ListConnectionStringsResult": { + "type": "object", + "description": "The connection strings for the given mongo cluster.", + "properties": { + "connectionStrings": { + "type": "array", + "description": "An array that contains the connection strings for a mongo cluster.", + "items": { + "$ref": "#/definitions/ConnectionString" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "MongoCluster": { + "type": "object", + "description": "Represents a mongo cluster resource.", + "properties": { + "properties": { + "$ref": "#/definitions/MongoClusterProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "MongoClusterListResult": { + "type": "object", + "description": "The response of a MongoCluster list operation.", + "properties": { + "value": { + "type": "array", + "description": "The MongoCluster items on this page", + "items": { + "$ref": "#/definitions/MongoCluster" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "MongoClusterProperties": { + "type": "object", + "description": "The properties of a mongo cluster.", + "properties": { + "createMode": { + "$ref": "#/definitions/CreateMode", + "description": "The mode to create a mongo cluster.", + "x-ms-mutability": [ + "create" + ] + }, + "restoreParameters": { + "$ref": "#/definitions/MongoClusterRestoreParameters", + "description": "The parameters to create a point-in-time restore mongo cluster.", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "type": "string", + "description": "The administrator's login for the mongo cluster.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login.", + "x-ms-mutability": [ + "update", + "create" + ], + "x-ms-secret": true + }, + "serverVersion": { + "type": "string", + "description": "The Mongo DB server version. Defaults to the latest available version if not specified." + }, + "connectionString": { + "type": "string", + "description": "The default mongo connection string for the cluster.", + "readOnly": true + }, + "earliestRestoreTime": { + "type": "string", + "description": "Earliest restore timestamp in UTC ISO8601 format.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of the mongo cluster.", + "readOnly": true + }, + "clusterStatus": { + "$ref": "#/definitions/MongoClusterStatus", + "description": "The status of the mongo cluster.", + "readOnly": true + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "description": "Whether or not public endpoint access is allowed for this mongo cluster." + }, + "nodeGroupSpecs": { + "type": "array", + "description": "The list of node group specs in the cluster.", + "items": { + "$ref": "#/definitions/NodeGroupSpec" + }, + "x-ms-identifiers": [] + }, + "privateEndpointConnections": { + "type": "array", + "description": "List of private endpoint connections.", + "items": { + "$ref": "#/definitions/Azure.ResourceManager.PrivateEndpointConnection" + }, + "readOnly": true + } + } + }, + "MongoClusterRestoreParameters": { + "type": "object", + "description": "Parameters used for restore operations", + "properties": { + "pointInTimeUTC": { + "type": "string", + "format": "date-time", + "description": "UTC point in time to restore a mongo cluster" + }, + "sourceResourceId": { + "type": "string", + "description": "Resource ID to locate the source cluster to restore" + } + } + }, + "MongoClusterStatus": { + "type": "string", + "description": "The status of the Mongo cluster resource.", + "enum": [ + "Ready", + "Provisioning", + "Updating", + "Starting", + "Stopping", + "Stopped", + "Dropping" + ], + "x-ms-enum": { + "name": "MongoClusterStatus", + "modelAsString": true, + "values": [ + { + "name": "Ready", + "value": "Ready", + "description": "The mongo cluster resource is ready for use." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "The mongo cluster resource is being provisioned." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The mongo cluster resource is being updated." + }, + { + "name": "Starting", + "value": "Starting", + "description": "The mongo cluster resource is being started." + }, + { + "name": "Stopping", + "value": "Stopping", + "description": "The mongo cluster resource is being stopped." + }, + { + "name": "Stopped", + "value": "Stopped", + "description": "The mongo cluster resource is stopped." + }, + { + "name": "Dropping", + "value": "Dropping", + "description": "The mongo cluster resource is being dropped." + } + ] + } + }, + "MongoClusterUpdate": { + "type": "object", + "description": "The type used for update operations of the MongoCluster.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/MongoClusterUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "MongoClusterUpdateProperties": { + "type": "object", + "description": "The updatable properties of the MongoCluster.", + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login for the mongo cluster.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login.", + "x-ms-mutability": [ + "update", + "create" + ], + "x-ms-secret": true + }, + "serverVersion": { + "type": "string", + "description": "The Mongo DB server version. Defaults to the latest available version if not specified." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "description": "Whether or not public endpoint access is allowed for this mongo cluster." + }, + "nodeGroupSpecs": { + "type": "array", + "description": "The list of node group specs in the cluster.", + "items": { + "$ref": "#/definitions/NodeGroupSpec" + }, + "x-ms-identifiers": [] + } + } + }, + "NodeGroupProperties": { + "type": "object", + "description": "The properties of the node group on a cluster.", + "properties": { + "sku": { + "type": "string", + "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." + }, + "diskSizeGB": { + "type": "integer", + "format": "int64", + "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." + }, + "enableHa": { + "type": "boolean", + "description": "Whether high availability is enabled on the node group." + } + } + }, + "NodeGroupSpec": { + "type": "object", + "description": "Specification for a node group.", + "properties": { + "sku": { + "type": "string", + "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." + }, + "diskSizeGB": { + "type": "integer", + "format": "int64", + "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." + }, + "enableHa": { + "type": "boolean", + "description": "Whether high availability is enabled on the node group." + }, + "kind": { + "$ref": "#/definitions/NodeKind", + "description": "The node type deployed in the node group." + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node group." + } + } + }, + "NodeKind": { + "type": "string", + "description": "The kind of the node on the cluster.", + "enum": [ + "Shard" + ], + "x-ms-enum": { + "name": "NodeKind", + "modelAsString": true, + "values": [ + { + "name": "Shard", + "value": "Shard", + "description": "The node is a shard kind." + } + ] + } + }, + "PrivateEndpointConnectionResource": { + "type": "object", + "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", + "properties": { + "properties": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionResourceListResult": { + "type": "object", + "description": "The response of a PrivateEndpointConnectionResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The PrivateEndpointConnectionResource items on this page", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PrivateLinkResource": { + "type": "object", + "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", + "properties": { + "properties": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResourceProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateLinkResourceListResult": { + "type": "object", + "description": "The response of a PrivateLinkResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The PrivateLinkResource items on this page", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ProvisioningState": { + "type": "string", + "description": "The provisioning state of the last accepted operation.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Updating", + "Dropping" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "An operation is in-progress on the resource." + }, + { + "name": "Updating", + "value": "Updating", + "description": "An update operation is in-progress on the resource." + }, + { + "name": "Dropping", + "value": "Dropping", + "description": "A drop operation is in-progress on the resource." + } + ] + }, + "readOnly": true + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this Mongo cluster. Value is optional and default value is 'Enabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "If set, mongo cluster can be accessed through private and public methods." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "If set, the private endpoints are the exclusive access method." + } + ] + } + }, + "Versions": { + "type": "string", + "description": "The available API versions.", + "enum": [ + "2024-03-01-preview" + ], + "x-ms-enum": { + "name": "Versions", + "modelAsString": true, + "values": [ + { + "name": "v2024_03_01_preview", + "value": "2024-03-01-preview", + "description": "Azure Cosmos DB for Mongo vCore clusters api version 2024-03-01-preview." + } + ] + } + } + }, + "parameters": {} +} diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/scenarios/basic.yaml b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/scenarios/basic.yaml new file mode 100644 index 000000000000..29faed305588 --- /dev/null +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/scenarios/basic.yaml @@ -0,0 +1,40 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/documentation/api-scenario/references/v1.2/schema.json +scope: ResourceGroup +variables: + mongoClusterName: + type: string + prefix: mongoclu + administratorLoginPassword: + type: secureString + firewallRuleName: + type: string + prefix: firewall +scenarios: + - scenario: basic + description: Basic scenario for creating, reading and deleting a Mongo Cluster. + steps: + - step: MongoClusters_NameAvailability + exampleFile: ../examples/MongoClusters_NameAvailability.json + - step: MongoClusters_CreateOrUpdate + exampleFile: ../examples/MongoClusters_Create.json + requestUpdate: + - replace: /resource/properties/administratorLoginPassword + value: $(administratorLoginPassword) + - step: MongoClusters_ListByResourceGroup + exampleFile: ../examples/MongoClusters_ListByResourceGroup.json + - step: MongoClusters_Get + exampleFile: ../examples/MongoClusters_Get.json + - step: FirewallRules_CreateOrUpdate + exampleFile: ../examples/MongoClusters_FirewallRuleCreate.json + - step: FirewallRules_ListByMongoCluster + exampleFile: ../examples/MongoClusters_FirewallRuleList.json + - step: FirewallRules_Get + exampleFile: ../examples/MongoClusters_FirewallRuleGet.json + - step: MongoClusters_ListConnectionStrings + exampleFile: ../examples/MongoClusters_ListConnectionStrings.json + - step: MongoClusters_Update + exampleFile: ../examples/MongoClusters_PatchDiskSize.json + - step: FirewallRules_Delete + exampleFile: ../examples/MongoClusters_FirewallRuleDelete.json + - step: MongoClusters_Delete + exampleFile: ../examples/MongoClusters_Delete.json \ No newline at end of file diff --git a/specification/mongocluster/resource-manager/readme.az.md b/specification/mongocluster/resource-manager/readme.az.md new file mode 100644 index 000000000000..bc29af155623 --- /dev/null +++ b/specification/mongocluster/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: mongocluster + namespace: azure.mgmt.mongocluster + package-name: azure-mgmt-mongocluster +az-output-folder: $(azure-cli-extension-folder)/src/mongocluster +python-sdk-output-folder: "$(az-output-folder)/azext_mongocluster/vendored_sdks/mongocluster" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: mongocluster + namespace: azure.mgmt.mongocluster + package-name: azure-mgmt-mongocluster +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/mongocluster +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/mongocluster" +``` \ No newline at end of file diff --git a/specification/mongocluster/resource-manager/readme.cli.md b/specification/mongocluster/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/mongocluster/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/mongocluster/resource-manager/readme.csharp.md b/specification/mongocluster/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..77704a5c25e8 --- /dev/null +++ b/specification/mongocluster/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: [[ResourceProviderName]] + output-folder: $(csharp-sdks-folder)/mongocluster/management/[[ResourceProviderName]]/GeneratedProtocol +``` diff --git a/specification/mongocluster/resource-manager/readme.go.md b/specification/mongocluster/resource-manager/readme.go.md new file mode 100644 index 000000000000..2fdcd4d22a3f --- /dev/null +++ b/specification/mongocluster/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/mongocluster/armmongocluster +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` diff --git a/specification/mongocluster/resource-manager/readme.md b/specification/mongocluster/resource-manager/readme.md new file mode 100644 index 000000000000..8cd75006ffd3 --- /dev/null +++ b/specification/mongocluster/resource-manager/readme.md @@ -0,0 +1,78 @@ +# mongocluster + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for mongocluster. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the mongocluster. + +```yaml +openapi-type: arm +tag: package-2024-03-01-preview +``` + +### Tag: package-2024-03-01-preview + +These settings apply only when `--tag=package-2024-03-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-03-01-preview' +input-file: + - Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions + - repo: azure-powershell +``` +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/mongocluster/resource-manager/readme.python.md b/specification/mongocluster/resource-manager/readme.python.md new file mode 100644 index 000000000000..405ea2c4017f --- /dev/null +++ b/specification/mongocluster/resource-manager/readme.python.md @@ -0,0 +1,23 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-mongocluster +namespace: azure.mgmt.mongocluster +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/mongocluster/azure-mgmt-mongocluster/azure/mgmt/mongocluster +``` + +``` yaml $(python) +modelerfour: + flatten-models: false +``` diff --git a/specification/mongocluster/resource-manager/readme.typescript.md b/specification/mongocluster/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..cef5b59af00e --- /dev/null +++ b/specification/mongocluster/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-mongocluster" + output-folder: "$(typescript-sdks-folder)/sdk/mongocluster/arm-mongocluster" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` From a59809da62510731d6a4bd45f40d7e059422eab1 Mon Sep 17 00:00:00 2001 From: Sena Gungor Date: Mon, 13 May 2024 19:47:53 +0300 Subject: [PATCH 19/30] Update Cosmos DB for PostgreSQL - 2023-03-02-preview version with missing properties (#28280) * Add CMK related properties * Fix lintdiff errors * Fix lintdiff error * Use common type for user assigned identities * Add description for primary key uri * Update UserAssignedIdentities definition from v3 to v5 * Add & update examples * Fix lintdiff error --------- Co-authored-by: madhura <56606095+madhura-np@users.noreply.github.com> --- .../examples/ClusterAddNode.json | 14 ++ .../examples/ClusterCreateBurstablev1.json | 12 ++ .../examples/ClusterCreateBurstablev2.json | 12 ++ .../ClusterCreateCustomDatabaseName.json | 154 +++++++++++++ .../examples/ClusterCreateMultiNode.json | 12 ++ .../examples/ClusterCreatePITR.json | 12 ++ .../examples/ClusterCreateReadReplica.json | 12 ++ .../examples/ClusterCreateSingleNode.json | 12 ++ .../examples/ClusterCreateWithAAD.json | 200 +++++++++++++++++ .../examples/ClusterCreateWithCMK.json | 204 ++++++++++++++++++ .../examples/ClusterGet.json | 6 + .../examples/ClusterList.json | 12 ++ .../examples/ClusterListByResourceGroup.json | 12 ++ .../examples/ClusterScaleCompute.json | 12 ++ .../examples/ClusterScaleStorage.json | 12 ++ .../examples/ClusterUpdate.json | 12 ++ .../ClusterUpdateMaintenanceWindow.json | 12 ++ .../2023-03-02-preview/postgresqlhsc.json | 94 +++++++- 18 files changed, 815 insertions(+), 1 deletion(-) create mode 100644 specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateCustomDatabaseName.json create mode 100644 specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithAAD.json create mode 100644 specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithCMK.json diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterAddNode.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterAddNode.json index ceb7d5e514c6..3f7e1b3924e0 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterAddNode.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterAddNode.json @@ -27,6 +27,7 @@ "properties": { "provisioningState": "Provisioning", "state": "Provisioning", + "aadAuthEnabled": "disabled", "postgresqlVersion": "15", "citusVersion": "11.1", "maintenanceWindow": { @@ -38,14 +39,20 @@ "preferredPrimaryZone": "1", "nodeCount": 2, "enableShardsOnCoordinator": false, + "enableGeoBackup": false, "coordinatorServerEdition": "GeneralPurpose", "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "dataEncryption": { + "type": "SystemManaged" + }, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, "nodeEnablePublicIpAccess": false, + "passwordEnabled": "enabled", "serverNames": [ { "name": "testcluster-c", @@ -90,6 +97,7 @@ "provisioningState": "Provisioning", "state": "Provisioning", "postgresqlVersion": "15", + "aadAuthEnabled": "disabled", "citusVersion": "11.1", "maintenanceWindow": { "customWindow": "Disabled", @@ -100,14 +108,20 @@ "preferredPrimaryZone": "1", "nodeCount": 2, "enableShardsOnCoordinator": false, + "enableGeoBackup": false, "coordinatorServerEdition": "GeneralPurpose", "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "dataEncryption": { + "type": "SystemManaged" + }, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, "nodeEnablePublicIpAccess": false, + "passwordEnabled": "enabled", "serverNames": [ { "name": "testcluster-c", diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev1.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev1.json index a5c6ba6a2e57..8bb304413199 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev1.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev1.json @@ -53,7 +53,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 0, "enableShardsOnCoordinator": true, @@ -61,6 +66,7 @@ "coordinatorStorageQuotaInMb": 131072, "coordinatorVCores": 1, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeEnablePublicIpAccess": false, "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 131072, @@ -111,7 +117,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 0, "enableShardsOnCoordinator": true, @@ -119,6 +130,7 @@ "coordinatorStorageQuotaInMb": 131072, "coordinatorVCores": 1, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeEnablePublicIpAccess": false, "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 131072, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev2.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev2.json index f6551318aeb9..5cf98175b314 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev2.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateBurstablev2.json @@ -53,7 +53,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 0, "enableShardsOnCoordinator": true, @@ -61,6 +66,7 @@ "coordinatorStorageQuotaInMb": 131072, "coordinatorVCores": 2, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeEnablePublicIpAccess": false, "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 131072, @@ -111,7 +117,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 0, "enableShardsOnCoordinator": true, @@ -119,6 +130,7 @@ "coordinatorStorageQuotaInMb": 131072, "coordinatorVCores": 2, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeEnablePublicIpAccess": false, "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 131072, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateCustomDatabaseName.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateCustomDatabaseName.json new file mode 100644 index 000000000000..ef3d1bb2819f --- /dev/null +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateCustomDatabaseName.json @@ -0,0 +1,154 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "clusterName": "testcluster-custom-db-name", + "api-version": "2023-03-02-preview", + "parameters": { + "location": "westus", + "properties": { + "administratorLoginPassword": "password", + "postgresqlVersion": "15", + "citusVersion": "11.3", + "enableHa": true, + "enableShardsOnCoordinator": true, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 131072, + "coordinatorVCores": 8, + "coordinatorEnablePublicIpAccess": true, + "nodeCount": 0, + "preferredPrimaryZone": "1", + "databaseName": "testdbname" + }, + "tags": { + "owner": "JohnDoe" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/testcluster-custom-db-name", + "name": "testcluster-custom-db-name", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "tags": { + "owner": "JohnDoe" + }, + "location": "westus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2022-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "postgresqlVersion": "15", + "aadAuthEnabled": "disabled", + "citusVersion": "11.3", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", + "preferredPrimaryZone": "1", + "nodeCount": 0, + "enableShardsOnCoordinator": true, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 131072, + "coordinatorVCores": 8, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "testdbname", + "nodeEnablePublicIpAccess": false, + "nodeServerEdition": "MemoryOptimized", + "nodeStorageQuotaInMb": 131072, + "nodeVCores": 8, + "serverNames": [ + { + "name": "testcluster-singlenode-c", + "fullyQualifiedDomainName": "c.testcluster-singlenode.postgres.database.azure.com" + } + ], + "sourceResourceId": null, + "enableHa": true, + "readReplicas": [], + "earliestRestoreTime": null, + "privateEndpointConnections": [] + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-03-02-preview", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/locations/westus/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-03-02-preview" + }, + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/testcluster-singlenode", + "name": "testcluster-singlenode", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "tags": { + "owner": "JohnDoe" + }, + "location": "westus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2022-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "postgresqlVersion": "15", + "aadAuthEnabled": "disabled", + "citusVersion": "11.3", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "preferredPrimaryZone": "1", + "nodeCount": 0, + "enableShardsOnCoordinator": true, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 131072, + "coordinatorVCores": 8, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "testdbname", + "nodeEnablePublicIpAccess": false, + "nodeServerEdition": "MemoryOptimized", + "nodeStorageQuotaInMb": 131072, + "nodeVCores": 8, + "passwordEnabled": "enabled", + "serverNames": [ + { + "name": "testcluster-singlenode-c", + "fullyQualifiedDomainName": "c.testcluster-singlenode.postgres.database.azure.com" + } + ], + "sourceResourceId": null, + "enableHa": true, + "readReplicas": [], + "earliestRestoreTime": null, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateMultiNode.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateMultiNode.json index 1484fbbc9107..c0685db8f0b3 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateMultiNode.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateMultiNode.json @@ -53,7 +53,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 3, "enableShardsOnCoordinator": false, @@ -61,6 +66,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, @@ -121,7 +127,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 3, "enableShardsOnCoordinator": false, @@ -129,6 +140,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreatePITR.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreatePITR.json index 66d4bc5e31d2..637e68964531 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreatePITR.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreatePITR.json @@ -38,7 +38,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 1, "enableShardsOnCoordinator": false, @@ -46,6 +51,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, @@ -97,7 +103,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 1, "enableShardsOnCoordinator": false, @@ -105,6 +116,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateReadReplica.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateReadReplica.json index ceb1cc986ea4..0148be4e066e 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateReadReplica.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateReadReplica.json @@ -37,7 +37,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 1, "enableShardsOnCoordinator": false, @@ -45,6 +50,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, @@ -96,7 +102,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 1, "enableShardsOnCoordinator": false, @@ -104,6 +115,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 524288, "nodeVCores": 8, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateSingleNode.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateSingleNode.json index 2d70a5993682..dfabef6528a8 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateSingleNode.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateSingleNode.json @@ -53,7 +53,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 0, "enableShardsOnCoordinator": true, @@ -61,6 +66,7 @@ "coordinatorStorageQuotaInMb": 131072, "coordinatorVCores": 8, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeEnablePublicIpAccess": false, "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 131072, @@ -111,7 +117,12 @@ "startHour": 0, "startMinute": 0 }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "nodeCount": 0, "enableShardsOnCoordinator": true, @@ -119,6 +130,7 @@ "coordinatorStorageQuotaInMb": 131072, "coordinatorVCores": 8, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeEnablePublicIpAccess": false, "nodeServerEdition": "MemoryOptimized", "nodeStorageQuotaInMb": 131072, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithAAD.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithAAD.json new file mode 100644 index 000000000000..1d4e20128663 --- /dev/null +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithAAD.json @@ -0,0 +1,200 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "clusterName": "testcluster-cmk", + "api-version": "2023-03-02-preview", + "parameters": { + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity": {} + } + }, + "properties": { + "administratorLoginPassword": "password", + "dataEncryption": { + "primaryKeyUri": "https://test-kv.vault.azure.net/keys/test-key1/fffffffffffffffffffffffffffffff", + "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity", + "type": "AzureKeyVault" + }, + "postgresqlVersion": "15", + "citusVersion": "12.1", + "enableHa": false, + "enableShardsOnCoordinator": false, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 524288, + "coordinatorVCores": 4, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", + "nodeServerEdition": "MemoryOptimized", + "nodeCount": 3, + "nodeStorageQuotaInMb": 524288, + "nodeVCores": 8, + "nodeEnablePublicIpAccess": false, + "preferredPrimaryZone": "1" + }, + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/testcluster-multinode", + "name": "testcluster-multinode", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "tags": {}, + "location": "westus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2022-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-01-02T17:18:19.1234567Z" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity": { + "principalId": "0a4e0c6e-7751-4078-ae1f-a477306c11e9", + "clientId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + }, + "type": "UserAssigned" + }, + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "postgresqlVersion": "15", + "aadAuthEnabled": "enabled", + "citusVersion": "12.1", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "administratorLogin": "citus", + "passwordEnabled": "disabled", + "preferredPrimaryZone": "1", + "nodeCount": 3, + "enableShardsOnCoordinator": false, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 524288, + "coordinatorVCores": 4, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "nodeServerEdition": "MemoryOptimized", + "nodeStorageQuotaInMb": 524288, + "nodeVCores": 8, + "nodeEnablePublicIpAccess": false, + "serverNames": [ + { + "name": "testcluster-multinode-c", + "fullyQualifiedDomainName": "c.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w0", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w2", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w3", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + } + ], + "authConfig": { + "activeDirectoryAuth": "{serverGroupProperties.ActiveDirectoryAuth}", + "passwordAuth": "{serverGroupProperties.PasswordAuth}" + }, + "sourceResourceId": null, + "enableHa": true, + "readReplicas": [], + "earliestRestoreTime": null, + "privateEndpointConnections": [] + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-03-02-preview", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/locations/westus/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-03-02-preview" + }, + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/testcluster-multinode", + "name": "testcluster-multinode", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "tags": {}, + "location": "westus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2022-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "postgresqlVersion": "15", + "aadAuthEnabled": "disabled", + "citusVersion": "11.1", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "disabled", + "preferredPrimaryZone": "1", + "nodeCount": 3, + "enableShardsOnCoordinator": false, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 524288, + "coordinatorVCores": 4, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", + "nodeServerEdition": "MemoryOptimized", + "nodeStorageQuotaInMb": 524288, + "nodeVCores": 8, + "nodeEnablePublicIpAccess": false, + "serverNames": [ + { + "name": "testcluster-multinode-c", + "fullyQualifiedDomainName": "c.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w0", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w2", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w3", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + } + ], + "sourceResourceId": null, + "enableHa": true, + "readReplicas": [], + "earliestRestoreTime": null, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithCMK.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithCMK.json new file mode 100644 index 000000000000..7c2a28336756 --- /dev/null +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterCreateWithCMK.json @@ -0,0 +1,204 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "clusterName": "testcluster-cmk", + "api-version": "2023-03-02-preview", + "parameters": { + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity": {} + } + }, + "properties": { + "administratorLoginPassword": "password", + "dataEncryption": { + "primaryKeyUri": "https://test-kv.vault.azure.net/keys/test-key1/fffffffffffffffffffffffffffffff", + "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity", + "type": "AzureKeyVault" + }, + "postgresqlVersion": "15", + "citusVersion": "12.1", + "enableHa": false, + "enableShardsOnCoordinator": false, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 524288, + "coordinatorVCores": 4, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", + "nodeServerEdition": "MemoryOptimized", + "nodeCount": 3, + "nodeStorageQuotaInMb": 524288, + "nodeVCores": 8, + "nodeEnablePublicIpAccess": false, + "preferredPrimaryZone": "1" + }, + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/testcluster-multinode", + "name": "testcluster-multinode", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "tags": {}, + "location": "westus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2022-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-01-02T17:18:19.1234567Z" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity": { + "principalId": "0a4e0c6e-7751-4078-ae1f-a477306c11e9", + "clientId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + }, + "type": "UserAssigned" + }, + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "postgresqlVersion": "15", + "aadAuthEnabled": "disabled", + "citusVersion": "12.1", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "administratorLogin": "citus", + "preferredPrimaryZone": "1", + "nodeCount": 3, + "enableShardsOnCoordinator": false, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 524288, + "coordinatorVCores": 4, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", + "dataEncryption": { + "type": "AzureKeyVault", + "primaryKeyUri": "https://test-kv.vault.azure.net/keys/test-key1/fffffffffffffffffffffffffffffff", + "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity" + }, + "nodeServerEdition": "MemoryOptimized", + "nodeStorageQuotaInMb": 524288, + "nodeVCores": 8, + "nodeEnablePublicIpAccess": false, + "passwordEnabled": "enabled", + "serverNames": [ + { + "name": "testcluster-multinode-c", + "fullyQualifiedDomainName": "c.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w0", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w2", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w3", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + } + ], + "authConfig": { + "activeDirectoryAuth": "{serverGroupProperties.ActiveDirectoryAuth}", + "passwordAuth": "{serverGroupProperties.PasswordAuth}" + }, + "sourceResourceId": null, + "enableHa": true, + "readReplicas": [], + "earliestRestoreTime": null, + "privateEndpointConnections": [] + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/locations/westus/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-03-02-preview", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/locations/westus/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-03-02-preview" + }, + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/testcluster-multinode", + "name": "testcluster-multinode", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "tags": {}, + "location": "westus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2022-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "postgresqlVersion": "15", + "citusVersion": "11.1", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "aadAuthEnabled": "disabled", + "administratorLogin": "citus", + "dataEncryption": { + "type": "AzureKeyVault", + "primaryKeyUri": "https://test-kv.vault.azure.net/keys/test-key1/fffffffffffffffffffffffffffffff", + "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-usermanagedidentity" + }, + "preferredPrimaryZone": "1", + "nodeCount": 3, + "enableShardsOnCoordinator": false, + "coordinatorServerEdition": "GeneralPurpose", + "coordinatorStorageQuotaInMb": 524288, + "coordinatorVCores": 4, + "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", + "nodeServerEdition": "MemoryOptimized", + "nodeStorageQuotaInMb": 524288, + "nodeVCores": 8, + "nodeEnablePublicIpAccess": false, + "passwordEnabled": "enabled", + "serverNames": [ + { + "name": "testcluster-multinode-c", + "fullyQualifiedDomainName": "c.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w0", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w2", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + }, + { + "name": "testcluster-multinode-w3", + "fullyQualifiedDomainName": "w0.testcluster-multinode.postgres.database.azure.com" + } + ], + "sourceResourceId": null, + "enableHa": true, + "readReplicas": [], + "earliestRestoreTime": null, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterGet.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterGet.json index 6e246ff0629a..4b2c95f6019e 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterGet.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterGet.json @@ -36,7 +36,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -44,6 +49,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 2, "nodeStorageQuotaInMb": 2097152, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterList.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterList.json index 0953ce5c7ab2..7d55e0df19e6 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterList.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterList.json @@ -35,7 +35,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -43,6 +48,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 2, "nodeStorageQuotaInMb": 2097152, @@ -98,7 +104,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": true, "enableShardsOnCoordinator": false, @@ -106,6 +117,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 1, "nodeStorageQuotaInMb": 524288, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterListByResourceGroup.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterListByResourceGroup.json index baa32ef34fa8..5c9552e6b74f 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterListByResourceGroup.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterListByResourceGroup.json @@ -36,7 +36,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -44,6 +49,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 3, "nodeStorageQuotaInMb": 2097152, @@ -103,7 +109,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": true, "enableShardsOnCoordinator": false, @@ -111,6 +122,7 @@ "coordinatorStorageQuotaInMb": 524288, "coordinatorVCores": 4, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 2, "nodeStorageQuotaInMb": 524288, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleCompute.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleCompute.json index e7e5187ad060..daf4d2b9ab93 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleCompute.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleCompute.json @@ -35,7 +35,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -43,6 +48,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 3, "nodeStorageQuotaInMb": 2097152, @@ -102,7 +108,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -110,6 +121,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 3, "nodeStorageQuotaInMb": 2097152, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleStorage.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleStorage.json index 9fe42061fdd2..26b86999e5e2 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleStorage.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterScaleStorage.json @@ -35,7 +35,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -43,6 +48,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 3, "nodeStorageQuotaInMb": 2097152, @@ -102,7 +108,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -110,6 +121,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 3, "nodeStorageQuotaInMb": 2097152, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdate.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdate.json index bfa0d737d693..ea6709168359 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdate.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdate.json @@ -44,7 +44,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -52,6 +57,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 4, "nodeStorageQuotaInMb": 2097152, @@ -123,7 +129,12 @@ "startMinute": 0, "customWindow": "Disabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -131,6 +142,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 4, "nodeStorageQuotaInMb": 2097152, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdateMaintenanceWindow.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdateMaintenanceWindow.json index 82891913088e..be82a5e2a414 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdateMaintenanceWindow.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/examples/ClusterUpdateMaintenanceWindow.json @@ -40,7 +40,12 @@ "startMinute": 0, "customWindow": "Enabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -48,6 +53,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 2, "nodeStorageQuotaInMb": 2097152, @@ -103,7 +109,12 @@ "startMinute": 0, "customWindow": "Enabled" }, + "aadAuthEnabled": "disabled", "administratorLogin": "citus", + "dataEncryption": { + "type": "SystemManaged" + }, + "passwordEnabled": "enabled", "preferredPrimaryZone": "1", "enableHa": false, "enableShardsOnCoordinator": false, @@ -111,6 +122,7 @@ "coordinatorStorageQuotaInMb": 2097152, "coordinatorVCores": 16, "coordinatorEnablePublicIpAccess": true, + "databaseName": "citus", "nodeServerEdition": "MemoryOptimized", "nodeCount": 2, "nodeStorageQuotaInMb": 2097152, diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/postgresqlhsc.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/postgresqlhsc.json index 37c2cb81d875..dc0687aa331f 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/postgresqlhsc.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-03-02-preview/postgresqlhsc.json @@ -144,6 +144,15 @@ }, "Create a new cluster as a read replica": { "$ref": "./examples/ClusterCreateReadReplica.json" + }, + "Create a new cluster with custom database name": { + "$ref": "./examples/ClusterCreateCustomDatabaseName.json" + }, + "Create a new cluster with Customer Managed Key - CMK data encryption.": { + "$ref": "./examples/ClusterCreateWithCMK.json" + }, + "Create a new cluster with Azure Active Directory Authentication": { + "$ref": "./examples/ClusterCreateWithAAD.json" } }, "parameters": [ @@ -2013,6 +2022,10 @@ "x-ms-client-flatten": true, "description": "Properties of the cluster." }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "Describes the identity of the cluster." + }, "tags": { "type": "object", "additionalProperties": { @@ -2130,6 +2143,10 @@ "$ref": "#/definitions/ClusterProperties", "x-ms-client-flatten": true, "description": "Properties of the cluster." + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "Describes the identity of the cluster." } }, "allOf": [ @@ -2142,6 +2159,19 @@ "description": "Properties of the cluster.", "type": "object", "properties": { + "aadAuthEnabled": { + "type": "string", + "readOnly": true, + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "AadEnabledEnum", + "modelAsString": true + }, + "description": "Indicates whether the cluster was created using AAD authentication." + }, "administratorLogin": { "type": "string", "description": "The administrator's login name of the servers in the cluster.", @@ -2157,6 +2187,10 @@ ], "description": "The password of the administrator login. Required for creation." }, + "dataEncryption": { + "$ref": "#/definitions/DataEncryption", + "description": "The data encryption properties of a cluster." + }, "provisioningState": { "type": "string", "description": "Provisioning state of the cluster", @@ -2252,6 +2286,19 @@ "type": "string", "description": "The Azure region of source cluster for read replica clusters." }, + "passwordEnabled": { + "type": "string", + "readOnly": true, + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "PasswordEnabledEnum", + "modelAsString": true + }, + "description": "Indicates whether the cluster was created with a password or using AAD authentication." + }, "pointInTimeUTC": { "type": "string", "format": "date-time", @@ -2322,6 +2369,31 @@ } } }, + "DataEncryption": { + "type": "object", + "description": "The data encryption properties of a cluster.", + "properties": { + "primaryKeyUri": { + "type": "string", + "description": "URI for the key in keyvault for data encryption of the primary server." + }, + "primaryUserAssignedIdentityId": { + "type": "string", + "description": "Resource Id for the User assigned identity to be used for data encryption of the primary server." + }, + "type": { + "type": "string", + "enum": [ + "AzureKeyVault", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "DataEncryptionType", + "modelAsString": true + } + } + } + }, "MaintenanceWindow": { "type": "object", "description": "Schedule settings for regular cluster updates.", @@ -2610,6 +2682,26 @@ } } }, + "IdentityProperties": { + "type": "object", + "description": "Describes the identity of the cluster.", + "properties": { + "type": { + "type": "string", + "enum": [ + "UserAssigned", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/UserAssignedIdentities" + } + } + }, "RoleProperties": { "properties": { "roleType": { @@ -2936,7 +3028,7 @@ "properties": { "enableGeoBackup": { "type": "boolean", - "description": "Cluster name to verify." + "description": "Boolean property to enable geo-redundant replica promotion." } } } From 99e6b32d23906bdbd7d1accc05241f008622fee6 Mon Sep 17 00:00:00 2001 From: tianxinliu <121260442+tianxin-ms@users.noreply.github.com> Date: Mon, 13 May 2024 09:52:09 -0700 Subject: [PATCH 20/30] Cognitive Services 2024-04-01-preview (#28509) * Adds base for updating Microsoft.CognitiveServices from version preview/2023-10-01-preview to version 2024-04-01-preview * Updates readme * Updates API version in new specs and examples * Cognitive Services 2024-04-01-preview * Add NSP APIs * address some error * address lintdiff error * Add list for defender * fix nsp ModelValidation * Add Mode Capacities Apis * fix example * Added properties for models api * Update models APIs * fix a name * Removed getModel * Change an example name * Fix example name * Update NSP APIs * update PutRaiPolicy example * using proxy resource type * Fix example * Remove models API from 04-01-preview * Remove sibling values alongside $ref * Address ModelValidation check * Address comments * fix breaking change * address NSP comments * fix nsp example * fix NSP * fix an example * fix sdk-go * Fix modelCapacities APIs * removed $ --------- Co-authored-by: madhura <56606095+madhura-np@users.noreply.github.com> --- .../2024-04-01-preview/cognitiveservices.json | 6791 +++++++++++++++++ .../examples/AddRaiBlocklistItems.json | 36 + .../examples/CheckDomainAvailability.json | 21 + .../examples/CheckSkuAvailability.json | 30 + .../examples/CreateAccount.json | 140 + .../examples/CreateAccountMin.json | 87 + .../examples/CreateSharedCommitmentPlan.json | 67 + ...CreateSharedCommitmentPlanAssociation.json | 36 + .../examples/DeleteAccount.json | 17 + .../examples/DeleteCommitmentPlan.json | 18 + .../examples/DeleteDeployment.json | 18 + .../examples/DeleteEncryptionScope.json | 17 + .../DeletePrivateEndpointConnection.json | 19 + .../examples/DeleteRaiBlocklist.json | 17 + .../examples/DeleteRaiBlocklistItem.json | 18 + .../examples/DeleteRaiBlocklistItems.json | 16 + .../examples/DeleteRaiPolicy.json | 17 + .../examples/DeleteSharedCommitmentPlan.json | 17 + ...DeleteSharedCommitmentPlanAssociation.json | 18 + .../examples/GetAccount.json | 31 + .../examples/GetCommitmentPlan.json | 26 + .../examples/GetDefenderForAISetting.json | 30 + .../examples/GetDeletedAccount.json | 32 + .../examples/GetDeployment.json | 30 + .../examples/GetEncryptionScope.json | 38 + ...etworkSecurityPerimeterConfigurations.json | 46 + .../examples/GetOperations.json | 43 + .../GetPrivateEndpointConnection.json | 29 + .../examples/GetRaiBlocklist.json | 20 + .../examples/GetRaiBlocklistItem.json | 22 + .../examples/GetRaiPolicy.json | 41 + .../examples/GetSharedCommitmentPlan.json | 31 + .../GetSharedCommitmentPlanAssociation.json | 21 + .../2024-04-01-preview/examples/GetSkus.json | 2164 ++++++ .../examples/GetUsages.json | 28 + .../examples/ListAccountModels.json | 48 + .../examples/ListAccountsByResourceGroup.json | 50 + .../examples/ListAccountsBySubscription.json | 77 + .../examples/ListBlocklistItems.json | 33 + .../examples/ListBlocklists.json | 23 + .../examples/ListCommitmentPlans.json | 29 + .../examples/ListCommitmentTiers.json | 28 + .../examples/ListDefenderForAISetting.json | 33 + .../ListDeletedAccountsBySubscription.json | 77 + .../examples/ListDeploymentSkus.json | 34 + .../examples/ListDeployments.json | 33 + .../examples/ListEncryptionScopes.json | 41 + .../2024-04-01-preview/examples/ListKeys.json | 16 + .../ListLocationBasedModelCapacities.json | 34 + .../examples/ListLocationModels.json | 64 + .../examples/ListModelCapacities.json | 33 + ...etworkSecurityPerimeterConfigurations.json | 49 + .../ListPrivateEndpointConnections.json | 31 + .../examples/ListPrivateLinkResources.json | 30 + .../examples/ListRaiContentFilters.json | 30 + .../examples/ListRaiPolicies.json | 42 + .../ListSharedCommitmentPlanAssociations.json | 24 + ...tSharedCommitmentPlansByResourceGroup.json | 34 + ...stSharedCommitmentPlansBySubscription.json | 33 + .../2024-04-01-preview/examples/ListSkus.json | 30 + .../examples/ListUsages.json | 24 + .../examples/PurgeDeletedAccount.json | 18 + .../examples/PutCommitmentPlan.json | 51 + .../examples/PutDefenderForAISetting.json | 54 + .../examples/PutDeployment.json | 62 + .../examples/PutEncryptionScope.json | 77 + .../PutPrivateEndpointConnection.json | 54 + .../examples/PutRaiBlocklist.json | 34 + .../examples/PutRaiBlocklistItem.json | 38 + .../examples/PutRaiPolicy.json | 298 + ...etworkSecurityPerimeterConfigurations.json | 51 + .../examples/RegenerateKey.json | 19 + .../examples/UpdateAccount.json | 58 + .../examples/UpdateDefenderForAISetting.json | 35 + .../examples/UpdateDeployment.json | 41 + .../examples/UpdateSharedCommitmentPlan.json | 44 + .../resource-manager/readme.md | 12 +- 77 files changed, 11956 insertions(+), 2 deletions(-) create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/cognitiveservices.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/AddRaiBlocklistItems.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckDomainAvailability.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckSkuAvailability.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccount.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccountMin.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlan.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlanAssociation.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteAccount.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteCommitmentPlan.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteDeployment.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteEncryptionScope.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeletePrivateEndpointConnection.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklist.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItem.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItems.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiPolicy.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlan.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlanAssociation.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetAccount.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetCommitmentPlan.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDefenderForAISetting.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeletedAccount.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeployment.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetEncryptionScope.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetNetworkSecurityPerimeterConfigurations.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetOperations.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetPrivateEndpointConnection.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklist.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklistItem.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiPolicy.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlan.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlanAssociation.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSkus.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetUsages.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountModels.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsByResourceGroup.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsBySubscription.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklistItems.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklists.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentPlans.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentTiers.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDefenderForAISetting.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeletedAccountsBySubscription.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeploymentSkus.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeployments.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListEncryptionScopes.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListKeys.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationBasedModelCapacities.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationModels.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListModelCapacities.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListNetworkSecurityPerimeterConfigurations.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateEndpointConnections.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateLinkResources.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiContentFilters.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiPolicies.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlanAssociations.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansByResourceGroup.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansBySubscription.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSkus.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListUsages.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PurgeDeletedAccount.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutCommitmentPlan.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDefenderForAISetting.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDeployment.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutEncryptionScope.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutPrivateEndpointConnection.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklist.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklistItem.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiPolicy.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ReconcileNetworkSecurityPerimeterConfigurations.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/RegenerateKey.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateAccount.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDefenderForAISetting.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDeployment.json create mode 100644 specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateSharedCommitmentPlan.json diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/cognitiveservices.json new file mode 100644 index 000000000000..ae46e525419e --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/cognitiveservices.json @@ -0,0 +1,6791 @@ +{ + "swagger": "2.0", + "info": { + "title": "CognitiveServicesManagementClient", + "description": "Cognitive Services Management Client", + "version": "2024-04-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}": { + "put": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Create Cognitive Services Account. Accounts is a resource group wide resource type. It holds the keys for developer to access intelligent APIs. It's also the resource type for billing.", + "operationId": "Accounts_Create", + "x-ms-examples": { + "Create Account": { + "$ref": "./examples/CreateAccount.json" + }, + "Create Account Min": { + "$ref": "./examples/CreateAccountMin.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "account", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (OK).", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Updates a Cognitive Services account", + "operationId": "Accounts_Update", + "x-ms-examples": { + "Update Account": { + "$ref": "./examples/UpdateAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "account", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Deletes a Cognitive Services account from the resource group. ", + "operationId": "Accounts_Delete", + "x-ms-examples": { + "Delete Account": { + "$ref": "./examples/DeleteAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns a Cognitive Services account specified by the parameters.", + "operationId": "Accounts_Get", + "x-ms-examples": { + "Get Account": { + "$ref": "./examples/GetAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/resourceGroups/{resourceGroupName}/deletedAccounts/{accountName}": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns a Cognitive Services account specified by the parameters.", + "operationId": "DeletedAccounts_Get", + "x-ms-examples": { + "Get Account": { + "$ref": "./examples/GetDeletedAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Deletes a Cognitive Services account from the resource group. ", + "operationId": "DeletedAccounts_Purge", + "x-ms-examples": { + "Delete Account": { + "$ref": "./examples/PurgeDeletedAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a resource group", + "operationId": "Accounts_ListByResourceGroup", + "x-ms-examples": { + "List Accounts by Resource Group": { + "$ref": "./examples/ListAccountsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with \"value\" property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "Accounts_List", + "x-ms-examples": { + "List Accounts by Subscription": { + "$ref": "./examples/ListAccountsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/deletedAccounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "DeletedAccounts_List", + "x-ms-examples": { + "List Deleted Accounts by Subscription": { + "$ref": "./examples/ListDeletedAccountsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "Accounts_ListKeys", + "description": "Lists the account keys for the specified Cognitive Services account.", + "x-ms-examples": { + "List Keys": { + "$ref": "./examples/ListKeys.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns with a response body containing the subscription keys for the resource: key1\nThe first API key for authentication when client calls the API endpoint.\n\nkey2\nThe second API key for authentication when client calls the API endpoint.", + "schema": { + "$ref": "#/definitions/ApiKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "Accounts_RegenerateKey", + "description": "Regenerates the specified account key for the specified Cognitive Services account.", + "x-ms-examples": { + "Regenerate Keys": { + "$ref": "./examples/RegenerateKey.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + }, + "description": "regenerate key parameters." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ApiKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus": { + "get": { + "tags": [ + "Skus", + "CognitiveServicesAccounts" + ], + "operationId": "ResourceSkus_List", + "description": "Gets the list of Microsoft.CognitiveServices SKUs available for your Subscription.", + "x-ms-examples": { + "Regenerate Keys": { + "$ref": "./examples/GetSkus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "List available SKUs for the requested Cognitive Services account", + "x-ms-examples": { + "List SKUs": { + "$ref": "./examples/ListSkus.json" + } + }, + "operationId": "Accounts_ListSkus", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nsku\tRequired, object\n\tThe exact set of keys that define this sku. This matches the fields on the respective resource.\nsku.name\tRequired, string\n\tThe name of the SKU. This is typically a letter + number code, such as A0 or P3\nsku.tier\tRequired, string\n\tThe tier of this particular SKU. Typically one of:\n\t· Free\n\t· Basic\n\t· Standard\n\t· Premium\n", + "schema": { + "$ref": "#/definitions/AccountSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/usages": { + "get": { + "tags": [ + "Usages" + ], + "description": "Get usages for the requested subscription", + "x-ms-examples": { + "Get Usages": { + "$ref": "./examples/ListUsages.json" + } + }, + "operationId": "Usages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Get usages for the requested Cognitive Services account", + "x-ms-examples": { + "Get Usages": { + "$ref": "./examples/GetUsages.json" + } + }, + "operationId": "Accounts_ListUsages", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for Cognitive Services account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/models": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "List available Models for the requested Cognitive Services account", + "x-ms-examples": { + "List AccountModels": { + "$ref": "./examples/ListAccountModels.json" + } + }, + "operationId": "Accounts_ListModels", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nsku\tRequired, object\n\tThe exact set of keys that define this sku. This matches the fields on the respective resource.\nsku.name\tRequired, string\n\tThe name of the SKU. This is typically a letter + number code, such as A0 or P3\nsku.tier\tRequired, string\n\tThe tier of this particular SKU. Typically one of:\n\t· Free\n\t· Basic\n\t· Standard\n\t· Premium\n", + "schema": { + "$ref": "#/definitions/AccountModelListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.CognitiveServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available Cognitive Services account operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckSkuAvailability", + "description": "Check available SKUs.", + "x-ms-examples": { + "Check SKU Availability": { + "$ref": "./examples/CheckSkuAvailability.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CheckSkuAvailabilityParameter" + }, + "description": "Check SKU Availability POST body." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SkuAvailabilityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/commitmentTiers": { + "get": { + "tags": [ + "CommitmentTiers" + ], + "operationId": "CommitmentTiers_List", + "description": "List Commitment Tiers.", + "x-ms-examples": { + "ListCommitmentTiers": { + "$ref": "./examples/ListCommitmentTiers.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CommitmentTierListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/models": { + "get": { + "tags": [ + "Models" + ], + "operationId": "Models_List", + "description": "List Models.", + "x-ms-examples": { + "ListLocationModels": { + "$ref": "./examples/ListLocationModels.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ModelListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/modelCapacities": { + "get": { + "tags": [ + "ModelCapacities" + ], + "operationId": "LocationBasedModelCapacities_List", + "description": "List Location Based ModelCapacities.", + "x-ms-examples": { + "ListLocationBasedModelCapacities": { + "$ref": "./examples/ListLocationBasedModelCapacities.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/modelFormatFilterParameter" + }, + { + "$ref": "#/parameters/modelNameFilterParameter" + }, + { + "$ref": "#/parameters/modelVersionFilterParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved modelCapacities by location.", + "schema": { + "$ref": "#/definitions/ModelCapacityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/modelCapacities": { + "get": { + "tags": [ + "ModelCapacities" + ], + "operationId": "ModelCapacities_List", + "description": "List ModelCapacities.", + "x-ms-examples": { + "ListModelCapacities": { + "$ref": "./examples/ListModelCapacities.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/modelFormatFilterParameter" + }, + { + "$ref": "#/parameters/modelNameFilterParameter" + }, + { + "$ref": "#/parameters/modelVersionFilterParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved modelCapacities.", + "schema": { + "$ref": "#/definitions/ModelCapacityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/checkDomainAvailability": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckDomainAvailability", + "description": "Check whether a domain is available.", + "x-ms-examples": { + "Check SKU Availability": { + "$ref": "./examples/CheckDomainAvailability.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CheckDomainAvailabilityParameter" + }, + "description": "Check Domain Availability parameter." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DomainAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "Gets the private endpoint connections associated with the Cognitive Services account.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/ListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "PutPrivateEndpointConnection": { + "$ref": "./examples/PutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "DeletePrivateEndpointConnection": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "description": "Gets the private link resources that need to be created for a Cognitive Services account.", + "x-ms-examples": { + "ListPrivateLinkResources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_List", + "description": "Gets the deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "ListDeployments": { + "$ref": "./examples/ListDeployments.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Get", + "description": "Gets the specified deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "GetDeployment": { + "$ref": "./examples/GetDeployment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the deployments properties successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdate", + "description": "Update the state of specified deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "PutDeployment": { + "$ref": "./examples/PutDeployment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + }, + { + "name": "deployment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "The deployment properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the deployment successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "201": { + "description": "Create the deployment successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Update", + "description": "Update specified deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "UpdateDeployment": { + "$ref": "./examples/UpdateDeployment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + }, + { + "name": "deployment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchResourceTagsAndSku" + }, + "description": "The deployment properties." + } + ], + "responses": { + "200": { + "description": "Updated the deployment successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "202": { + "headers": { + "location": { + "type": "string" + } + }, + "description": "If resource is updated successfully, the service should return 201 (OK)." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Delete", + "description": "Deletes the specified deployment associated with the Cognitive Services account.", + "x-ms-examples": { + "DeleteDeployment": { + "$ref": "./examples/DeleteDeployment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the deployment successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The deployment does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}/skus": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListSkus", + "description": "Lists the specified deployments skus associated with the Cognitive Services account.", + "x-ms-examples": { + "ListDeploymentSkus": { + "$ref": "./examples/ListDeploymentSkus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List the deployments skus successfully.", + "schema": { + "$ref": "#/definitions/DeploymentSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/commitmentPlans": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_List", + "description": "Gets the commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "ListCommitmentPlans": { + "$ref": "./examples/ListCommitmentPlans.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved commitmentPlans.", + "schema": { + "$ref": "#/definitions/CommitmentPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/commitmentPlans/{commitmentPlanName}": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_Get", + "description": "Gets the specified commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "GetCommitmentPlan": { + "$ref": "./examples/GetCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the commitmentPlans properties successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_CreateOrUpdate", + "description": "Update the state of specified commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "PutCommitmentPlan": { + "$ref": "./examples/PutCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanNameParameter" + }, + { + "name": "commitmentPlan", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommitmentPlan" + }, + "description": "The commitmentPlan properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the CommitmentPlan successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "201": { + "description": "Create the CommitmentPlan successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_Delete", + "description": "Deletes the specified commitmentPlan associated with the Cognitive Services account.", + "x-ms-examples": { + "DeleteCommitmentPlan": { + "$ref": "./examples/DeleteCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the commitmentPlan successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The commitmentPlan does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/encryptionScopes": { + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_List", + "description": "Gets the content filters associated with the Azure OpenAI account.", + "x-ms-examples": { + "ListEncryptionScopes": { + "$ref": "./examples/ListEncryptionScopes.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved Content Filters.", + "schema": { + "$ref": "#/definitions/EncryptionScopeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/encryptionScopes/{encryptionScopeName}": { + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Get", + "description": "Gets the specified EncryptionScope associated with the Cognitive Services account.", + "x-ms-examples": { + "GetEncryptionScope": { + "$ref": "./examples/GetEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/encryptionScopeNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the EncryptionScopes properties successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_CreateOrUpdate", + "description": "Update the state of specified encryptionScope associated with the Cognitive Services account.", + "x-ms-examples": { + "PutEncryptionScope": { + "$ref": "./examples/PutEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/encryptionScopeNameParameter" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "The encryptionScope properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the EncryptionScope successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "201": { + "description": "Create the EncryptionScope successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Delete", + "description": "Deletes the specified encryptionScope associated with the Cognitive Services account.", + "x-ms-examples": { + "DeleteEncryptionScope": { + "$ref": "./examples/DeleteEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/encryptionScopeNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content -- The Content Filters does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiPolicies": { + "get": { + "tags": [ + "RaiPolicies" + ], + "operationId": "RaiPolicies_List", + "description": "Gets the content filters associated with the Azure OpenAI account.", + "x-ms-examples": { + "ListRaiPolicies": { + "$ref": "./examples/ListRaiPolicies.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved Content Filters.", + "schema": { + "$ref": "#/definitions/RaiPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists": { + "get": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklists_List", + "description": "Gets the custom blocklists associated with the Azure OpenAI account.", + "x-ms-examples": { + "ListBlocklists": { + "$ref": "./examples/ListBlocklists.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved blocklists.", + "schema": { + "$ref": "#/definitions/RaiBlockListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists/{raiBlocklistName}/raiBlocklistItems": { + "get": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklistItems_List", + "description": "Gets the blocklist items associated with the custom blocklist.", + "x-ms-examples": { + "ListBlocklistItems": { + "$ref": "./examples/ListBlocklistItems.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved blocklist items.", + "schema": { + "$ref": "#/definitions/RaiBlockListItemsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiPolicies/{raiPolicyName}": { + "get": { + "tags": [ + "RaiPolicies" + ], + "operationId": "RaiPolicies_Get", + "description": "Gets the specified Content Filters associated with the Azure OpenAI account.", + "x-ms-examples": { + "GetRaiPolicy": { + "$ref": "./examples/GetRaiPolicy.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiPolicyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the Content Filters successfully.", + "schema": { + "$ref": "#/definitions/RaiPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "RaiPolicies" + ], + "operationId": "RaiPolicies_CreateOrUpdate", + "description": "Update the state of specified Content Filters associated with the Azure OpenAI account.", + "x-ms-examples": { + "PutRaiPolicy": { + "$ref": "./examples/PutRaiPolicy.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiPolicyNameParameter" + }, + { + "name": "raiPolicy", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RaiPolicy" + }, + "description": "Properties describing the Content Filters." + } + ], + "responses": { + "200": { + "description": "Create/Update the Content Filters successfully.", + "schema": { + "$ref": "#/definitions/RaiPolicy" + } + }, + "201": { + "description": "Create the Content Filters successfully.", + "schema": { + "$ref": "#/definitions/RaiPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "RaiPolicies" + ], + "operationId": "RaiPolicies_Delete", + "description": "Deletes the specified Content Filters associated with the Azure OpenAI account.", + "x-ms-examples": { + "DeleteRaiPolicy": { + "$ref": "./examples/DeleteRaiPolicy.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiPolicyNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content -- The Content Filters does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists/{raiBlocklistName}": { + "get": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklists_Get", + "description": "Gets the specified custom blocklist associated with the Azure OpenAI account.", + "x-ms-examples": { + "GetRaiBlocklist": { + "$ref": "./examples/GetRaiBlocklist.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the custom blocklist successfully.", + "schema": { + "$ref": "#/definitions/RaiBlocklist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklists_CreateOrUpdate", + "description": "Update the state of specified blocklist associated with the Azure OpenAI account.", + "x-ms-examples": { + "PutRaiBlocklist": { + "$ref": "./examples/PutRaiBlocklist.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + }, + { + "name": "raiBlocklist", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RaiBlocklist" + }, + "description": "Properties describing the custom blocklist." + } + ], + "responses": { + "200": { + "description": "Created/updated the custom blocklist successfully.", + "schema": { + "$ref": "#/definitions/RaiBlocklist" + } + }, + "201": { + "description": "Created/updated the custom blocklist successfully.", + "schema": { + "$ref": "#/definitions/RaiBlocklist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklists_Delete", + "description": "Deletes the specified custom blocklist associated with the Azure OpenAI account.", + "x-ms-examples": { + "DeleteRaiBlocklist": { + "$ref": "./examples/DeleteRaiBlocklist.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content -- The Content Filters does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists/{raiBlocklistName}/raiBlocklistItems/{raiBlocklistItemName}": { + "get": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklistItems_Get", + "description": "Gets the specified custom blocklist Item associated with the custom blocklist.", + "x-ms-examples": { + "GetRaiBlocklistItem": { + "$ref": "./examples/GetRaiBlocklistItem.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + }, + { + "$ref": "#/parameters/raiBlocklistItemNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the custom blocklist Item successfully.", + "schema": { + "$ref": "#/definitions/RaiBlocklistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklistItems_CreateOrUpdate", + "description": "Update the state of specified blocklist item associated with the Azure OpenAI account.", + "x-ms-examples": { + "PutRaiBlocklistItem": { + "$ref": "./examples/PutRaiBlocklistItem.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + }, + { + "$ref": "#/parameters/raiBlocklistItemNameParameter" + }, + { + "name": "raiBlocklistItem", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RaiBlocklistItem" + }, + "description": "Properties describing the custom blocklist." + } + ], + "responses": { + "200": { + "description": "Created/updated the blocklist Item successfully.", + "schema": { + "$ref": "#/definitions/RaiBlocklistItem" + } + }, + "201": { + "description": "Created/updated the blocklist Item successfully.", + "schema": { + "$ref": "#/definitions/RaiBlocklistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklistItems_Delete", + "description": "Deletes the specified blocklist Item associated with the custom blocklist.", + "x-ms-examples": { + "DeleteRaiBlocklistItem": { + "$ref": "./examples/DeleteRaiBlocklistItem.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + }, + { + "$ref": "#/parameters/raiBlocklistItemNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content -- The blocklist item does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists/{raiBlocklistName}/addRaiBlocklistItems": { + "post": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklistItems_BatchAdd", + "description": "Batch operation to add blocklist items.", + "x-ms-examples": { + "AddRaiBlocklistItems": { + "$ref": "./examples/AddRaiBlocklistItems.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + }, + { + "name": "raiBlocklistItems", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RaiBlocklistItemsBulkAddRequest" + }, + "description": "Properties describing the custom blocklist items." + } + ], + "responses": { + "200": { + "description": "Added the blocklist Items successfully.", + "schema": { + "$ref": "#/definitions/RaiBlocklist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/raiBlocklists/{raiBlocklistName}/deleteRaiBlocklistItems": { + "post": { + "tags": [ + "RaiBlocklists" + ], + "operationId": "RaiBlocklistItems_BatchDelete", + "description": "Batch operation to delete blocklist items.", + "x-ms-examples": { + "DeleteRaiBlocklistItems": { + "$ref": "./examples/DeleteRaiBlocklistItems.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/raiBlocklistNameParameter" + }, + { + "name": "raiBlocklistItemsNames", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RaiBlocklistItemsBulkDeleteRequest" + }, + "description": "List of RAI Blocklist Items Names." + } + ], + "responses": { + "204": { + "description": "Added the blocklist Items successfully." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/raiContentFilters": { + "get": { + "tags": [ + "RaiContentFilters" + ], + "operationId": "RaiContentFilters_List", + "description": "List Content Filters types.", + "x-ms-examples": { + "ListRaiContentFilters": { + "$ref": "./examples/ListRaiContentFilters.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/RaiContentFilterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/commitmentPlans/{commitmentPlanName}": { + "put": { + "tags": [ + "CognitiveServicesCommitmentPlans" + ], + "description": "Create Cognitive Services commitment plan.", + "operationId": "CommitmentPlans_CreateOrUpdatePlan", + "x-ms-examples": { + "Create Commitment Plan": { + "$ref": "./examples/CreateSharedCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + }, + { + "name": "commitmentPlan", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommitmentPlan" + }, + "description": "The parameters to provide for the created commitment plan." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (OK).", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "CognitiveServicesCommitmentPlans" + ], + "description": "Create Cognitive Services commitment plan.", + "operationId": "CommitmentPlans_UpdatePlan", + "x-ms-examples": { + "Create Commitment Plan": { + "$ref": "./examples/UpdateSharedCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + }, + { + "name": "commitmentPlan", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchResourceTagsAndSku" + }, + "description": "The parameters to provide for the created commitment plan." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is updated successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "202": { + "headers": { + "location": { + "type": "string" + } + }, + "description": "If resource is updated successfully, the service should return 201 (OK)." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "delete": { + "tags": [ + "CognitiveServicesCommitmentPlans" + ], + "description": "Deletes a Cognitive Services commitment plan from the resource group. ", + "operationId": "CommitmentPlans_DeletePlan", + "x-ms-examples": { + "Delete Commitment Plan": { + "$ref": "./examples/DeleteSharedCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "202": { + "headers": { + "location": { + "type": "string" + } + }, + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "CognitiveServicesCommitmentPlans" + ], + "description": "Returns a Cognitive Services commitment plan specified by the parameters.", + "operationId": "CommitmentPlans_GetPlan", + "x-ms-examples": { + "Get Commitment Plan": { + "$ref": "./examples/GetSharedCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved commitment plan resources.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/commitmentPlans": { + "get": { + "tags": [ + "CognitiveServicesCommitmentPlans" + ], + "description": "Returns all the resources of a particular type belonging to a resource group", + "operationId": "CommitmentPlans_ListPlansByResourceGroup", + "x-ms-examples": { + "List Commitment Plans by Resource Group": { + "$ref": "./examples/ListSharedCommitmentPlansByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved commitment plan resources.", + "schema": { + "$ref": "#/definitions/CommitmentPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/commitmentPlans": { + "get": { + "tags": [ + "CognitiveServicesCommitmentPlans" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "CommitmentPlans_ListPlansBySubscription", + "x-ms-examples": { + "List Accounts by Subscription": { + "$ref": "./examples/ListSharedCommitmentPlansBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved commitment plan resources.", + "schema": { + "$ref": "#/definitions/CommitmentPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/commitmentPlans/{commitmentPlanName}/accountAssociations": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_ListAssociations", + "description": "Gets the associations of the Cognitive Services commitment plan.", + "x-ms-examples": { + "ListCommitmentPlans": { + "$ref": "./examples/ListSharedCommitmentPlanAssociations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved Commitment Plan Associations.", + "schema": { + "$ref": "#/definitions/CommitmentPlanAccountAssociationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/commitmentPlans/{commitmentPlanName}/accountAssociations/{commitmentPlanAssociationName}": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_GetAssociation", + "description": "Gets the association of the Cognitive Services commitment plan.", + "x-ms-examples": { + "GetCommitmentPlan": { + "$ref": "./examples/GetSharedCommitmentPlanAssociation.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + }, + { + "$ref": "#/parameters/commitmentPlanAssociationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the Commitment Plan Association successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlanAccountAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_CreateOrUpdateAssociation", + "description": "Create or update the association of the Cognitive Services commitment plan.", + "x-ms-examples": { + "PutCommitmentPlan": { + "$ref": "./examples/CreateSharedCommitmentPlanAssociation.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + }, + { + "$ref": "#/parameters/commitmentPlanAssociationNameParameter" + }, + { + "name": "association", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommitmentPlanAccountAssociation" + }, + "description": "The commitmentPlan properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the Commitment Plan Association successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlanAccountAssociation" + } + }, + "201": { + "description": "Create the Commitment Plan Association successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlanAccountAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_DeleteAssociation", + "description": "Deletes the association of the Cognitive Services commitment plan.", + "x-ms-examples": { + "DeleteCommitmentPlan": { + "$ref": "./examples/DeleteSharedCommitmentPlanAssociation.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanResourceNameParameter" + }, + { + "$ref": "#/parameters/commitmentPlanAssociationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the CommitmentPlanAssociation successfully." + }, + "202": { + "headers": { + "location": { + "type": "string" + } + }, + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The Commitment Plan Association does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/networkSecurityPerimeterConfigurations": { + "get": { + "tags": [ + "NetworkSecurityPerimeterConfigurations" + ], + "operationId": "NetworkSecurityPerimeterConfigurations_List", + "description": "Gets a list of NSP configurations for an account.", + "x-ms-examples": { + "ListNetworkSecurityPerimeterConfigurations": { + "$ref": "./examples/ListNetworkSecurityPerimeterConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of configs.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/networkSecurityPerimeterConfigurations/{nspConfigurationName}": { + "get": { + "tags": [ + "NetworkSecurityPerimeterConfigurations" + ], + "operationId": "NetworkSecurityPerimeterConfigurations_Get", + "description": "Gets the specified NSP configurations for an account.", + "x-ms-examples": { + "GetNetworkSecurityPerimeterConfigurations": { + "$ref": "./examples/GetNetworkSecurityPerimeterConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/nspConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the config.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/networkSecurityPerimeterConfigurations/{nspConfigurationName}/reconcile": { + "post": { + "tags": [ + "NetworkSecurityPerimeterConfigurations" + ], + "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", + "description": "Reconcile the NSP configuration for an account.", + "x-ms-examples": { + "ReconcileNetworkSecurityPerimeterConfigurations": { + "$ref": "./examples/ReconcileNetworkSecurityPerimeterConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/nspConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully Reconciled the NSP configuration.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + } + }, + "202": { + "headers": { + "location": { + "type": "string" + } + }, + "description": "Request to reconcile the NSP configuration accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/defenderForAISettings": { + "get": { + "tags": [ + "DefenderForAISettings" + ], + "operationId": "DefenderForAISettings_List", + "description": "Lists the Defender for AI settings.", + "x-ms-examples": { + "ListDefenderForAISetting": { + "$ref": "./examples/ListDefenderForAISetting.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List the defender setting name successfully.", + "schema": { + "$ref": "#/definitions/DefenderForAISettingResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/defenderForAISettings/{defenderForAISettingName}": { + "get": { + "tags": [ + "DefenderForAISettings" + ], + "operationId": "DefenderForAISettings_Get", + "description": "Gets the specified Defender for AI setting by name.", + "x-ms-examples": { + "GetDefenderForAISetting": { + "$ref": "./examples/GetDefenderForAISetting.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/defenderForAISettingNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the defender setting name successfully.", + "schema": { + "$ref": "#/definitions/DefenderForAISetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "DefenderForAISettings" + ], + "operationId": "DefenderForAISettings_CreateOrUpdate", + "description": "Creates or Updates the specified Defender for AI setting.", + "x-ms-examples": { + "PutDefenderForAISetting": { + "$ref": "./examples/PutDefenderForAISetting.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/defenderForAISettingNameParameter" + }, + { + "name": "defenderForAISettings", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DefenderForAISetting" + }, + "description": "Properties describing the Defender for AI setting." + } + ], + "responses": { + "200": { + "description": "Created/updated the Defender for AI setting successfully.", + "schema": { + "$ref": "#/definitions/DefenderForAISetting" + } + }, + "201": { + "description": "Created the Defender for AI setting successfully.", + "schema": { + "$ref": "#/definitions/DefenderForAISetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "DefenderForAISettings" + ], + "operationId": "DefenderForAISettings_Update", + "description": "Updates the specified Defender for AI setting.", + "x-ms-examples": { + "UpdateDefenderForAISetting": { + "$ref": "./examples/UpdateDefenderForAISetting.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/defenderForAISettingNameParameter" + }, + { + "name": "defenderForAISettings", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DefenderForAISetting" + }, + "description": "Properties describing the Defender for AI setting." + } + ], + "responses": { + "200": { + "description": "Updated the Defender for AI setting successfully.", + "schema": { + "$ref": "#/definitions/DefenderForAISetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Kind": { + "type": "string", + "description": "The kind (type) of cognitive service account." + }, + "Sku": { + "description": "The resource model definition representing SKU", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "tier": { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium", + "Enterprise" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + }, + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "SkuName": { + "type": "string", + "description": "The name of SKU." + }, + "Account": { + "description": "Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "properties": { + "$ref": "#/definitions/AccountProperties", + "description": "Properties of Cognitive Services account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource" + } + ] + }, + "AccountListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of accounts.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "Gets the list of Cognitive Services accounts and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the cognitive services account at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded", + "ResolvingDNS" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "type": "string", + "description": "Endpoint of the created account.", + "readOnly": true + }, + "internalId": { + "type": "string", + "description": "The internal identifier (deprecated, do not use this property).", + "readOnly": true + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific feature. The values are read-only and for reference only." + }, + "isMigrated": { + "type": "boolean", + "description": "If the resource is migrated from an existing key.", + "readOnly": true + }, + "migrationToken": { + "type": "string", + "description": "Resource migration token." + }, + "skuChangeInfo": { + "$ref": "#/definitions/SkuChangeInfo", + "description": "Sku change info of account.", + "readOnly": true + }, + "customSubDomainName": { + "type": "string", + "description": "Optional subdomain name used for token-based authentication." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility from specific network locations." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "The encryption properties for this resource." + }, + "userOwnedStorage": { + "type": "array", + "items": { + "$ref": "#/definitions/UserOwnedStorage" + }, + "x-ms-identifiers": [ + "resourceId" + ], + "description": "The storage accounts for this resource." + }, + "amlWorkspace": { + "$ref": "#/definitions/UserOwnedAmlWorkspace", + "description": "The user owned AML workspace properties." + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection associated with the Cognitive Services account." + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this account.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "apiProperties": { + "$ref": "#/definitions/ApiProperties", + "description": "The api properties for special APIs." + }, + "dateCreated": { + "readOnly": true, + "type": "string", + "description": "Gets the date of cognitive services account creation." + }, + "callRateLimit": { + "readOnly": true, + "$ref": "#/definitions/CallRateLimit" + }, + "dynamicThrottlingEnabled": { + "type": "boolean", + "description": "The flag to enable dynamic throttling." + }, + "quotaLimit": { + "readOnly": true, + "$ref": "#/definitions/QuotaLimit" + }, + "restrictOutboundNetworkAccess": { + "type": "boolean" + }, + "allowedFqdnList": { + "type": "array", + "items": { + "type": "string" + } + }, + "disableLocalAuth": { + "type": "boolean" + }, + "endpoints": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "restore": { + "type": "boolean", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "deletionDate": { + "type": "string", + "description": "The deletion date, only available for deleted account.", + "readOnly": true + }, + "scheduledPurgeDate": { + "type": "string", + "description": "The scheduled purge date, only available for deleted account.", + "readOnly": true + }, + "locations": { + "$ref": "#/definitions/MultiRegionSettings", + "description": "The multiregion settings of Cognitive Services account." + }, + "commitmentPlanAssociations": { + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentPlanAssociation" + }, + "x-ms-identifiers": [ + "commitmentPlanId" + ], + "description": "The commitment plan associations of Cognitive Services account.", + "readOnly": true + }, + "abusePenalty": { + "readOnly": true, + "$ref": "#/definitions/AbusePenalty" + }, + "raiMonitorConfig": { + "$ref": "#/definitions/RaiMonitorConfig" + } + }, + "description": "Properties of Cognitive Services account." + }, + "ApiProperties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "properties": { + "qnaRuntimeEndpoint": { + "type": "string", + "description": "(QnAMaker Only) The runtime endpoint of QnAMaker." + }, + "qnaAzureSearchEndpointKey": { + "type": "string", + "description": "(QnAMaker Only) The Azure Search endpoint key of QnAMaker." + }, + "qnaAzureSearchEndpointId": { + "type": "string", + "description": "(QnAMaker Only) The Azure Search endpoint id of QnAMaker." + }, + "statisticsEnabled": { + "type": "boolean", + "description": "(Bing Search Only) The flag to enable statistics of Bing Search." + }, + "eventHubConnectionString": { + "type": "string", + "description": "(Personalization Only) The flag to enable statistics of Bing Search.", + "pattern": "^( *)Endpoint=sb://(.*);( *)SharedAccessKeyName=(.*);( *)SharedAccessKey=(.*)$", + "maxLength": 1000 + }, + "storageAccountConnectionString": { + "type": "string", + "description": "(Personalization Only) The storage account connection string.", + "pattern": "^(( *)DefaultEndpointsProtocol=(http|https)( *);( *))?AccountName=(.*)AccountKey=(.*)EndpointSuffix=(.*)$", + "maxLength": 1000 + }, + "aadClientId": { + "type": "string", + "description": "(Metrics Advisor Only) The Azure AD Client Id (Application Id).", + "maxLength": 500 + }, + "aadTenantId": { + "type": "string", + "description": "(Metrics Advisor Only) The Azure AD Tenant Id.", + "maxLength": 500 + }, + "superUser": { + "type": "string", + "description": "(Metrics Advisor Only) The super user of Metrics Advisor.", + "maxLength": 500 + }, + "websiteName": { + "type": "string", + "description": "(Metrics Advisor Only) The website name of Metrics Advisor.", + "maxLength": 500 + } + }, + "description": "The api properties for special APIs." + }, + "CommitmentPlanAccountAssociationListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Commitment Plan Account Association.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentPlanAccountAssociation" + }, + "x-ms-identifiers": [ + "id" + ], + "description": "Gets the list of Cognitive Services Commitment Plan Account Association and their properties." + } + }, + "description": "The list of cognitive services Commitment Plan Account Association operation response." + }, + "CommitmentPlanAccountAssociation": { + "description": "The commitment plan association.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CommitmentPlanAccountAssociationProperties", + "description": "Properties of Cognitive Services account commitment plan association." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "AbusePenalty": { + "description": "The abuse penalty.", + "type": "object", + "properties": { + "action": { + "type": "string", + "enum": [ + "Throttle", + "Block" + ], + "x-ms-enum": { + "name": "AbusePenaltyAction", + "modelAsString": true + }, + "description": "The action of AbusePenalty." + }, + "rateLimitPercentage": { + "type": "number", + "description": "The percentage of rate limit." + }, + "expiration": { + "type": "string", + "format": "date-time", + "description": "The datetime of expiration of the AbusePenalty." + } + } + }, + "CommitmentPlanAccountAssociationProperties": { + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "The Azure resource id of the account." + } + }, + "description": "The commitment plan account association properties." + }, + "CommitmentPlanAssociation": { + "type": "object", + "properties": { + "commitmentPlanId": { + "type": "string", + "description": "The Azure resource id of the commitment plan." + }, + "commitmentPlanLocation": { + "type": "string", + "description": "The location of of the commitment plan." + } + }, + "description": "The commitment plan association." + }, + "MultiRegionSettings": { + "type": "object", + "properties": { + "routingMethod": { + "type": "string", + "enum": [ + "Priority", + "Weighted", + "Performance" + ], + "x-ms-enum": { + "name": "RoutingMethods", + "modelAsString": true + }, + "description": "Multiregion routing methods." + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionSetting" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "description": "The multiregion settings Cognitive Services account." + }, + "RegionSetting": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the region." + }, + "value": { + "type": "number", + "description": "A value for priority or weighted routing methods." + }, + "customsubdomain": { + "type": "string", + "description": "Maps the region to the regional custom subdomain." + } + }, + "description": "The call rate limit Cognitive Services account." + }, + "CapacityConfig": { + "type": "object", + "properties": { + "minimum": { + "type": "integer", + "format": "int32", + "description": "The minimum capacity." + }, + "maximum": { + "type": "integer", + "format": "int32", + "description": "The maximum capacity." + }, + "step": { + "type": "integer", + "format": "int32", + "description": "The minimal incremental between allowed values for capacity." + }, + "default": { + "type": "integer", + "format": "int32", + "description": "The default capacity." + }, + "allowedValues": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "The array of allowed values for capacity." + } + }, + "description": "The capacity configuration." + }, + "CallRateLimit": { + "type": "object", + "properties": { + "count": { + "type": "number", + "description": "The count value of Call Rate Limit." + }, + "renewalPeriod": { + "type": "number", + "description": "The renewal period in seconds of Call Rate Limit." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + }, + "x-ms-identifiers": [ + "key" + ] + } + }, + "description": "The call rate limit Cognitive Services account." + }, + "BillingMeterInfo": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "meterId": { + "type": "string" + }, + "unit": { + "type": "string" + } + } + }, + "DeploymentCapacitySettings": { + "type": "object", + "description": "Internal use only.", + "properties": { + "designatedCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The designated capacity." + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The priority of this capacity setting." + } + } + }, + "QuotaLimit": { + "type": "object", + "properties": { + "count": { + "type": "number" + }, + "renewalPeriod": { + "type": "number" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + }, + "x-ms-identifiers": [ + "key" + ] + } + } + }, + "ThrottlingRule": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "renewalPeriod": { + "type": "number" + }, + "count": { + "type": "number" + }, + "minCount": { + "type": "number" + }, + "dynamicThrottlingEnabled": { + "type": "boolean" + }, + "matchPatterns": { + "type": "array", + "items": { + "$ref": "#/definitions/RequestMatchPattern" + }, + "x-ms-identifiers": [ + "path", + "method" + ] + } + } + }, + "RequestMatchPattern": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "method": { + "type": "string" + } + } + }, + "ApiKeys": { + "type": "object", + "properties": { + "key1": { + "type": "string", + "description": "Gets the value of key 1." + }, + "key2": { + "type": "string", + "description": "Gets the value of key 2." + } + }, + "description": "The access keys for the cognitive services account." + }, + "SkuChangeInfo": { + "type": "object", + "properties": { + "countOfDowngrades": { + "type": "number", + "description": "Gets the count of downgrades." + }, + "countOfUpgradesAfterDowngrades": { + "type": "number", + "description": "Gets the count of upgrades after downgrades." + }, + "lastChangeDate": { + "type": "string", + "description": "Gets the last change date." + } + }, + "description": "Sku change info of account." + }, + "RegenerateKeyParameters": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "key name to generate (Key1|Key2)", + "enum": [ + "Key1", + "Key2" + ], + "x-ms-enum": { + "name": "KeyName", + "modelAsString": false + } + } + }, + "required": [ + "keyName" + ], + "description": "Regenerate key parameters." + }, + "AccountSkuListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountSku" + }, + "x-ms-identifiers": [ + "sku/name", + "resourceType" + ], + "description": "Gets the list of Cognitive Services accounts and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "Resource Namespace and Type" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of Cognitive Services account." + } + }, + "description": "Cognitive Services resource type and SKU." + }, + "UsageListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Usages.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of usages for Cognitive Service account." + } + }, + "description": "The response to a list usage request." + }, + "Usage": { + "type": "object", + "properties": { + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "name": { + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "quotaPeriod": { + "type": "string", + "description": "The quota period used to summarize the usage values." + }, + "limit": { + "type": "number", + "format": "double", + "description": "Maximum value for this metric." + }, + "currentValue": { + "type": "number", + "format": "double", + "description": "Current value for this metric." + }, + "nextResetTime": { + "type": "string", + "description": "Next reset time for current quota." + }, + "status": { + "type": "string", + "description": "Cognitive Services account quota usage status.", + "enum": [ + "Included", + "Blocked", + "InOverage", + "Unknown" + ], + "x-ms-enum": { + "name": "QuotaUsageStatus", + "modelAsString": true + } + } + }, + "description": "The usage data for a usage request." + }, + "MetricName": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The name of the metric." + }, + "localizedValue": { + "type": "string", + "description": "The friendly name of the metric." + } + }, + "description": "A metric name." + }, + "UnitType": { + "type": "string", + "description": "The unit of the metric.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond", + "Milliseconds" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "UnitType" + } + }, + "CheckSkuAvailabilityParameter": { + "type": "object", + "description": "Check SKU availability parameter.", + "properties": { + "skus": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuName" + }, + "description": "The SKU of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + } + }, + "required": [ + "skus", + "kind", + "type" + ] + }, + "SkuAvailabilityListResult": { + "type": "object", + "description": "Check SKU availability result list.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuAvailability" + }, + "x-ms-identifiers": [ + "skuName", + "type", + "kind" + ], + "description": "Check SKU availability result list." + } + } + }, + "SkuAvailability": { + "type": "object", + "description": "SKU availability.", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + }, + "skuName": { + "$ref": "#/definitions/SkuName", + "description": "The SKU of Cognitive Services account." + }, + "skuAvailable": { + "type": "boolean", + "description": "Indicates the given SKU is available or not." + }, + "reason": { + "type": "string", + "description": "Reason why the SKU is not available." + }, + "message": { + "type": "string", + "description": "Additional error message." + } + } + }, + "SkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SkuCapability." + }, + "value": { + "type": "string", + "description": "The value of the SkuCapability." + } + }, + "description": "SkuCapability indicates the capability of a certain feature." + }, + "CheckDomainAvailabilityParameter": { + "type": "object", + "description": "Check Domain availability parameter.", + "properties": { + "subdomainName": { + "type": "string", + "description": "The subdomain name to use." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + } + }, + "required": [ + "subdomainName", + "type" + ] + }, + "DomainAvailability": { + "type": "object", + "description": "Domain availability.", + "properties": { + "isSubdomainAvailable": { + "type": "boolean", + "description": "Indicates the given SKU is available or not." + }, + "reason": { + "type": "string", + "description": "Reason why the SKU is not available." + }, + "subdomainName": { + "type": "string", + "description": "The subdomain name to use." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + } + } + }, + "ResourceSkuRestrictions": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of restrictions.", + "enum": [ + "Location", + "Zone" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": false + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "restrictionInfo": { + "$ref": "#/definitions/ResourceSkuRestrictionInfo", + "description": "The information about the restriction where the SKU cannot be used." + }, + "reasonCode": { + "type": "string", + "description": "The reason for restriction.", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + }, + "description": "Describes restrictions of a SKU." + }, + "ResourceSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "name": { + "type": "string", + "description": "The name of SKU." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of Cognitive Services account." + }, + "kind": { + "type": "string", + "description": "The Kind of resources that are supported in this SKU." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available." + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + }, + "x-ms-identifiers": [], + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "description": "Describes an available Cognitive Services SKU." + }, + "ResourceSkuRestrictionInfo": { + "type": "object", + "properties": { + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Locations where the SKU is restricted" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is restricted." + } + } + }, + "ResourceSkuListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "x-ms-identifiers": [ + "resourceType", + "name", + "kind" + ], + "description": "The list of skus available for the subscription." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Skus." + } + }, + "required": [ + "value" + ], + "description": "The Get Skus operation response." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "defaultAction": { + "type": "string", + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkRuleAction", + "modelAsString": true + } + }, + "bypass": { + "type": "string", + "description": "Setting for trusted services.", + "enum": [ + "None", + "AzureServices" + ], + "x-ms-enum": { + "name": "ByPassSelection", + "modelAsString": true + } + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/IpRule" + }, + "x-ms-identifiers": [], + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility." + }, + "IpRule": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility from a specific ip address or ip range." + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + }, + "state": { + "type": "string", + "description": "Gets the state of virtual network rule." + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Ignore missing vnet service endpoint or not." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility from a specific virtual network." + }, + "Identity": { + "type": "object", + "description": "Identity for the resource.", + "properties": { + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "userAssignedIdentities": { + "description": "The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}", + "type": "object", + "additionalProperties": { + "description": "User-assigned managed identity.", + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "UserAssignedIdentity": { + "type": "object", + "description": "User-assigned managed identity.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "Azure Active Directory principal ID associated with this Identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "Client App Id associated with this identity." + } + } + }, + "Encryption": { + "type": "object", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.CognitiveServices", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": true + } + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVersion": { + "type": "string", + "description": "Version of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + }, + "identityClientId": { + "type": "string" + } + }, + "description": "Properties to configure keyVault Properties" + }, + "EncryptionScopeListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of EncryptionScope.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionScope" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of EncryptionScope." + } + }, + "description": "The list of cognitive services EncryptionScopes." + }, + "EncryptionScope": { + "type": "object", + "description": "Cognitive Services EncryptionScope", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "$ref": "#/definitions/EncryptionScopeProperties", + "description": "Properties of Cognitive Services EncryptionScope." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "EncryptionScopeProperties": { + "type": "object", + "description": "Properties to EncryptionScope", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the resource at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded", + "Canceled" + ], + "x-ms-enum": { + "name": "EncryptionScopeProvisioningState", + "modelAsString": true + } + }, + "state": { + "type": "string", + "description": "The encryptionScope state.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "EncryptionScopeState", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/Encryption" + } + ] + }, + "UserOwnedStorage": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Full resource id of a Microsoft.Storage resource." + }, + "identityClientId": { + "type": "string" + } + }, + "description": "The user owned storage for Cognitive Services account." + }, + "UserOwnedAmlWorkspace": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Full resource id of a AML workspace resource." + }, + "identityClientId": { + "type": "string", + "description": "Identity Client id of a AML workspace resource." + } + }, + "description": "The user owned AML workspace for Cognitive Services account." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "A list of private endpoint connections" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "The location of the private endpoint connection" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource group ids." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + }, + "displayName": { + "description": "The private link resource display name.", + "type": "string", + "readOnly": true + } + }, + "description": "Properties of a private link resource." + }, + "DeploymentListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Deployment.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Deployment" + }, + "description": "Gets the list of Cognitive Services accounts Deployment and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "Deployment": { + "description": "Cognitive Services account deployment.", + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "Properties of Cognitive Services account deployment." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "DeploymentProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the resource at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded", + "Disabled", + "Canceled" + ], + "x-ms-enum": { + "name": "DeploymentProvisioningState", + "modelAsString": true + } + }, + "model": { + "$ref": "#/definitions/DeploymentModel" + }, + "scaleSettings": { + "$ref": "#/definitions/DeploymentScaleSettings" + }, + "capabilities": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The capabilities." + }, + "raiPolicyName": { + "type": "string", + "description": "The name of RAI policy." + }, + "callRateLimit": { + "readOnly": true, + "$ref": "#/definitions/CallRateLimit" + }, + "rateLimits": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "versionUpgradeOption": { + "type": "string", + "description": "Deployment model version upgrade option.", + "enum": [ + "OnceNewDefaultVersionAvailable", + "OnceCurrentVersionExpired", + "NoAutoUpgrade" + ], + "x-ms-enum": { + "name": "DeploymentModelVersionUpgradeOption", + "modelAsString": true + } + }, + "dynamicThrottlingEnabled": { + "type": "boolean", + "description": "If the dynamic throttling is enabled.", + "readOnly": true + }, + "currentCapacity": { + "type": "integer", + "format": "int32", + "description": "The current capacity." + }, + "capacitySettings": { + "$ref": "#/definitions/DeploymentCapacitySettings" + } + }, + "description": "Properties of Cognitive Services account deployment." + }, + "DeploymentModel": { + "type": "object", + "properties": { + "format": { + "type": "string", + "description": "Deployment model format." + }, + "name": { + "type": "string", + "description": "Deployment model name." + }, + "version": { + "type": "string", + "description": "Optional. Deployment model version. If version is not specified, a default version will be assigned. The default version is different for different models and might change when there is new version available for a model. Default version for a model could be found from list models API." + }, + "source": { + "type": "string", + "description": "Optional. Deployment model source ARM resource ID." + }, + "callRateLimit": { + "readOnly": true, + "$ref": "#/definitions/CallRateLimit" + } + }, + "description": "Properties of Cognitive Services account deployment model." + }, + "DeploymentScaleSettings": { + "type": "object", + "properties": { + "scaleType": { + "type": "string", + "description": "Deployment scale type.", + "enum": [ + "Standard", + "Manual" + ], + "x-ms-enum": { + "name": "DeploymentScaleType", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Deployment capacity." + }, + "activeCapacity": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Deployment active capacity. This value might be different from `capacity` if customer recently updated `capacity`." + } + }, + "description": "Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku instead.)" + }, + "DeploymentSkuListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of deployment skus.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuResource" + }, + "x-ms-identifiers": [ + "resourceType" + ], + "description": "Gets the list of Cognitive Services accounts deployment skus." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "SkuResource": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type name." + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "capacity": { + "$ref": "#/definitions/CapacityConfig" + } + }, + "description": "Properties of Cognitive Services account resource sku resource properties." + }, + "CommitmentTierListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of CommitmentTier.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentTier" + }, + "x-ms-identifiers": [ + "kind", + "tier", + "skuName", + "hostingModel", + "planType" + ], + "description": "Gets the list of Cognitive Services accounts CommitmentTier and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "CommitmentTier": { + "description": "Cognitive Services account commitment tier.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "skuName": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "hostingModel": { + "$ref": "#/definitions/HostingModel", + "description": "Account hosting model." + }, + "planType": { + "type": "string", + "description": "Commitment plan type." + }, + "tier": { + "type": "string", + "description": "Commitment period commitment tier." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Commitment period commitment max count." + }, + "quota": { + "$ref": "#/definitions/CommitmentQuota" + }, + "cost": { + "$ref": "#/definitions/CommitmentCost" + } + } + }, + "CommitmentQuota": { + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "format": "int64", + "description": "Commitment quota quantity." + }, + "unit": { + "type": "string", + "description": "Commitment quota unit." + } + }, + "description": "Cognitive Services account commitment quota." + }, + "CommitmentCost": { + "type": "object", + "properties": { + "commitmentMeterId": { + "type": "string", + "description": "Commitment meter Id." + }, + "overageMeterId": { + "type": "string", + "description": "Overage meter Id." + } + }, + "description": "Cognitive Services account commitment cost." + }, + "CommitmentPlanListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of CommitmentPlan.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentPlan" + }, + "description": "Gets the list of Cognitive Services accounts CommitmentPlan and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "CommitmentPlan": { + "description": "Cognitive Services account commitment plan.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "properties": { + "$ref": "#/definitions/CommitmentPlanProperties", + "description": "Properties of Cognitive Services account commitment plan." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "CommitmentPlanProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the resource at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded", + "Canceled" + ], + "x-ms-enum": { + "name": "CommitmentPlanProvisioningState", + "modelAsString": true + } + }, + "commitmentPlanGuid": { + "type": "string", + "description": "Commitment plan guid." + }, + "hostingModel": { + "$ref": "#/definitions/HostingModel", + "description": "Account hosting model." + }, + "planType": { + "type": "string", + "description": "Commitment plan type." + }, + "current": { + "$ref": "#/definitions/CommitmentPeriod" + }, + "autoRenew": { + "type": "boolean", + "description": "AutoRenew commitment plan." + }, + "next": { + "$ref": "#/definitions/CommitmentPeriod" + }, + "last": { + "$ref": "#/definitions/CommitmentPeriod", + "readOnly": true + }, + "provisioningIssues": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of ProvisioningIssue." + } + }, + "description": "Properties of Cognitive Services account commitment plan." + }, + "HostingModel": { + "type": "string", + "description": "Account hosting model.", + "enum": [ + "Web", + "ConnectedContainer", + "DisconnectedContainer", + "ProvisionedWeb" + ], + "x-ms-enum": { + "name": "HostingModel", + "modelAsString": true + } + }, + "CommitmentPeriod": { + "type": "object", + "properties": { + "tier": { + "type": "string", + "description": "Commitment period commitment tier." + }, + "count": { + "type": "integer", + "format": "int32", + "description": "Commitment period commitment count." + }, + "quota": { + "$ref": "#/definitions/CommitmentQuota", + "readOnly": true + }, + "startDate": { + "type": "string", + "description": "Commitment period start date.", + "readOnly": true + }, + "endDate": { + "type": "string", + "description": "Commitment period end date.", + "readOnly": true + } + }, + "description": "Cognitive Services account commitment period." + }, + "ModelListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Model.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Model" + }, + "x-ms-identifiers": [ + "kind", + "skuName", + "/model/name", + "/model/format", + "/model/version" + ], + "description": "Gets the list of Cognitive Services accounts Model and their properties." + } + }, + "description": "The list of cognitive services models." + }, + "Model": { + "description": "Cognitive Services Model.", + "type": "object", + "properties": { + "model": { + "$ref": "#/definitions/AccountModel" + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the Model." + }, + "skuName": { + "$ref": "#/definitions/SkuName", + "description": "The SKU of the Model." + } + } + }, + "ModelSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the model SKU." + }, + "usageName": { + "type": "string", + "description": "The usage name of the model SKU." + }, + "deprecationDate": { + "type": "string", + "format": "date-time", + "description": "The datetime of deprecation of the model SKU." + }, + "capacity": { + "description": "The capacity configuration.", + "$ref": "#/definitions/CapacityConfig" + }, + "rateLimits": { + "type": "array", + "items": { + "$ref": "#/definitions/CallRateLimit" + }, + "x-ms-identifiers": [], + "description": "The list of rateLimit." + }, + "cost": { + "type": "array", + "items": { + "$ref": "#/definitions/BillingMeterInfo" + }, + "x-ms-identifiers": [], + "description": "The list of billing meter info." + } + }, + "description": "Describes an available Cognitive Services Model SKU." + }, + "AccountModelListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Model.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountModel" + }, + "x-ms-identifiers": [ + "name", + "format", + "version" + ], + "description": "Gets the list of Cognitive Services accounts Model and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountModel": { + "description": "Cognitive Services account Model.", + "type": "object", + "properties": { + "baseModel": { + "$ref": "#/definitions/DeploymentModel" + }, + "isDefaultVersion": { + "type": "boolean", + "description": "If the model is default version." + }, + "skus": { + "type": "array", + "items": { + "$ref": "#/definitions/ModelSku" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of Model Sku." + }, + "maxCapacity": { + "type": "integer", + "format": "int32", + "description": "The max capacity." + }, + "capabilities": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The capabilities." + }, + "finetuneCapabilities": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The capabilities for finetune models." + }, + "deprecation": { + "$ref": "#/definitions/ModelDeprecationInfo" + }, + "lifecycleStatus": { + "type": "string", + "enum": [ + "GenerallyAvailable", + "Preview" + ], + "x-ms-enum": { + "name": "ModelLifecycleStatus", + "modelAsString": true + }, + "description": "Model lifecycle status." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentModel" + } + ] + }, + "ModelDeprecationInfo": { + "description": "Cognitive Services account ModelDeprecationInfo.", + "type": "object", + "properties": { + "fineTune": { + "type": "string", + "description": "The datetime of deprecation of the fineTune Model." + }, + "inference": { + "type": "string", + "description": "The datetime of deprecation of the inference Model." + } + } + }, + "ModelCapacityListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of ModelSkuCapacity.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "type": "object", + "readOnly": true, + "properties": { + "location": { + "type": "string", + "description": "The location of the Model Sku Capacity." + }, + "properties": { + "$ref": "#/definitions/ModelSkuCapacityProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "x-ms-identifiers": [ + "model" + ], + "description": "Gets the list of Cognitive Services accounts ModelSkuCapacity." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "ModelSkuCapacityProperties": { + "description": "Cognitive Services account ModelSkuCapacity.", + "type": "object", + "properties": { + "model": { + "$ref": "#/definitions/DeploymentModel" + }, + "skuName": { + "type": "string" + }, + "availableCapacity": { + "type": "number", + "description": "The available capacity for deployment with this model and sku." + }, + "availableFinetuneCapacity": { + "type": "number", + "description": "The available capacity for deployment with a fine-tune version of this model and sku." + } + } + }, + "PatchResourceTags": { + "description": "The object being used to update tags of a resource, in general used for PATCH operations.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + } + }, + "PatchResourceTagsAndSku": { + "description": "The object being used to update tags and sku of a resource, in general used for PATCH operations.", + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PatchResourceTags" + } + ] + }, + "RaiMonitorConfig": { + "description": "Cognitive Services Rai Monitor Config.", + "type": "object", + "properties": { + "adxStorageResourceId": { + "type": "string", + "description": "The storage resource Id." + }, + "identityClientId": { + "type": "string", + "description": "The identity client Id to access the storage." + } + } + }, + "RaiPolicyListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of RaiPolicy.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RaiPolicy" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of RaiPolicy." + } + }, + "description": "The list of cognitive services RaiPolicies." + }, + "RaiPolicy": { + "description": "Cognitive Services RaiPolicy.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "$ref": "#/definitions/RaiPolicyProperties", + "description": "Properties of Cognitive Services RaiPolicy." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "RaiBlockListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of RaiBlocklists.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RaiBlocklist" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of RaiBlocklist." + } + }, + "description": "The list of cognitive services RAI Blocklists." + }, + "RaiBlocklist": { + "description": "Cognitive Services RaiBlocklist.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "$ref": "#/definitions/RaiBlocklistProperties", + "description": "Properties of Cognitive Services RaiBlocklist." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "RaiBlocklistProperties": { + "description": "RAI Custom Blocklist properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the block list." + } + } + }, + "RaiBlocklistItemProperties": { + "description": "RAI Custom Blocklist Item properties.", + "type": "object", + "properties": { + "pattern": { + "type": "string", + "description": "Pattern to match against." + }, + "isRegex": { + "type": "boolean", + "description": "If the pattern is a regex pattern." + } + } + }, + "RaiBlockListItemsResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of RaiBlocklistItems.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RaiBlocklistItem" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of RaiBlocklistItems." + } + }, + "description": "The list of cognitive services RAI Blocklist Items." + }, + "RaiBlocklistItemsBulkAddRequest": { + "description": "The list of Cognitive Services RaiBlocklist Items for batch add.", + "type": "array", + "items": { + "$ref": "#/definitions/RaiBlocklistItemBulkRequest" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "RaiBlocklistItemBulkRequest": { + "description": "The Cognitive Services RaiBlocklist Item request body.", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/RaiBlocklistItemProperties", + "description": "Properties of Cognitive Services RaiBlocklist Item." + } + } + }, + "RaiBlocklistItemsBulkDeleteRequest": { + "description": "The list of Cognitive Services RaiBlocklist Items Names.", + "type": "object", + "items": { + "type": "string" + } + }, + "RaiBlocklistItem": { + "description": "Cognitive Services RaiBlocklist Item.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "$ref": "#/definitions/RaiBlocklistItemProperties", + "description": "Properties of Cognitive Services RaiBlocklist Item." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "RaiPolicyProperties": { + "description": "Azure OpenAI Content Filters properties.", + "type": "object", + "properties": { + "policyType": { + "type": "string", + "enum": [ + "UserManaged", + "SystemManaged" + ], + "x-ms-enum": { + "name": "RaiPolicyType", + "modelAsString": true + }, + "description": "Content Filters policy type.", + "readOnly": true + }, + "mode": { + "type": "string", + "enum": [ + "Default", + "Deferred", + "Blocking" + ], + "x-ms-enum": { + "name": "RaiPolicyMode", + "modelAsString": true + }, + "description": "Content Filters mode." + }, + "basePolicyName": { + "type": "string", + "description": "Name of the base Content Filters." + }, + "promptBlocklists": { + "type": "array", + "items": { + "$ref": "#/definitions/RaiBlocklistConfig" + }, + "x-ms-identifiers": [ + "blocklistName" + ], + "description": "The list of blocklists for prompt." + }, + "completionBlocklists": { + "type": "array", + "items": { + "$ref": "#/definitions/RaiBlocklistConfig" + }, + "x-ms-identifiers": [ + "blocklistName" + ], + "description": "The list of blocklists for completion." + }, + "contentFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/RaiPolicyContentFilter" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of Content Filters." + } + } + }, + "RaiPolicyContentSource": { + "description": "Content source to apply the Content Filters.", + "type": "string", + "enum": [ + "Prompt", + "Completion" + ], + "x-ms-enum": { + "name": "RaiPolicyContentSource", + "modelAsString": true + } + }, + "RaiPolicyContentFilter": { + "description": "Azure OpenAI Content Filter.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of ContentFilter." + }, + "enabled": { + "type": "boolean", + "description": "If the ContentFilter is enabled." + }, + "allowedContentLevel": { + "description": "Level at which content is filtered.", + "type": "string", + "enum": [ + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "allowedContentLevel", + "modelAsString": true + } + }, + "blocking": { + "type": "boolean", + "description": "If blocking would occur." + }, + "source": { + "$ref": "#/definitions/RaiPolicyContentSource" + } + } + }, + "RaiBlocklistConfig": { + "description": "Azure OpenAI blocklist config.", + "type": "object", + "properties": { + "blocklistName": { + "type": "string", + "description": "Name of ContentFilter." + }, + "blocking": { + "type": "boolean", + "description": "If blocking would occur." + } + } + }, + "RaiContentFilterListResult": { + "description": "The list of Content Filters.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Content Filters.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RaiContentFilter" + }, + "x-ms-identifiers": [ + "policyName" + ], + "description": "The list of RaiContentFilter." + } + } + }, + "RaiContentFilter": { + "description": "Azure OpenAI Content Filter.", + "type": "object", + "properties": { + "policyName": { + "type": "string", + "description": "Name of Content Filter." + }, + "description": { + "type": "string", + "description": "Description of Content Filter." + }, + "filterType": { + "type": "string", + "description": "Content Filter type.", + "enum": [ + "MultiLevel", + "Switch" + ], + "x-ms-enum": { + "name": "RaiContentFilterType", + "modelAsString": true + } + } + } + }, + "NetworkSecurityPerimeterConfigurationList": { + "description": "A list of NSP configurations for an Cognitive Services account.", + "type": "object", + "properties": { + "value": { + "description": "Array of NSP configurations List Result for an Cognitive Services account.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + }, + "x-ms-identifiers": [ + "id" + ] + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string" + } + } + }, + "NetworkSecurityPerimeterConfiguration": { + "description": "NSP Configuration for an Cognitive Services account.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationProperties", + "description": "NSP Configuration properties." + } + } + }, + "NetworkSecurityPerimeterConfigurationProperties": { + "description": "The properties of an NSP Configuration.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "description": "Provisioning state of NetworkSecurityPerimeter configuration", + "type": "string" + }, + "provisioningIssues": { + "description": "List of Provisioning Issues", + "type": "array", + "items": { + "$ref": "#/definitions/ProvisioningIssue" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "networkSecurityPerimeter": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + }, + "resourceAssociation": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationAssociationInfo" + }, + "profile": { + "$ref": "#/definitions/NetworkSecurityPerimeterProfileInfo" + } + } + }, + "ProvisioningIssue": { + "type": "object", + "properties": { + "name": { + "description": "Name of the NSP provisioning issue", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ProvisioningIssueProperties" + } + } + }, + "ProvisioningIssueProperties": { + "description": "Properties of Provisioning Issue", + "type": "object", + "properties": { + "issueType": { + "description": "Type of Issue", + "type": "string" + }, + "severity": { + "description": "Severity of the issue", + "type": "string" + }, + "description": { + "description": "Description of the issue", + "type": "string" + }, + "suggestedResourceIds": { + "description": "IDs of resources that can be associated to the same perimeter to remediate the issue.", + "type": "array", + "items": { + "type": "string", + "format": "arm-id", + "description": "Fully qualified resource ID for the resource." + } + }, + "suggestedAccessRules": { + "description": "Optional array, suggested access rules", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeterAccessRule" + } + } + } + }, + "NetworkSecurityPerimeter": { + "description": "Information about a linked Network Security Perimeter", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified identifier of the resource", + "type": "string", + "format": "arm-id" + }, + "perimeterGuid": { + "description": "Guid of the resource", + "type": "string" + }, + "location": { + "description": "Location of the resource", + "type": "string" + } + } + }, + "NetworkSecurityPerimeterConfigurationAssociationInfo": { + "description": "Network Security Perimeter Configuration Association Information", + "type": "object", + "properties": { + "name": { + "description": "Name of the resource association", + "type": "string" + }, + "accessMode": { + "description": "Access Mode of the resource association", + "type": "string" + } + } + }, + "NetworkSecurityPerimeterProfileInfo": { + "description": "Network Security Perimeter Profile Information", + "type": "object", + "properties": { + "name": { + "description": "Name of the resource profile", + "type": "string" + }, + "accessRulesVersion": { + "description": "Access rules version of the resource profile", + "type": "integer", + "format": "int64" + }, + "accessRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeterAccessRule" + }, + "x-ms-identifiers": [] + }, + "diagnosticSettingsVersion": { + "description": "Current diagnostic settings version", + "type": "integer", + "format": "int64" + }, + "enabledLogCategories": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of enabled log categories" + } + } + }, + "NetworkSecurityPerimeterAccessRule": { + "description": "Network Security Perimeter Access Rule", + "type": "object", + "properties": { + "name": { + "description": "Network Security Perimeter Access Rule Name", + "type": "string" + }, + "properties": { + "description": "Properties of Network Security Perimeter Access Rule", + "$ref": "#/definitions/NetworkSecurityPerimeterAccessRuleProperties" + } + } + }, + "NetworkSecurityPerimeterAccessRuleProperties": { + "description": "The Properties of Network Security Perimeter Rule", + "type": "object", + "properties": { + "direction": { + "enum": [ + "Inbound", + "Outbound" + ], + "type": "string", + "description": "Direction of Access Rule", + "x-ms-enum": { + "name": "NspAccessRuleDirection", + "modelAsString": true + } + }, + "addressPrefixes": { + "description": "Address prefixes for inbound rules", + "type": "array", + "items": { + "description": "IP Address", + "type": "string" + } + }, + "subscriptions": { + "description": "Subscriptions for inbound rules", + "type": "array", + "items": { + "description": "Subscription for inbound rule", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified identifier of subscription", + "type": "string" + } + } + } + }, + "networkSecurityPerimeters": { + "description": "NetworkSecurityPerimeters for inbound rules", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain name for outbound rules", + "type": "array", + "items": { + "description": "Fully qualified domain name", + "type": "string" + } + } + } + }, + "DefenderForAISettingResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Defender for AI Settings.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DefenderForAISetting" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of Defender for AI Settings." + } + }, + "description": "The list of cognitive services Defender for AI Settings." + }, + "DefenderForAISetting": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DefenderForAISettingProperties" + } + }, + "description": "The Defender for AI resource." + }, + "DefenderForAISettingProperties": { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "DefenderForAISettingState", + "modelAsString": true + }, + "description": "Defender for AI state on the AI resource." + } + }, + "description": "The Defender for AI resource properties." + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of Cognitive Services account.", + "x-ms-parameter-location": "method" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "Resource location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "usageFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names).", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "deploymentNameParameter": { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deployment associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "raiPolicyNameParameter": { + "name": "raiPolicyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the RaiPolicy associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "raiBlocklistNameParameter": { + "name": "raiBlocklistName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the RaiBlocklist associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "raiBlocklistItemNameParameter": { + "name": "raiBlocklistItemName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the RaiBlocklist Item associated with the custom blocklist", + "x-ms-parameter-location": "method" + }, + "commitmentPlanNameParameter": { + "name": "commitmentPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the commitmentPlan associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "commitmentPlanResourceNameParameter": { + "name": "commitmentPlanName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the commitmentPlan associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "commitmentPlanAssociationNameParameter": { + "name": "commitmentPlanAssociationName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the commitment plan association with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "encryptionScopeNameParameter": { + "name": "encryptionScopeName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the encryptionScope associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "modelFormatFilterParameter": { + "name": "modelFormat", + "in": "query", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The format of the Model", + "x-ms-parameter-location": "method" + }, + "modelNameFilterParameter": { + "name": "modelName", + "in": "query", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Model", + "x-ms-parameter-location": "method" + }, + "modelVersionFilterParameter": { + "name": "modelVersion", + "in": "query", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The version of the Model", + "x-ms-parameter-location": "method" + }, + "defenderForAISettingNameParameter": { + "name": "defenderForAISettingName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the defender for AI setting.", + "x-ms-parameter-location": "method" + }, + "nspConfigurationNameParameter": { + "name": "nspConfigurationName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^.*$", + "description": "The name of the NSP Configuration.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/AddRaiBlocklistItems.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/AddRaiBlocklistItems.json new file mode 100644 index 000000000000..7f1df7c3f7a2 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/AddRaiBlocklistItems.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "myblocklist", + "raiBlocklistItems": [ + { + "name": "myblocklistitem1", + "properties": { + "pattern": "^[a-z0-9_-]{2,16}$", + "isRegex": true + } + }, + { + "name": "myblocklistitem2", + "properties": { + "pattern": "blockwords", + "isRegex": false + } + } + ] + }, + "responses": { + "200": { + "body": { + "name": "myblocklist", + "properties": { + "description": "Brief description of the blocklist" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckDomainAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckDomainAvailability.json new file mode 100644 index 000000000000..84f15355d821 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckDomainAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "location": "westus", + "parameters": { + "subdomainName": "contosodemoapp1", + "type": "Microsoft.CognitiveServices/accounts" + } + }, + "responses": { + "200": { + "body": { + "isSubdomainAvailable": false, + "reason": "Sub domain name 'contosodemoapp1' is not valid", + "subdomainName": "contosodemoapp1", + "type": "Microsoft.CognitiveServices/accounts" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckSkuAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckSkuAvailability.json new file mode 100644 index 000000000000..ebb0d36db892 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CheckSkuAvailability.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "location": "westus", + "parameters": { + "skus": [ + "S0" + ], + "kind": "Face", + "type": "Microsoft.CognitiveServices/accounts" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Face", + "type": "Microsoft.CognitiveServices/accounts", + "skuName": "S0", + "skuAvailable": true, + "reason": null, + "message": null + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccount.json new file mode 100644 index 000000000000..058aa532b9c4 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccount.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "testCreate1", + "account": { + "location": "West US", + "kind": "Emotion", + "sku": { + "name": "S0" + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyName": "KeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + }, + "keySource": "Microsoft.KeyVault" + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccountMin.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccountMin.json new file mode 100644 index 000000000000..deabc1918a46 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateAccountMin.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "testCreate1", + "account": { + "location": "West US", + "kind": "CognitiveServices", + "sku": { + "name": "S0" + }, + "properties": {}, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlan.json new file mode 100644 index 000000000000..c6fd63f79043 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlan.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlan": { + "location": "West US", + "kind": "SpeechServices", + "sku": { + "name": "S0" + }, + "properties": { + "hostingModel": "Web", + "planType": "STT", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/commitmentPlans", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "SpeechServices", + "properties": { + "provisioningState": "Succeeded", + "hostingModel": "Web", + "planType": "STT", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/commitmentPlans", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "SpeechServices", + "properties": { + "provisioningState": "Succeeded", + "hostingModel": "Web", + "planType": "STT", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlanAssociation.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlanAssociation.json new file mode 100644 index 000000000000..fa6811e00537 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/CreateSharedCommitmentPlanAssociation.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlanAssociationName": "commitmentPlanAssociationName", + "association": { + "properties": { + "accountId": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName/accountAssociations/commitmentPlanAssociationName", + "name": "commitmentPlanAssociationName", + "type": "Microsoft.CognitiveServices/commitmentPlans/accountAssociations", + "properties": { + "accountId": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName/accountAssociations/commitmentPlanAssociationName", + "name": "commitmentPlanAssociationName", + "type": "Microsoft.CognitiveServices/commitmentPlans/accountAssociations", + "properties": { + "accountId": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteAccount.json new file mode 100644 index 000000000000..770a47088ace --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteAccount.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "PropTest01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteCommitmentPlan.json new file mode 100644 index 000000000000..0d7f49352336 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteCommitmentPlan.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteDeployment.json new file mode 100644 index 000000000000..5294aa35635d --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteDeployment.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteEncryptionScope.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteEncryptionScope.json new file mode 100644 index 000000000000..7c9622b49ff3 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteEncryptionScope.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "encryptionScopeName": "encryptionScopeName" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeletePrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..e7329b834934 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeletePrivateEndpointConnection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2024-04-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklist.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklist.json new file mode 100644 index 000000000000..4ee93d80369d --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklist.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItem.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItem.json new file mode 100644 index 000000000000..fe3c2aa9e57a --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItem.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName", + "raiBlocklistItemName": "raiBlocklistItemName" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItems.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItems.json new file mode 100644 index 000000000000..bfb7dcef1833 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiBlocklistItems.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName", + "raiBlocklistItemsNames": [ + "myblocklistitem1", + "myblocklistitem2" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiPolicy.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiPolicy.json new file mode 100644 index 000000000000..7d6ea9afb9c2 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteRaiPolicy.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiPolicyName": "raiPolicyName" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlan.json new file mode 100644 index 000000000000..b8f5146a2242 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlan.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlanAssociation.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlanAssociation.json new file mode 100644 index 000000000000..726794d9d7ef --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/DeleteSharedCommitmentPlanAssociation.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlanAssociationName": "commitmentPlanAssociationName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetAccount.json new file mode 100644 index 000000000000..68cab5c1afbb --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetAccount.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetCommitmentPlan.json new file mode 100644 index 000000000000..eadbf658f693 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetCommitmentPlan.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDefenderForAISetting.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDefenderForAISetting.json new file mode 100644 index 000000000000..3ac090aabcc5 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDefenderForAISetting.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "defenderForAISettingName": "Default" + }, + "responses": { + "200": { + "body": { + "name": "Default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/defenderForAISettings/Default", + "type": "Microsoft.CognitiveServices/accounts/defenderForAISettings", + "properties": { + "state": "Enabled" + }, + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2022-04-03T04:41:33.937Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-04-03T04:41:33.937Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeletedAccount.json new file mode 100644 index 000000000000..765c8eb77598 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeletedAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.CognitiveServices/locations/westus/resourceGroups/myResourceGroup/deletedAccounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeployment.json new file mode 100644 index 000000000000..6cfe0614ddad --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetDeployment.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetEncryptionScope.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetEncryptionScope.json new file mode 100644 index 000000000000..474aff988993 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetEncryptionScope.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "encryptionScopeName": "encryptionScopeName" + }, + "responses": { + "200": { + "body": { + "name": "encryptionScopeName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/encryptionScopes/encryptionScopeName", + "type": "Microsoft.CognitiveServices/accounts/encryptionScopes", + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2023-06-08T06:35:08.0662558Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-06-08T06:35:08.0662558Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "state": "Enabled", + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "DevKeyWestUS2", + "keyVersion": "9f85549d7bf14ff4bf178c10d3bdca95", + "keyVaultUri": "https://devkvwestus2.vault.azure.net/", + "identityClientId": "00000000-0000-0000-0000-000000000000" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetNetworkSecurityPerimeterConfigurations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetNetworkSecurityPerimeterConfigurations.json new file mode 100644 index 000000000000..9135c1dfae61 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetNetworkSecurityPerimeterConfigurations.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "nspConfigurationName": "NSPConfigurationName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/networkSecurityPerimeterConfigurations", + "name": "networkSecurityPerimeterConfigurationName", + "type": "Microsoft.CognitiveServices/accounts/networkSecurityPerimeterConfigurations", + "properties": { + "provisioningState": "Succeeded", + "networkSecurityPerimeter": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.Network/networkSecurityPerimeters/perimeter", + "perimeterGuid": "00000000-0000-0000-0000-000000000000", + "location": "East US" + }, + "resourceAssociation": { + "name": "associationName", + "accessMode": "Enforced" + }, + "profile": { + "name": "profileName", + "accessRulesVersion": 1, + "accessRules": [ + { + "name": "ruleName", + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "148.0.0.0/8", + "152.4.6.0/24" + ] + } + } + ] + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetOperations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..82adfe45086d --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetOperations.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.CognitiveServices/accounts/read", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Read API Account", + "description": "Reads API accounts." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CognitiveServices/accounts/write", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Write API Account", + "description": "Writes API Accounts." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CognitiveServices/accounts/delete", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Delete API Account", + "description": "Deletes API accounts" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..a85ac1c454ee --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2024-04-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklist.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklist.json new file mode 100644 index 000000000000..72c092008289 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklist.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName" + }, + "responses": { + "200": { + "body": { + "name": "raiBlocklistName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName", + "properties": { + "description": "This is a sample blocklist" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklistItem.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklistItem.json new file mode 100644 index 000000000000..596d25d3d980 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiBlocklistItem.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName", + "raiBlocklistItemName": "raiBlocklistItemName" + }, + "responses": { + "200": { + "body": { + "name": "raiBlocklistItemName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName/raiBlocklistItems/raiBlocklistItemName", + "properties": { + "pattern": "Pattern To Block", + "isRegex": false + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiPolicy.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiPolicy.json new file mode 100644 index 000000000000..71b9955fe66e --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetRaiPolicy.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName", + "raiPolicyName": "raiPolicyName", + "effective": true + }, + "responses": { + "200": { + "body": { + "name": "raiPolicyName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiPolicies/raiPolicyName", + "properties": { + "basePolicyName": "112", + "contentFilters": [ + { + "name": "hate", + "allowedContentLevel": "Low", + "blocking": true + }, + { + "name": "sexual", + "allowedContentLevel": "Low" + }, + { + "name": "violence", + "enabled": false + }, + { + "name": "DefaultHateSpeechBlockList", + "enabled": false + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlan.json new file mode 100644 index 000000000000..16ba664d358a --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlan.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/commitmentPlans", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "SpeechServices", + "properties": { + "provisioningState": "Succeeded", + "hostingModel": "Web", + "planType": "STT", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlanAssociation.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlanAssociation.json new file mode 100644 index 000000000000..c2a37e30d3b6 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSharedCommitmentPlanAssociation.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlanAssociationName": "commitmentPlanAssociationName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName/accountAssociations/commitmentPlanAssociationName", + "name": "commitmentPlanAssociationName", + "type": "Microsoft.CognitiveServices/commitmentPlans/accountAssociations", + "properties": { + "accountId": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSkus.json new file mode 100644 index 000000000000..fa87a7a7cc0e --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetSkus.json @@ -0,0 +1,2164 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "f1c637e4-72ec-4f89-8d2b-0f933c036002" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Bing.Speech", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Bing.Speech", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S5", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S6", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S7", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S8", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.Autosuggest.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.CustomSearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.SpellCheck.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Bing.EntitySearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.EntitySearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "SpeakerRecognition", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "SpeakerRecognition", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomSpeech", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "CustomSpeech", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomVision.Training", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "CustomVision.Training", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomVision.Prediction", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "CustomVision.Prediction", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetUsages.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetUsages.json new file mode 100644 index 000000000000..8b96edfdf2be --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/GetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "5a4f5c2e-6983-4ccb-bd34-2196d5b5bbd3", + "resourceGroupName": "myResourceGroup", + "accountName": "TestUsage02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": { + "value": "Face.Transactions", + "localizedValue": "Face.Transactions" + }, + "status": "Included", + "currentValue": 3, + "limit": 30000, + "nextResetTime": "2018-03-28T09:33:51Z", + "quotaPeriod": "30.00:00:00", + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountModels.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountModels.json new file mode 100644 index 000000000000..fefaaf0e2d7d --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountModels.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "location": "location", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "baseModel": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "format": "OpenAI", + "name": "ada.1", + "version": "1", + "maxCapacity": 10, + "capabilities": { + "fineTune": "true" + }, + "deprecation": { + "fineTune": "2024-01-01T00:00:00Z", + "inference": "2024-01-01T00:00:00Z" + } + }, + { + "format": "OpenAI", + "name": "davinci", + "version": "1", + "maxCapacity": 10, + "capabilities": { + "fineTune": "true" + }, + "deprecation": { + "fineTune": "2024-01-01T00:00:00Z", + "inference": "2024-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsByResourceGroup.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsByResourceGroup.json new file mode 100644 index 000000000000..85eb3d925d60 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/TestPropertyWU2", + "name": "TestPropertyWU2", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Face", + "tags": {}, + "etag": "W/\"datetime'2017-04-07T04%3A32%3A38.9187216Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsBySubscription.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsBySubscription.json new file mode 100644 index 000000000000..4d5de17f5294 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListAccountsBySubscription.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S1" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-03-27T11%3A19%3A08.762494Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/CrisProd", + "name": "CrisProd", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "CRIS", + "tags": { + "can't delete it successfully": "v-yunjin" + }, + "etag": "W/\"datetime'2017-03-31T08%3A57%3A07.4499566Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/sts/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/rayrptest0308", + "name": "rayrptest0308", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Face", + "etag": "W/\"datetime'2017-03-27T11%3A15%3A23.5232645Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/raytest02", + "name": "raytest02", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-04T02%3A07%3A07.3957572Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklistItems.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklistItems.json new file mode 100644 index 000000000000..dd1372235901 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklistItems.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "raiBlocklistItemName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName/raiBlocklistItems/raiBlocklistItemName", + "properties": { + "pattern": "Pattern To Block", + "isRegex": false + } + }, + { + "name": "raiBlocklistItemName2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName/raiBlocklistItems/raiBlocklistItemName2", + "properties": { + "pattern": "Another Pattern To Block", + "isRegex": false + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklists.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklists.json new file mode 100644 index 000000000000..696f9f4a7dc5 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListBlocklists.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "raiBlocklistName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName", + "properties": { + "description": "This is a sample blocklist" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentPlans.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentPlans.json new file mode 100644 index 000000000000..7a3ccfa7a549 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentPlans.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentTiers.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentTiers.json new file mode 100644 index 000000000000..6784b2d32b04 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListCommitmentTiers.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "location": "location" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "TextAnalytics", + "skuName": "S", + "hostingModel": "Web", + "planType": "TA", + "tier": "T1", + "quota": { + "quantity": 1000000, + "unit": "Transaction" + }, + "cost": {} + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDefenderForAISetting.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDefenderForAISetting.json new file mode 100644 index 000000000000..e6e3eb96e984 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDefenderForAISetting.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/defenderForAISettings/Default", + "type": "Microsoft.CognitiveServices/accounts/defenderForAISettings", + "properties": { + "state": "Enabled" + }, + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2022-04-03T04:41:33.937Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-04-03T04:41:33.937Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeletedAccountsBySubscription.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeletedAccountsBySubscription.json new file mode 100644 index 000000000000..4d5de17f5294 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeletedAccountsBySubscription.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S1" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-03-27T11%3A19%3A08.762494Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/CrisProd", + "name": "CrisProd", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "CRIS", + "tags": { + "can't delete it successfully": "v-yunjin" + }, + "etag": "W/\"datetime'2017-03-31T08%3A57%3A07.4499566Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/sts/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/rayrptest0308", + "name": "rayrptest0308", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Face", + "etag": "W/\"datetime'2017-03-27T11%3A15%3A23.5232645Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/raytest02", + "name": "raytest02", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-04T02%3A07%3A07.3957572Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeploymentSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeploymentSkus.json new file mode 100644 index 000000000000..9f391045d283 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeploymentSkus.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.CognitiveServices/accounts/deployments", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "capacity": { + "minimum": 100, + "maximum": 1000, + "step": 100, + "default": 100, + "allowedValues": [ + 100, + 200 + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeployments.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeployments.json new file mode 100644 index 000000000000..a977303c3940 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListDeployments.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListEncryptionScopes.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListEncryptionScopes.json new file mode 100644 index 000000000000..ce04388dcf70 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListEncryptionScopes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "encryptionScopeName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/encryptionScopes/encryptionScopeName", + "type": "Microsoft.CognitiveServices/accounts/encryptionScopes", + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2023-06-08T06:35:08.0662558Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-06-08T06:35:08.0662558Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "state": "Enabled", + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "DevKeyWestUS2", + "keyVersion": "9f85549d7bf14ff4bf178c10d3bdca95", + "keyVaultUri": "https://devkvwestus2.vault.azure.net/", + "identityClientId": "00000000-0000-0000-0000-000000000000" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListKeys.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListKeys.json new file mode 100644 index 000000000000..0063fc3891d5 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "key1": "KEY1", + "key2": "KEY2" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationBasedModelCapacities.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationBasedModelCapacities.json new file mode 100644 index 000000000000..f9bfaf8fefff --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationBasedModelCapacities.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "WestUS", + "modelFormat": "OpenAI", + "modelName": "ada", + "modelVersion": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionContext.SubscriptionId}/providers/Microsoft.CognitiveServices/locations/WestUS/models/OpenAI.ada.1/skuCapacities/Standard", + "type": "Microsoft.CognitiveServices/locations/models/skuCapacities", + "name": "Standard", + "location": "WestUS", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "skuName": "Standard", + "availableCapacity": 300, + "availableFinetuneCapacity": 20 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationModels.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationModels.json new file mode 100644 index 000000000000..9438336254b9 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListLocationModels.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "OpenAI", + "skuName": "S0", + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1", + "maxCapacity": 3, + "capabilities": { + "fineTune": "true", + "inference": "false", + "scaleType": "Manual", + "completion": "true", + "search": "true", + "FineTuneTokensMaxValue": "37500000" + }, + "finetuneCapabilities": { + "fineTune": "true", + "inference": "false", + "scaleType": "Manual,Standard", + "completion": "true", + "search": "true", + "FineTuneTokensMaxValue": "37500000" + }, + "deprecation": { + "fineTune": "2024-01-01T00:00:00Z", + "inference": "2024-01-01T00:00:00Z" + }, + "lifecycleStatus": "Preview", + "systemData": { + "createdBy": "Microsoft", + "createdAt": "2021-10-07T00:00:00Z", + "lastModifiedBy": "Microsoft", + "lastModifiedAt": "2021-10-07T00:00:00Z" + }, + "skus": [ + { + "name": "provisioned", + "usageName": "OpenAI.Provisioned.Class1", + "capacity": { + "minimum": 100, + "maximum": 1000, + "step": 100, + "default": 100 + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListModelCapacities.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListModelCapacities.json new file mode 100644 index 000000000000..ed0b32a1b42b --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListModelCapacities.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "modelFormat": "OpenAI", + "modelName": "ada", + "modelVersion": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionContext.SubscriptionId}/providers/Microsoft.CognitiveServices/locations/WestUS/models/OpenAI.ada.1/skuCapacities/Standard", + "type": "Microsoft.CognitiveServices/locations/models/skuCapacities", + "name": "Standard", + "location": "WestUS", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "skuName": "Standard", + "availableCapacity": 300, + "availableFinetuneCapacity": 20 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListNetworkSecurityPerimeterConfigurations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListNetworkSecurityPerimeterConfigurations.json new file mode 100644 index 000000000000..e80c45c33ab4 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListNetworkSecurityPerimeterConfigurations.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/networkSecurityPerimeterConfigurations", + "name": "networkSecurityPerimeterConfigurationName", + "type": "Microsoft.CognitiveServices/accounts/networkSecurityPerimeterConfigurations", + "properties": { + "provisioningState": "Succeeded", + "networkSecurityPerimeter": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.Network/networkSecurityPerimeters/perimeter", + "perimeterGuid": "00000000-0000-0000-0000-000000000000", + "location": "East US" + }, + "resourceAssociation": { + "name": "associationName", + "accessMode": "Enforced" + }, + "profile": { + "name": "profileName", + "accessRulesVersion": 1, + "accessRules": [ + { + "name": "ruleName", + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "148.0.0.0/8", + "152.4.6.0/24" + ] + } + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateEndpointConnections.json new file mode 100644 index 000000000000..09f454632208 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateLinkResources.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateLinkResources.json new file mode 100644 index 000000000000..a4403f18b862 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.CognitiveServices/accounts/sto2527/privateLinkResources/account", + "name": "blob", + "type": "Microsoft.CognitiveServices/accounts/privateLinkResources", + "properties": { + "groupId": "account", + "requiredMembers": [ + "default" + ], + "requiredZoneNames": [ + "privatelink.cognitiveservices.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiContentFilters.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiContentFilters.json new file mode 100644 index 000000000000..bb93f525c4a8 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiContentFilters.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "policyName": "Hate", + "description": "Multi-level filter for hate speech.", + "filterType": "MultiLevel" + }, + { + "policyName": "Sexual", + "description": "Multi-level filter for sexual content.", + "filterType": "MultiLevel" + }, + { + "policyName": "HateSpeechPatterns", + "description": "Global blocklist for hate speech.", + "filterType": "Switch" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiPolicies.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiPolicies.json new file mode 100644 index 000000000000..30623cb1abf7 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListRaiPolicies.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "raiPolicyName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiPolicies/raiPolicyName", + "properties": { + "basePolicyName": "112", + "contentFilters": [ + { + "name": "hate", + "allowedContentLevel": "Low", + "blocking": true + }, + { + "name": "sexual", + "allowedContentLevel": "Low" + }, + { + "name": "violence", + "enabled": false + }, + { + "name": "DefaultHateSpeechBlockList", + "enabled": false + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlanAssociations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlanAssociations.json new file mode 100644 index 000000000000..248e6aa17902 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlanAssociations.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName/accountAssociations/accountAssociationName", + "name": "accountAssociationName", + "type": "Microsoft.CognitiveServices/commitmentPlans/accountAssociations", + "properties": { + "accountId": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansByResourceGroup.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansByResourceGroup.json new file mode 100644 index 000000000000..44cc043bc0dc --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/commitmentPlans", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "SpeechServices", + "properties": { + "provisioningState": "Succeeded", + "hostingModel": "Web", + "planType": "STT", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansBySubscription.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansBySubscription.json new file mode 100644 index 000000000000..7c5011817d07 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSharedCommitmentPlansBySubscription.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/commitmentPlans", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "SpeechServices", + "properties": { + "provisioningState": "Succeeded", + "hostingModel": "Web", + "planType": "STT", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSkus.json new file mode 100644 index 000000000000..a7a9f3b595ac --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListSkus.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.CognitiveServices/accounts", + "sku": { + "name": "F0", + "tier": "Free" + } + }, + { + "resourceType": "Microsoft.CognitiveServices/accounts", + "sku": { + "name": "S0", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListUsages.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListUsages.json new file mode 100644 index 000000000000..9433ff8c6ad0 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ListUsages.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": { + "value": "AccountCount", + "localizedValue": "Cognitive Services total account limit" + }, + "currentValue": 3, + "limit": 200, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PurgeDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PurgeDeletedAccount.json new file mode 100644 index 000000000000..643393b3365c --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PurgeDeletedAccount.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "PropTest01", + "location": "westus" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutCommitmentPlan.json new file mode 100644 index 000000000000..58b5f4fe6819 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutCommitmentPlan.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlan": { + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDefenderForAISetting.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDefenderForAISetting.json new file mode 100644 index 000000000000..7323470313d4 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDefenderForAISetting.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "defenderForAISettingName": "Default", + "defenderForAISettings": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "Default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/defenderForAISettings/Default", + "type": "Microsoft.CognitiveServices/accounts/defenderForAISettings", + "properties": { + "state": "Enabled" + }, + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2022-04-03T04:41:33.937Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-04-03T04:41:33.937Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"" + } + }, + "201": { + "body": { + "name": "Default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/defenderForAISettings/Default", + "type": "Microsoft.CognitiveServices/accounts/defenderForAISettings", + "properties": { + "state": "Enabled" + }, + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2022-04-03T04:41:33.937Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-04-03T04:41:33.937Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDeployment.json new file mode 100644 index 000000000000..58e97e048863 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutDeployment.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName", + "deployment": { + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutEncryptionScope.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutEncryptionScope.json new file mode 100644 index 000000000000..376753e1033b --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutEncryptionScope.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "encryptionScopeName": "encryptionScopeName", + "encryptionScope": { + "properties": { + "state": "Enabled", + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "DevKeyWestUS2", + "keyVersion": "9f85549d7bf14ff4bf178c10d3bdca95", + "keyVaultUri": "https://devkvwestus2.vault.azure.net/", + "identityClientId": "00000000-0000-0000-0000-000000000000" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "encryptionScopeName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/encryptionScopes/encryptionScopeName", + "type": "Microsoft.CognitiveServices/accounts/encryptionScopes", + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2023-06-08T06:35:08.0662558Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-06-08T06:35:08.0662558Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "state": "Enabled", + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "DevKeyWestUS2", + "keyVersion": "9f85549d7bf14ff4bf178c10d3bdca95", + "keyVaultUri": "https://devkvwestus2.vault.azure.net/", + "identityClientId": "00000000-0000-0000-0000-000000000000" + } + } + } + }, + "201": { + "body": { + "name": "encryptionScopeName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/encryptionScopes/encryptionScopeName", + "type": "Microsoft.CognitiveServices/accounts/encryptionScopes", + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2023-06-08T06:35:08.0662558Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-06-08T06:35:08.0662558Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "state": "Enabled", + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "DevKeyWestUS2", + "keyVersion": "9f85549d7bf14ff4bf178c10d3bdca95", + "keyVaultUri": "https://devkvwestus2.vault.azure.net/", + "identityClientId": "00000000-0000-0000-0000-000000000000" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..80cd16d6bd84 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutPrivateEndpointConnection.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2024-04-01-preview", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklist.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklist.json new file mode 100644 index 000000000000..17f11a87a8cf --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklist.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName", + "raiBlocklist": { + "properties": { + "description": "Basic blocklist description" + } + } + }, + "responses": { + "200": { + "body": { + "name": "raiBlocklistName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName", + "properties": { + "description": "Basic blocklist description" + } + } + }, + "201": { + "body": { + "name": "raiBlocklistName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiPolicies/raiBlocklistName", + "properties": { + "description": "Basic blocklist description" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklistItem.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklistItem.json new file mode 100644 index 000000000000..f400be452aac --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiBlocklistItem.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiBlocklistName": "raiBlocklistName", + "raiBlocklistItemName": "raiBlocklistItemName", + "raiBlocklistItem": { + "properties": { + "pattern": "Pattern To Block", + "isRegex": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "raiBlocklistItemName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName/raiBlocklistItems/raiBlocklistItemName", + "properties": { + "pattern": "Pattern To Block", + "isRegex": false + } + } + }, + "201": { + "body": { + "name": "raiBlocklistItemName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiBlocklists/raiBlocklistName/raiBlocklistItems/raiBlocklistItemName", + "properties": { + "pattern": "Pattern To Block", + "isRegex": false + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiPolicy.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiPolicy.json new file mode 100644 index 000000000000..6a207d994a48 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/PutRaiPolicy.json @@ -0,0 +1,298 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "raiPolicyName": "raiPolicyName", + "raiPolicy": { + "properties": { + "basePolicyName": "112", + "contentFilters": [ + { + "name": "hate", + "blocking": false, + "enabled": false, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "hate", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "sexual", + "blocking": true, + "enabled": true, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "sexual", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "selfharm", + "blocking": true, + "enabled": true, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "selfharm", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "violence", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Prompt" + }, + { + "name": "violence", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "jailbreak", + "blocking": true, + "source": "Prompt", + "enabled": true + }, + { + "name": "protected_material_text", + "blocking": true, + "source": "Completion", + "enabled": true + }, + { + "name": "protected_material_code", + "blocking": true, + "source": "Completion", + "enabled": true + }, + { + "name": "profanity", + "blocking": true, + "source": "Prompt", + "enabled": true + }, + { + "name": "profanity", + "blocking": true, + "source": "Completion", + "enabled": true + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "raiPolicyName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiPolicies/raiPolicyName", + "properties": { + "basePolicyName": "Microsoft.Default", + "contentFilters": [ + { + "name": "hate", + "blocking": false, + "enabled": false, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "hate", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "sexual", + "blocking": true, + "enabled": true, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "sexual", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "selfharm", + "blocking": true, + "enabled": true, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "selfharm", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "violence", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Prompt" + }, + { + "name": "violence", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "jailbreak", + "blocking": true, + "source": "Prompt", + "enabled": true + }, + { + "name": "protected_material_text", + "blocking": true, + "source": "Completion", + "enabled": true + }, + { + "name": "protected_material_code", + "blocking": true, + "source": "Completion", + "enabled": true + }, + { + "name": "profanity", + "blocking": true, + "source": "Prompt", + "enabled": true + }, + { + "name": "profanity", + "blocking": true, + "source": "Completion", + "enabled": true + } + ] + } + } + }, + "201": { + "body": { + "name": "raiPolicyName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/raiPolicies/raiPolicyName", + "properties": { + "basePolicyName": "Microsoft.Default", + "contentFilters": [ + { + "name": "hate", + "blocking": false, + "enabled": false, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "hate", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "sexual", + "blocking": true, + "enabled": true, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "sexual", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "selfharm", + "blocking": true, + "enabled": true, + "allowedContentLevel": "High", + "source": "Prompt" + }, + { + "name": "selfharm", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "violence", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Prompt" + }, + { + "name": "violence", + "blocking": true, + "enabled": true, + "allowedContentLevel": "Medium", + "source": "Completion" + }, + { + "name": "jailbreak", + "blocking": true, + "source": "Prompt", + "enabled": true + }, + { + "name": "protected_material_text", + "blocking": true, + "source": "Completion", + "enabled": true + }, + { + "name": "protected_material_code", + "blocking": true, + "source": "Completion", + "enabled": true + }, + { + "name": "profanity", + "blocking": true, + "source": "Prompt", + "enabled": true + }, + { + "name": "profanity", + "blocking": true, + "source": "Completion", + "enabled": true + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ReconcileNetworkSecurityPerimeterConfigurations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ReconcileNetworkSecurityPerimeterConfigurations.json new file mode 100644 index 000000000000..bcc16baae3e4 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/ReconcileNetworkSecurityPerimeterConfigurations.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "nspConfigurationName": "NSPConfigurationName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/networkSecurityPerimeterConfigurations", + "name": "networkSecurityPerimeterConfigurationName", + "type": "Microsoft.CognitiveServices/accounts/networkSecurityPerimeterConfigurations", + "properties": { + "provisioningState": "Succeeded", + "networkSecurityPerimeter": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.Network/networkSecurityPerimeters/perimeter", + "perimeterGuid": "00000000-0000-0000-0000-000000000000", + "location": "East US" + }, + "resourceAssociation": { + "name": "associationName", + "accessMode": "Enforced" + }, + "profile": { + "name": "profileName", + "accessRulesVersion": 1, + "accessRules": [ + { + "name": "ruleName", + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "148.0.0.0/8", + "152.4.6.0/24" + ] + } + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/RegenerateKey.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/RegenerateKey.json new file mode 100644 index 000000000000..43df8fe332cb --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount", + "parameters": { + "keyName": "Key2" + } + }, + "responses": { + "200": { + "body": { + "key1": "KEY1", + "key2": "KEY2" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateAccount.json new file mode 100644 index 000000000000..b3c9b03f4ada --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateAccount.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "bvttest", + "accountName": "bingSearch", + "account": { + "location": "global", + "sku": { + "name": "S2" + } + } + }, + "responses": { + "200": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/locations/global/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-04-01-preview", + "azure-AsyncOperation": "http://azure.async.operation/status" + }, + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S2" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-04-10T07%3A46%3A21.5618831Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/locations/global/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-04-01-preview", + "azure-AsyncOperation": "http://azure.async.operation/status" + }, + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S2" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-04-10T07%3A46%3A21.5618831Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDefenderForAISetting.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDefenderForAISetting.json new file mode 100644 index 000000000000..7e6806ada3cd --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDefenderForAISetting.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "defenderForAISettingName": "Default", + "defenderForAISettings": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "Default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/defenderForAISettings/Default", + "type": "Microsoft.CognitiveServices/accounts/defenderForAISettings", + "properties": { + "state": "Enabled" + }, + "systemData": { + "createdBy": "xxx@microsoft.com", + "createdByType": "User", + "createdAt": "2022-04-03T04:41:33.937Z", + "lastModifiedBy": "xxx@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-04-03T04:41:33.937Z" + }, + "etag": "\"00000000-0000-0000-0000-000000000000\"" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDeployment.json new file mode 100644 index 000000000000..8e0e09358f06 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateDeployment.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName", + "deployment": { + "sku": { + "name": "Standard", + "capacity": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateSharedCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateSharedCommitmentPlan.json new file mode 100644 index 000000000000..24a88d86f06a --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/preview/2024-04-01-preview/examples/UpdateSharedCommitmentPlan.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "resourceGroupName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlan": { + "tags": { + "name": "value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/commitmentPlans", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "SpeechServices", + "properties": { + "provisioningState": "Succeeded", + "hostingModel": "Web", + "planType": "STT", + "autoRenew": true, + "current": { + "tier": "T1" + } + }, + "tags": { + "name": "value" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md index 74d9c0770ec0..6fddeacdd2af 100644 --- a/specification/cognitiveservices/resource-manager/readme.md +++ b/specification/cognitiveservices/resource-manager/readme.md @@ -30,15 +30,23 @@ These are the global settings for the CognitiveServices API. ``` yaml openapi-type: arm -tag: package-preview-2023-10 +tag: package-preview-2024-04 ``` +### Tag: package-preview-2024-04 + +These settings apply only when `--tag=package-preview-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-04' +input-file: + - Microsoft.CognitiveServices/preview/2024-04-01-preview/cognitiveservices.json +``` ### Tag: package-preview-2023-10 These settings apply only when `--tag=package-preview-2023-10` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-10' +``` yaml $(tag) == 'package-preview-2023-10' input-file: - Microsoft.CognitiveServices/preview/2023-10-01-preview/cognitiveservices.json suppressions: From c002d49a20c1b76dd741571193e0c3f3ff98a808 Mon Sep 17 00:00:00 2001 From: Akshit Goyal Date: Mon, 13 May 2024 10:31:45 -0700 Subject: [PATCH 21/30] Update publicNetworkAccess to remove readOnly property as this is mutable (#29013) Co-authored-by: Akshit Goyal Co-authored-by: Roopesh Manda --- .../stable/2023-04-03/monitoringAccounts_API.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json b/specification/monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json index 34714889e771..102a35c46b6d 100644 --- a/specification/monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json +++ b/specification/monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json @@ -470,13 +470,14 @@ "Disabled" ], "type": "string", - "readOnly": true, "x-ms-enum": { "name": "PublicNetworkAccess", "modelAsString": true }, "x-ms-mutability": [ - "read" + "create", + "read", + "update" ] } } From a542d7d9867b3456a99b076b8040e35fd80c0425 Mon Sep 17 00:00:00 2001 From: James Duan Date: Mon, 13 May 2024 13:12:03 -0700 Subject: [PATCH 22/30] microsoft.chaos 2024-03-22-preview api (#28413) * Adds base for updating Microsoft.Chaos from version preview/2023-10-27-preview to version 2024-03-22-preview * Updates readme * Updates API version in new specs and examples * merge in 2024-01-01 stable branch additions * Add PublicNetworkAccess Field under privateAccesses resource (#28110) * Add new field for privateAccess * Fix reference * Fix PublicNetworkAccess definition * Fix PrettierCheck * Fix enum name * Rename enum property * Test my push permission * Adds base for updating Microsoft.Chaos from version preview/2023-10-27-preview to version 2024-03-22-preview * Updates readme * Updates API version in new specs and examples * merge in 2024-01-01 stable branch additions * Add PublicNetworkAccess Field under privateAccesses resource (#28110) * Add new field for privateAccess * Fix reference * Fix PublicNetworkAccess definition * Fix PrettierCheck * Fix enum name * Rename enum property * Convert two operations to be async (#28350) * Convert two operations to be async * Fix examples * Resolve comments * Change delete async operation status code * Added Patch Tags Endpoint to Private Link (#28296) * Added UpdatePrivateAccessTags endpoint * Addressing points for the PR review, it was about rename the new private link endpoint to PrivateAccesses_Patch, and changned the return code from 200 to 202 * Update the Private Access tags payload --------- Co-authored-by: Adi Hazeem * update readme * Resolved conflict * Resolved conflict * Resolved conflict * Fix linting error for PUT and DELETE (#28417) * Fix check error * move readonly flag * Added 200 response to PrivateAccess Tags Patch Endpoint (#28465) * Added 200 response to PrivateAccess Tags example --------- Co-authored-by: Adi Hazeem * add missing LRO header to open api spec * attempted model validation fix * fixed prop spelling mistake * prettier * remove unused example file * move common type definition to pick up from latest official typing file * move common type definition to pick up from latest official typing file (#28870) Co-authored-by: James Duan * fix id format in sample file * address review comments from Tim (#28991) Co-authored-by: James Duan --------- Co-authored-by: James Duan Co-authored-by: RayY-96 <138829346+RayY-96@users.noreply.github.com> Co-authored-by: Adi Hazeem Co-authored-by: Adi Hazeem Co-authored-by: Brent Rusinow (from Dev Box) --- .../2024-03-22-preview/capabilities.json | 262 ++++++ .../2024-03-22-preview/capabilityTypes.json | 131 +++ .../examples/CancelExperiment.json | 16 + .../CreateOrUpdateAPrivateAccess.json | 52 ++ ...PrivateAccess_WithPublicNetworkAccess.json | 56 ++ .../examples/CreateUpdateCapability.json | 35 + .../examples/CreateUpdateExperiment.json | 194 ++++ .../examples/CreateUpdateTarget.json | 45 + .../examples/DeleteAPrivateAccess.json | 17 + .../examples/DeleteCapability.json | 16 + .../examples/DeleteExperiment.json | 16 + .../examples/DeleteTarget.json | 15 + .../examples/DetailsExperiment.json | 64 ++ .../examples/GetAPrivateAccess.json | 26 + ...GetAPrivateAccess_WithPrivateEndpoint.json | 46 + .../examples/GetCapability.json | 32 + .../examples/GetCapabilityType.json | 30 + .../examples/GetExperiment.json | 74 ++ .../examples/GetExperimentExecution.json | 24 + .../examples/GetOperationStatus.json | 20 + .../examples/GetTarget.json | 35 + .../examples/GetTargetType.json | 28 + .../examples/ListCapabilities.json | 36 + .../examples/ListCapabilityTypes.json | 34 + .../examples/ListExperimentExecutions.json | 38 + .../ListExperimentsInAResourceGroup.json | 79 ++ .../ListExperimentsInASubscription.json | 78 ++ .../ListPrivateAccessInAResourceGroup.json | 59 ++ .../ListPrivateAccessInASubscription.json | 58 ++ .../examples/ListTargetTypes.json | 33 + .../examples/ListTargets.json | 40 + ...ccessPrivateEndpointConnection_Delete.json | 18 + ...teAccessPrivateEndpointConnection_Get.json | 29 + ...ndpointConnection_ListByPrivateAccess.json | 32 + ...PrivateAccessPrivateLinkResources_Get.json | 30 + .../examples/StartExperiment.json | 16 + .../examples/UpdateAPrivateAccessTags.json | 59 ++ .../examples/UpdateExperiment.json | 96 ++ .../2024-03-22-preview/experiments.json | 547 +++++++++++ .../2024-03-22-preview/operationStatuses.json | 118 +++ .../2024-03-22-preview/operations.json | 70 ++ .../2024-03-22-preview/privateAccesses.json | 562 +++++++++++ .../2024-03-22-preview/targetTypes.json | 125 +++ .../preview/2024-03-22-preview/targets.json | 250 +++++ .../types/capabilities.json | 79 ++ .../types/capabilityTypes.json | 120 +++ .../2024-03-22-preview/types/common.json | 196 ++++ .../2024-03-22-preview/types/experiments.json | 884 ++++++++++++++++++ .../types/privateAccesses.json | 125 +++ .../2024-03-22-preview/types/targetTypes.json | 83 ++ .../2024-03-22-preview/types/targets.json | 59 ++ .../chaos/resource-manager/readme.md | 79 +- 52 files changed, 5253 insertions(+), 13 deletions(-) create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilities.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilityTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CancelExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess_WithPublicNetworkAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateCapability.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateTarget.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteAPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteCapability.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteTarget.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DetailsExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapability.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapabilityType.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperimentExecution.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetOperationStatus.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTarget.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTargetType.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilities.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilityTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentExecutions.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInAResourceGroup.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInASubscription.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInAResourceGroup.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInASubscription.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargetTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargets.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateLinkResources_Get.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/StartExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateAPrivateAccessTags.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/experiments.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operations.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/privateAccesses.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targetTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targets.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilities.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilityTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/common.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/experiments.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/privateAccesses.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targetTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targets.json diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilities.json new file mode 100644 index 000000000000..206ac3505528 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilities.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-03-22-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities": { + "get": { + "description": "Get a list of Capability resources that extend a Target resource..", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capabilityListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capabilities that extend a virtual machine Target resource.": { + "$ref": "./examples/ListCapabilities.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}": { + "get": { + "description": "Get a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/GetCapability.json" + } + } + }, + "delete": { + "description": "Delete a Capability that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource deletion was successful." + }, + "204": { + "description": "Capability resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/DeleteCapability.json" + } + } + }, + "put": { + "description": "Create or update a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + }, + { + "name": "capability", + "description": "Capability resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/CreateUpdateCapability.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilityTypes.json new file mode 100644 index 000000000000..35d75617e1fe --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/capabilityTypes.json @@ -0,0 +1,131 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-03-22-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes": { + "get": { + "description": "Get a list of Capability Type resources for given Target Type and location.", + "tags": [ + "CapabilityTypes" + ], + "operationId": "CapabilityTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability Type resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capability Types for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/ListCapabilityTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes/{capabilityTypeName}": { + "get": { + "description": "Get a Capability Type resource for given Target Type and location.", + "tags": [ + "Capabilities" + ], + "operationId": "CapabilityTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityTypeName" + } + ], + "responses": { + "200": { + "description": "Capability Type resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability Type for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/GetCapabilityType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CancelExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CancelExperiment.json new file mode 100644 index 000000000000..2f04f0706b7d --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CancelExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-03-22-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess.json new file mode 100644 index 000000000000..e8f01e169b3d --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess", + "privateAccess": { + "location": "centraluseuap", + "properties": {} + } + }, + "responses": { + "201": { + "header": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "name": "myPrivateAccess", + "location": "centraluseuap", + "type": "Microsoft.Chaos/privateAccesses", + "properties": { + "provisioningState": "Creating" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + }, + "200": { + "header": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "name": "myPrivateAccess", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "properties": { + "provisioningState": "Updating" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess_WithPublicNetworkAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess_WithPublicNetworkAccess.json new file mode 100644 index 000000000000..d0e4da4e42ec --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateOrUpdateAPrivateAccess_WithPublicNetworkAccess.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess", + "privateAccess": { + "location": "centraluseuap", + "properties": { + "publicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "201": { + "header": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "name": "myPrivateAccess", + "location": "centraluseuap", + "type": "Microsoft.Chaos/privateAccesses", + "properties": { + "provisioningState": "Creating", + "publicNetworkAccess": "Enabled" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + }, + "200": { + "header": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "name": "myPrivateAccess", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "properties": { + "provisioningState": "Updating", + "publicNetworkAccess": "Enabled" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateCapability.json new file mode 100644 index 000000000000..b79884c4a74c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateCapability.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2024-03-22-preview", + "capability": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateExperiment.json new file mode 100644 index 000000000000..554453214389 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateExperiment.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-03-22-preview", + "experiment": { + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ], + "customerDataStorage": { + "storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Storage/storageAccounts/exampleStorage", + "blobContainerName": "azurechaosstudioexperiments" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/experiments/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "provisioningState": "Creating", + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ], + "customerDataStorage": { + "storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Storage/storageAccounts/exampleStorage", + "blobContainerName": "azurechaosstudioexperiments" + } + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + }, + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/experiments/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "provisioningState": "Updating", + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ], + "customerDataStorage": { + "storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Storage/storageAccounts/exampleStorage", + "blobContainerName": "azurechaosstudioexperiments" + } + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateTarget.json new file mode 100644 index 000000000000..ef588ca49c98 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/CreateUpdateTarget.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2024-03-22-preview", + "target": { + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteAPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteAPrivateAccess.json new file mode 100644 index 000000000000..3f166e77772e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteAPrivateAccess.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "privateAccessName": "myPrivateAccess", + "api-version": "2024-03-22-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + } + }, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteCapability.json new file mode 100644 index 000000000000..2a47fa40e4fc --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteCapability.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteExperiment.json new file mode 100644 index 000000000000..2f04f0706b7d --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-03-22-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteTarget.json new file mode 100644 index 000000000000..e747e9698755 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DeleteTarget.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DetailsExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DetailsExperiment.json new file mode 100644 index 000000000000..d26bf4051c50 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/DetailsExperiment.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "executionId": "f24500ad-744e-4a26-864b-b76199eac333", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.Chaos/experiments/executions/getExecutionDetails", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/f24500ad-744e-4a26-864b-b76199eac333/getExecutionDetails", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "lastActionAt": "2020-12-14T21:52:52.2552574Z", + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed", + "failureReason": "Dependency failure", + "runInformation": { + "steps": [ + { + "stepName": "FirstStep", + "stepId": "FirstStep", + "status": "failed", + "branches": [ + { + "branchName": "FirstBranch", + "branchId": "FirstBranch", + "status": "failed", + "actions": [ + { + "actionName": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors", + "actionId": "59499d33-6751-4b6e-a1f6-58f4d56a040a", + "status": "failed", + "startTime": "2020-12-14T13:56:13.6270153-08:00", + "endTime": "2020-12-14T13:56:13.6270153-08:00", + "targets": [ + { + "status": "succeeded", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "targetFailedTime": "2021-04-02T16:30:55+00:00", + "targetCompletedTime": "2021-04-02T17:30:55+00:00" + }, + { + "status": "failed", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "targetFailedTime": "2021-04-02T16:30:55+00:00", + "targetCompletedTime": "2021-04-02T17:30:55+00:00" + } + ] + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess.json new file mode 100644 index 000000000000..76193d176ceb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess", + "privateAccess": { + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "name": "myPrivateAccess", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json new file mode 100644 index 000000000000..6d508205a5ed --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess", + "privateAccess": { + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpointConnections": [ + { + "name": "myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ], + "publicNetworkAccess": "Enabled" + }, + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myprivateAccess", + "name": "myPrivateAccess", + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapability.json new file mode 100644 index 000000000000..9b6ab44420fe --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapability.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapabilityType.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapabilityType.json new file mode 100644 index 000000000000..5d47790fea36 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetCapabilityType.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "capabilityTypeName": "Shutdown-1.0", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "kind": "fault", + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "runtimeProperties": { + "kind": "continuous" + }, + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperiment.json new file mode 100644 index 000000000000..a3e69a37ba83 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperiment.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ], + "customerDataStorage": { + "storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleRG/providers/Microsoft.Storage/storageAccounts/exampleStorage", + "blobContainerName": "azurechaosstudioexperiments" + } + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperimentExecution.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperimentExecution.json new file mode 100644 index 000000000000..dbf497cd60e2 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetExperimentExecution.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "executionId": "f24500ad-744e-4a26-864b-b76199eac333", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/f24500ad-744e-4a26-864b-b76199eac333", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetOperationStatus.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetOperationStatus.json new file mode 100644 index 000000000000..b0dc6e06cb11 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetOperationStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "location": "West US", + "asyncOperationId": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/locations/westus/operationStatuses/713192d7-503f-477a-9cfe-4efc3ee2bd11", + "name": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "startTime": "2017-01-01T13:13:13.933Z", + "endTime": "2017-01-01T16:13:13.933Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTarget.json new file mode 100644 index 000000000000..8e8a4eb2bf5f --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTarget.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTargetType.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTargetType.json new file mode 100644 index 000000000000..8d9e89920249 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/GetTargetType.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-Agent", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilities.json new file mode 100644 index 000000000000..55b45a1b23db --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilities.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilityTypes.json new file mode 100644 index 000000000000..d253f5b98969 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListCapabilityTypes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "kind": "fault", + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "runtimeProperties": { + "kind": "continuous" + }, + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentExecutions.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentExecutions.json new file mode 100644 index 000000000000..69a379283905 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentExecutions.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed" + } + }, + { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/14d98367-52ef-4596-be4f-53fc81bbfc33", + "name": "14d98367-52ef-4596-be4f-53fc81bbfc33", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "success" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInAResourceGroup.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInAResourceGroup.json new file mode 100644 index 000000000000..421734e5c81b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInAResourceGroup.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "continuationToken": null, + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ], + "customerDataStorage": { + "storageAccountResourceId": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Storage/storageAccounts/exampleStorage", + "blobContainerName": "azurechaosstudioexperiments" + } + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInASubscription.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInASubscription.json new file mode 100644 index 000000000000..9c2d0fcf6fe6 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListExperimentsInASubscription.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "continuationToken": null, + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ], + "customerDataStorage": { + "storageAccountResourceId": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Storage/storageAccounts/exampleStorage", + "blobContainerName": "azurechaosstudioexperiments" + } + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInAResourceGroup.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInAResourceGroup.json new file mode 100644 index 000000000000..04fdcf486f48 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInAResourceGroup.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "continuationToken": null + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess2", + "name": "myPrivateAccess2", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + }, + { + "properties": { + "privateEndpointConnections": [ + { + "name": "myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ], + "publicNetworkAccess": "Enabled" + }, + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "name": "myPrivateAccess", + "systemData": { + "createdAt": "2021-08-01T00:00:00.0Z", + "lastModifiedAt": "2021-08-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInASubscription.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInASubscription.json new file mode 100644 index 000000000000..a2c7429fff1c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListPrivateAccessInASubscription.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "api-version": "2024-03-22-preview", + "continuationToken": null + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess2", + "name": "myPrivateAccess2", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + }, + { + "properties": { + "privateEndpointConnections": [ + { + "name": "myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup2/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup2/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ], + "publicNetworkAccess": "Disabled" + }, + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup2/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "name": "myPrivateAccess", + "systemData": { + "createdAt": "2021-08-01T00:00:00.0Z", + "lastModifiedAt": "2021-08-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/privateAccesses?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargetTypes.json new file mode 100644 index 000000000000..6bc63bee0434 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargetTypes.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "continuationToken": null, + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargets.json new file mode 100644 index 000000000000..2ded800105ac --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/ListTargets.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "continuationToken": null, + "api-version": "2024-03-22-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets?continuationToken=&api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json new file mode 100644 index 000000000000..dc53485ea5bb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "privateAccessName": "myPrivateAccess", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "api-version": "2024-03-22-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + } + }, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json new file mode 100644 index 000000000000..b48fdc43da65 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateEndpointConnection", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json new file mode 100644 index 000000000000..2a3eaca78c74 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateEndpointConnection", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateLinkResources_Get.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateLinkResources_Get.json new file mode 100644 index 000000000000..6b552c09fd8f --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/PrivateAccessPrivateLinkResources_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateLinkResources/agents", + "name": "agents", + "type": "Microsoft.Chaos/privateAccesses/privateLinkResources", + "properties": { + "groupId": "agents", + "requiredMembers": [ + "privateAccess_1" + ], + "requiredZoneNames": [ + "privatelink.agents.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/StartExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/StartExperiment.json new file mode 100644 index 000000000000..2f04f0706b7d --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/StartExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-03-22-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateAPrivateAccessTags.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateAPrivateAccessTags.json new file mode 100644 index 000000000000..fa5d4625bfda --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateAPrivateAccessTags.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-22-preview", + "privateAccessName": "myPrivateAccess", + "privateAccessPatch": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "name": "myPrivateAccess", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Updating" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + }, + "200": { + "headers": {}, + "body": { + "name": "myPrivateAccess", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateExperiment.json new file mode 100644 index 000000000000..b180b14f5092 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/examples/UpdateExperiment.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-03-22-preview", + "experiment": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentity/exampleUMI": {} + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-03-22-preview" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentity/exampleUMI": {} + }, + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ], + "customerDataStorage": { + "storageAccountResourceId": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Storage/storageAccounts/exampleStorage", + "blobContainerName": "azurechaosstudioexperiments" + } + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/experiments.json new file mode 100644 index 000000000000..a055039d0166 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/experiments.json @@ -0,0 +1,547 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-03-22-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a subscription.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a subscription.": { + "$ref": "./examples/ListExperimentsInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a resource group.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a resource group.": { + "$ref": "./examples/ListExperimentsInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}": { + "delete": { + "description": "Delete a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Asynchronous delete operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete a Experiment in a resource group.": { + "$ref": "./examples/DeleteExperiment.json" + } + } + }, + "get": { + "description": "Get a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "Experiment resource returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Experiment in a resource group.": { + "$ref": "./examples/GetExperiment.json" + } + } + }, + "put": { + "description": "Create or update a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "name": "experiment", + "description": "Experiment resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + } + ], + "responses": { + "201": { + "description": "Long running create experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "200": { + "description": "Long running replace experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create/update a Experiment in a resource group.": { + "$ref": "./examples/CreateUpdateExperiment.json" + } + } + }, + "patch": { + "description": "The operation to update an experiment.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Update", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "name": "experiment", + "in": "body", + "required": true, + "description": "Parameters supplied to the Update experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentUpdate" + } + } + ], + "responses": { + "202": { + "description": "Long running update operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Update an Experiment in a resource group.": { + "$ref": "./examples/UpdateExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/cancel": { + "post": { + "description": "Cancel a running Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Cancel", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Long running cancel operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Cancel a running Experiment.": { + "$ref": "./examples/CancelExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/start": { + "post": { + "description": "Start a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Start", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Long running start experiment operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Start a Experiment.": { + "$ref": "./examples/StartExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions": { + "get": { + "description": "Get a list of executions of an Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAllExecutions", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "List of executions returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all executions of an Experiment.": { + "$ref": "./examples/ListExperimentExecutions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions/{executionId}": { + "get": { + "description": "Get an execution of an Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_GetExecution", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/executionId" + } + ], + "responses": { + "200": { + "description": "Execution returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecution" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the execution of a Experiment.": { + "$ref": "./examples/GetExperimentExecution.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions/{executionId}/getExecutionDetails": { + "post": { + "description": "Execution details of an experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ExecutionDetails", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/executionId" + } + ], + "responses": { + "200": { + "description": "Get experiment execution details.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionDetails" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get experiment execution details.": { + "$ref": "./examples/DetailsExperiment.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json new file mode 100644 index 000000000000..4c24791fa440 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json @@ -0,0 +1,118 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-03-22-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{location}/operationStatuses/{asyncOperationId}": { + "get": { + "x-ms-examples": { + "Get specific operation status": { + "$ref": "./examples/GetOperationStatus.json" + } + }, + "tags": [ + "asyncOperations" + ], + "operationId": "OperationStatuses_Get", + "description": "Get the status of a long running azure asynchronous operation.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "asyncOperationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Operation status.", + "schema": { + "$ref": "#/definitions/operationStatus" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "operationStatus": { + "description": "The status of operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + ], + "properties": { + "id": { + "type": "string", + "description": "The operation Id." + }, + "name": { + "type": "string", + "description": "The operation name." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the operation." + }, + "status": { + "type": "string", + "description": "The status of the operation." + } + } + } + }, + "parameters": {} +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operations.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operations.json new file mode 100644 index 000000000000..b6cc741e56d5 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operations.json @@ -0,0 +1,70 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-03-22-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Chaos/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Get a list all available Operations.", + "operationId": "Operations_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "List of Operations returned if request was successful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": {} + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/privateAccesses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/privateAccesses.json new file mode 100644 index 000000000000..dfe80c348ac9 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/privateAccesses.json @@ -0,0 +1,562 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "version": "2024-03-22-preview", + "description": "Chaos Studio Private Accesses resource type." + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "PrivateAccesses" + } + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/privateAccesses": { + "get": { + "description": "Get a list of private access resources in a subscription.", + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Private Access resources returned if request was successful.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccessListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all private accesses in a subscription.": { + "$ref": "./examples/ListPrivateAccessInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses": { + "get": { + "description": "Get a list of private access resources in a resource group.", + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of private access resources returned if request was successful.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccessListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all private access in a resource group.": { + "$ref": "./examples/ListPrivateAccessInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_Get", + "description": "Get a private access resource", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a private access resource": { + "$ref": "./examples/GetAPrivateAccess.json" + }, + "Get a private access resource with private endpoint": { + "$ref": "./examples/GetAPrivateAccess_WithPrivateEndpoint.json" + } + } + }, + "put": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_CreateOrUpdate", + "description": "Create or update a private access", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + }, + { + "name": "privateAccess", + "description": "private access resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + } + ], + "responses": { + "201": { + "description": "Long running Private access resource created successfully.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + }, + "200": { + "description": "Private Access resource updated successfully.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or Update a private access resource": { + "$ref": "./examples/CreateOrUpdateAPrivateAccess.json" + }, + "Create or Update a private access resource with publicNetworkAccess": { + "$ref": "./examples/CreateOrUpdateAPrivateAccess_WithPublicNetworkAccess.json" + } + } + }, + "patch": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_Update", + "description": "Patch a private access tags", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + }, + { + "name": "privateAccessPatch", + "description": "private access resource's tags to be updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/privateAccessPatch" + } + } + ], + "responses": { + "202": { + "description": "The request to update the tags for the Private Access resource has been accepted for processing.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + }, + "headers": { + "Location": { + "type": "string" + } + } + }, + "200": { + "description": "The request to update the tags for the Private Access resource has been completed successfully.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Update a private access resource's tags": { + "$ref": "./examples/UpdateAPrivateAccessTags.json" + } + } + }, + "delete": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_Delete", + "description": "Delete a private access", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "202": { + "description": "Asynchronous delete operation.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "Deletion was successful." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a private access resource": { + "$ref": "./examples/DeleteAPrivateAccess.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_GetPrivateLinkResources", + "description": "Gets the private link resources possible under private access resource", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all possible private link resources under private access resource.": { + "$ref": "./examples/PrivateAccessPrivateLinkResources_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_GetAPrivateEndpointConnection", + "description": "Gets information about a private endpoint connection under a private access resource.", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get information about a private endpoint connection under a private access resource.": { + "$ref": "./examples/PrivateAccessPrivateEndpointConnection_Get.json" + } + } + }, + "delete": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_DeleteAPrivateEndpointConnection", + "description": "Deletes a private endpoint connection under a private access resource.", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "Asynchronous delete operation.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource is deleted already." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a private endpoint connection under a private access resource.": { + "$ref": "./examples/PrivateAccessPrivateEndpointConnection_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_ListPrivateEndpointConnections", + "description": "List information about private endpoint connections under a private access resource", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all private endpoint connections under a private access resource.": { + "$ref": "./examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "parameters": { + "PrivateAccessName": { + "name": "privateAccessName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[^<>%&:?#/\\\\]+$", + "minLength": 1, + "description": "The name of the private access resource that is being created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[^<>%&:?#/\\\\]+$", + "description": "The name of the private endpoint connection.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targetTypes.json new file mode 100644 index 000000000000..d6bac91b8c94 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targetTypes.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-03-22-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes": { + "get": { + "description": "Get a list of Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target Type resources returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Target Types for westus2 location.": { + "$ref": "./examples/ListTargetTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}": { + "get": { + "description": "Get a Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + } + ], + "responses": { + "200": { + "description": "Target Type resource returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target Type for westus2 location": { + "$ref": "./examples/GetTargetType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targets.json new file mode 100644 index 000000000000..536dd686ad4a --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/targets.json @@ -0,0 +1,250 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-03-22-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets": { + "get": { + "description": "Get a list of Target resources that extend a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target resources returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/targetListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Targets that extend a virtual machine resource.": { + "$ref": "./examples/ListTargets.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}": { + "get": { + "description": "Get a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target that extends a virtual machine resource.": { + "$ref": "./examples/GetTarget.json" + } + } + }, + "delete": { + "description": "Delete a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource deletion was successful." + }, + "204": { + "description": "Target resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Target that extends a virtual machine resource.": { + "$ref": "./examples/DeleteTarget.json" + } + } + }, + "put": { + "description": "Create or update a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "name": "target", + "description": "Target resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Target that extends a virtual machine resource.": { + "$ref": "./examples/CreateUpdateTarget.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilities.json new file mode 100644 index 000000000000..dccf8087250e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilities.json @@ -0,0 +1,79 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Types", + "version": "2024-03-22-preview" + }, + "paths": {}, + "definitions": { + "capability": { + "type": "object", + "description": "Model that represents a Capability resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of a capability resource.", + "$ref": "#/definitions/capabilityProperties", + "readOnly": true + } + } + }, + "capabilityProperties": { + "type": "object", + "description": "Model that represents the Capability properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability extends.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "capabilityListResult": { + "type": "object", + "description": "Model that represents a list of Capability resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capability" + }, + "description": "List of Capability resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilityTypes.json new file mode 100644 index 000000000000..7bf31608c81e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/capabilityTypes.json @@ -0,0 +1,120 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Metadata Types", + "version": "2024-03-22-preview" + }, + "paths": {}, + "definitions": { + "capabilityType": { + "type": "object", + "description": "Model that represents a Capability Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Location of the Capability Type resource." + }, + "properties": { + "description": "The properties of the capability type resource.", + "$ref": "#/definitions/capabilityTypeProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "capabilityTypeProperties": { + "type": "object", + "description": "Model that represents the Capability Type properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability Type extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability Type extends.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability Type parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "String of the kind of this Capability Type.", + "readOnly": true + }, + "azureRbacActions": { + "type": "array", + "description": "Control plane actions necessary to execute capability type.", + "items": { + "type": "string", + "description": "Control plane action necessary to execute capability type." + } + }, + "azureRbacDataActions": { + "type": "array", + "description": "Data plane actions necessary to execute capability type.", + "items": { + "type": "string", + "description": "Data plane action necessary to execute capability type." + } + }, + "runtimeProperties": { + "type": "object", + "description": "Runtime properties of this Capability Type.", + "properties": { + "kind": { + "type": "string", + "description": "String of the kind of the resource's action type (continuous or discrete).", + "readOnly": true + } + } + } + }, + "additionalProperties": false + }, + "capabilityTypeListResult": { + "type": "object", + "description": "Model that represents a list of Capability Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capabilityType" + }, + "description": "List of Capability Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/common.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/common.json new file mode 100644 index 000000000000..bc0aa63609c8 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/common.json @@ -0,0 +1,196 @@ +{ + "swagger": "2.0", + "info": { + "title": "Common Types", + "version": "2024-03-22-preview" + }, + "paths": {}, + "definitions": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "url": { + "type": "string", + "description": "String that represents a URL.", + "maxLength": 2048, + "x-nullable": false + }, + "urn": { + "type": "string", + "description": "String that represents a URN.", + "maxLength": 2048, + "x-nullable": false + }, + "urlNullable": { + "type": "string", + "description": "Optional string that represents a URL.", + "maxLength": 2048, + "x-nullable": true + }, + "provisioningState": { + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "type": "string", + "description": "Current provisioning state for a given Azure Chaos resource.", + "example": "Succeeded", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded" + }, + { + "value": "Failed" + }, + { + "value": "Canceled" + }, + { + "value": "Creating" + }, + { + "value": "Updating" + }, + { + "value": "Deleting" + } + ] + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "description": "String that sets the API version.", + "type": "string", + "in": "query", + "required": true, + "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}(|-preview)$", + "x-ms-parameter-location": "client" + }, + "subscriptionId": { + "name": "subscriptionId", + "description": "GUID that represents an Azure subscription ID.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "String that represents an Azure resource group.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]$", + "x-ms-parameter-location": "method" + }, + "parentResourcePath": { + "name": "parentResourcePath", + "description": "String that represents the path to a parent resource starting with the providers segment.", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "parentProviderNamespace": { + "name": "parentProviderNamespace", + "description": "String that represents a resource provider namespace.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9]+\\.[a-zA-Z0-9]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceType": { + "name": "parentResourceType", + "description": "String that represents a resource type.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceName": { + "name": "parentResourceName", + "description": "String that represents a resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "targetName": { + "name": "targetName", + "description": "String that represents a Target resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityName": { + "name": "capabilityName", + "description": "String that represents a Capability resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "targetTypeName": { + "name": "targetTypeName", + "description": "String that represents a Target Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityTypeName": { + "name": "capabilityTypeName", + "description": "String that represents a Capability Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "locationName": { + "name": "locationName", + "description": "String that represents a Location resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "continuationToken": { + "name": "continuationToken", + "description": "String that sets the continuation token.", + "type": "string", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/experiments.json new file mode 100644 index 000000000000..98eee3fa504b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/experiments.json @@ -0,0 +1,884 @@ +{ + "swagger": "2.0", + "info": { + "title": "Experiment Types", + "version": "2024-03-22-preview" + }, + "paths": {}, + "parameters": { + "experimentName": { + "name": "experimentName", + "description": "String that represents a Experiment resource name.", + "type": "string", + "in": "path", + "required": true, + "minLength": 1, + "pattern": "^[^<>%&:?#/\\\\]+$", + "x-ms-parameter-location": "method" + }, + "statusId": { + "name": "statusId", + "description": "GUID that represents a Experiment status.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "method" + }, + "runningFilter": { + "name": "running", + "description": "Optional value that indicates whether to filter results based on if the Experiment is currently running. If null, then the results will not be filtered.", + "type": "boolean", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + }, + "executionId": { + "name": "executionId", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "description": "GUID that represents a Experiment execution detail.", + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + } + }, + "definitions": { + "experimentIdentity": { + "type": "object", + "description": "The identity of the experiment resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + } + ], + "properties": { + "type": { + "description": "overwrite default enum for type to reflect experiment's support of only one identity", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + } + }, + "required": [ + "type" + ] + }, + "experiment": { + "type": "object", + "description": "Model that represents a Experiment resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/experimentIdentity" + }, + "properties": { + "description": "The properties of the experiment resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentProperties" + } + }, + "required": [ + "properties" + ] + }, + "experimentUpdate": { + "type": "object", + "description": "Describes an experiment update.", + "properties": { + "identity": { + "$ref": "#/definitions/experimentIdentity" + }, + "tags": { + "description": "The tags of the experiment resource.", + "$ref": "./common.json#/definitions/tags" + } + } + }, + "experimentProperties": { + "description": "Model that represents the Experiment properties model.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "./common.json#/definitions/provisioningState", + "description": "Most recent provisioning state for the given experiment resource.", + "readOnly": true + }, + "steps": { + "type": "array", + "items": { + "$ref": "#/definitions/step" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of steps.", + "minItems": 1, + "maxItems": 4 + }, + "selectors": { + "type": "array", + "items": { + "$ref": "#/definitions/selector" + }, + "description": "List of selectors.", + "minItems": 1 + }, + "customerDataStorage": { + "description": "Optional customer-managed Storage account where Experiment schema will be stored.", + "$ref": "#/definitions/customerDataStorageProperties", + "x-nullable": true + } + }, + "required": [ + "steps", + "selectors" + ], + "additionalProperties": false + }, + "customerDataStorageProperties": { + "description": "Model that represents the Customer Managed Storage for an Experiment.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "ARM Resource ID of the Storage account to use for Customer Data storage.", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + }, + "blobContainerName": { + "type": "string", + "description": "Name of the Azure Blob Storage container to use or create.", + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$", + "x-nullable": true + } + }, + "additionalProperties": false + }, + "experimentListResult": { + "type": "object", + "description": "Model that represents a list of Experiment resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experiment" + }, + "description": "List of Experiment resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment resources.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "step": { + "type": "object", + "description": "Model that represents a step in the Experiment resource.", + "properties": { + "name": { + "type": "string", + "description": "String of the step name.", + "minLength": 1 + }, + "branches": { + "type": "array", + "description": "List of branches.", + "items": { + "$ref": "#/definitions/branch" + }, + "x-ms-identifiers": [ + "name" + ], + "minItems": 1, + "maxItems": 9 + } + }, + "required": [ + "name", + "branches" + ], + "additionalProperties": false + }, + "branch": { + "type": "object", + "description": "Model that represents a branch in the step. 9 total per experiment.", + "properties": { + "name": { + "type": "string", + "description": "String of the branch name.", + "minLength": 1 + }, + "actions": { + "type": "array", + "description": "List of actions.", + "items": { + "$ref": "#/definitions/action" + }, + "x-ms-identifiers": [ + "name" + ], + "minItems": 1, + "maxItems": 9 + } + }, + "required": [ + "name", + "actions" + ], + "additionalProperties": false + }, + "action": { + "type": "object", + "description": "Model that represents the base action model. 9 total per experiment.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum that discriminates between action models." + }, + "name": { + "$ref": "./common.json#/definitions/urn", + "description": "String that represents a Capability URN." + } + }, + "required": [ + "type", + "name" + ] + }, + "delayAction": { + "type": "object", + "description": "Model that represents a delay action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$", + "format": "duration" + } + }, + "required": [ + "duration" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "delay" + }, + "discreteAction": { + "type": "object", + "description": "Model that represents a discrete action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "discrete" + }, + "continuousAction": { + "type": "object", + "description": "Model that represents a continuous action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$", + "format": "duration" + }, + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "duration", + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "continuous" + }, + "keyValuePair": { + "description": "A map to describe the settings of an action.", + "type": "object", + "properties": { + "key": { + "description": "The name of the setting for the action.", + "type": "string", + "minLength": 1 + }, + "value": { + "description": "The value of the setting for the action.", + "type": "string", + "minLength": 1 + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + }, + "selector": { + "type": "object", + "description": "Model that represents a selector in the Experiment resource.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum of the selector type.", + "enum": [ + "List", + "Query" + ], + "x-ms-enum": { + "name": "SelectorType", + "modelAsString": true + } + }, + "id": { + "type": "string", + "description": "String of the selector ID.", + "minLength": 1 + }, + "filter": { + "$ref": "#/definitions/filter" + } + }, + "required": [ + "type", + "id" + ], + "additionalProperties": true + }, + "listSelector": { + "type": "object", + "description": "Model that represents a list selector.", + "allOf": [ + { + "$ref": "#/definitions/selector" + } + ], + "properties": { + "targets": { + "type": "array", + "description": "List of Target references.", + "minItems": 1, + "maxItems": 50, + "items": { + "$ref": "#/definitions/targetReference" + } + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "List", + "required": [ + "targets" + ] + }, + "querySelector": { + "type": "object", + "description": "Model that represents a query selector.", + "allOf": [ + { + "$ref": "#/definitions/selector" + } + ], + "properties": { + "queryString": { + "type": "string", + "description": "Azure Resource Graph (ARG) Query Language query for target resources." + }, + "subscriptionIds": { + "type": "array", + "description": "Subscription id list to scope resource query.", + "items": { + "type": "string", + "description": "String of the availability zone ID." + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "Query", + "required": [ + "queryString", + "subscriptionIds" + ] + }, + "filter": { + "type": "object", + "description": "Model that represents available filter types that can be applied to a targets list.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum that discriminates between filter types. Currently only `Simple` type is supported.", + "enum": [ + "Simple" + ], + "x-ms-enum": { + "name": "FilterType", + "modelAsString": true + } + } + }, + "required": [ + "type" + ] + }, + "simpleFilter": { + "type": "object", + "description": "Model that represents a simple target filter.", + "allOf": [ + { + "$ref": "#/definitions/filter" + } + ], + "properties": { + "parameters": { + "$ref": "#/definitions/simpleFilterParameters" + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "Simple" + }, + "simpleFilterParameters": { + "description": "Model that represents the Simple filter parameters.", + "type": "object", + "properties": { + "zones": { + "type": "array", + "items": { + "type": "string", + "description": "String of the availability zone ID." + }, + "description": "List of Azure availability zones to filter targets by." + } + }, + "additionalProperties": false + }, + "targetReference": { + "type": "object", + "description": "Model that represents a reference to a Target in the selector.", + "properties": { + "type": { + "type": "string", + "description": "Enum of the Target reference type.", + "enum": [ + "ChaosTarget" + ], + "x-ms-enum": { + "name": "TargetReferenceType", + "modelAsString": true + } + }, + "id": { + "type": "string", + "description": "String of the resource ID of a Target resource.", + "pattern": "^\\/[Ss][Uu][Bb][Ss][Cc][Rr][Ii][Pp][Tt][Ii][Oo][Nn][Ss]\\/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\/[Rr][Ee][Ss][Oo][Uu][Rr][Cc][Ee][Gg][Rr][Oo][Uu][Pp][Ss]\\/[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\/[a-zA-Z0-9_\\-\\.]+\\/[a-zA-Z0-9_\\-\\.]+\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[Mm][Ii][Cc][Rr][Oo][Ss][Oo][Ff][Tt]\\.[Cc][Hh][Aa][Oo][Ss]\\/[Tt][Aa][Rr][Gg][Ee][Tt][Ss]\\/[a-zA-Z0-9_\\-\\.]+$" + } + }, + "required": [ + "type", + "id" + ], + "additionalProperties": false + }, + "experimentCancelOperationResult": { + "type": "object", + "description": "Model that represents the result of a cancel Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentStartOperationResult": { + "type": "object", + "description": "Model that represents the result of a start Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionActionTargetDetailsProperties": { + "description": "Model that represents the Experiment action target details properties model.", + "type": "object", + "properties": { + "status": { + "description": "The status of the execution.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target for the action.", + "type": "string", + "readOnly": true + }, + "targetFailedTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the failed date time.", + "readOnly": true, + "x-nullable": true + }, + "targetCompletedTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the completed date time.", + "readOnly": true, + "x-nullable": true + }, + "error": { + "description": "The error of the action.", + "type": "object", + "$ref": "#/definitions/experimentExecutionActionTargetDetailsError", + "readOnly": true, + "x-nullable": true + } + } + }, + "experimentExecutionActionTargetDetailsError": { + "type": "object", + "description": "Model that represents the Experiment action target details error model.", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message", + "type": "string", + "readOnly": true + } + } + }, + "experimentExecution": { + "type": "object", + "description": "Model that represents the execution of a Experiment.", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of experiment execution status.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentExecutionProperties" + } + }, + "additionalProperties": false + }, + "experimentExecutionProperties": { + "description": "Model that represents the execution properties of an Experiment.", + "type": "object", + "properties": { + "status": { + "description": "The status of the execution.", + "type": "string", + "readOnly": true + }, + "startedAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the start date time.", + "readOnly": true + }, + "stoppedAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the stop date time.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionListResult": { + "description": "Model that represents a list of Experiment executions and a link for pagination.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecution" + }, + "description": "List of Experiment executions.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment executions.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionDetails": { + "description": "Model that represents the execution details of an Experiment.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of the experiment execution details.", + "$ref": "#/definitions/experimentExecutionDetailsProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "experimentExecutionDetailsProperties": { + "description": "Model that represents the extended properties of an experiment execution.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/experimentExecutionProperties" + } + ], + "properties": { + "failureReason": { + "description": "The reason why the execution failed.", + "type": "string", + "readOnly": true + }, + "lastActionAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the last action date time.", + "readOnly": true + }, + "runInformation": { + "description": "The information of the experiment run.", + "type": "object", + "properties": { + "steps": { + "description": "The steps of the experiment run.", + "type": "array", + "items": { + "$ref": "#/definitions/stepStatus" + }, + "x-ms-identifiers": [ + "stepName" + ], + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "stepStatus": { + "description": "Model that represents the a list of branches and branch statuses.", + "type": "object", + "properties": { + "stepName": { + "description": "The name of the step.", + "type": "string", + "readOnly": true + }, + "stepId": { + "description": "The id of the step.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value of the status of the step.", + "type": "string", + "readOnly": true + }, + "branches": { + "description": "The array of branches.", + "type": "array", + "items": { + "$ref": "#/definitions/branchStatus" + }, + "x-ms-identifiers": [ + "branchName" + ], + "readOnly": true + } + } + }, + "branchStatus": { + "description": "Model that represents the a list of actions and action statuses.", + "type": "object", + "properties": { + "branchName": { + "description": "The name of the branch status.", + "type": "string", + "readOnly": true + }, + "branchId": { + "description": "The id of the branch status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the branch.", + "type": "string", + "readOnly": true + }, + "actions": { + "description": "The array of actions.", + "type": "array", + "items": { + "$ref": "#/definitions/actionStatus" + }, + "x-ms-identifiers": [ + "actionId" + ], + "readOnly": true + } + } + }, + "actionStatus": { + "type": "object", + "description": "Model that represents the an action and its status.", + "properties": { + "actionName": { + "description": "The name of the action status.", + "type": "string", + "readOnly": true + }, + "actionId": { + "description": "The id of the action status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the action.", + "type": "string", + "readOnly": true + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the start time of the action.", + "readOnly": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the end time of the action.", + "readOnly": true + }, + "targets": { + "description": "The array of targets.", + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecutionActionTargetDetailsProperties" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/privateAccesses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/privateAccesses.json new file mode 100644 index 000000000000..dec0e7c90a9e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/privateAccesses.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "title": "PrivateAccesses types", + "version": "2024-03-22-preview" + }, + "paths": {}, + "definitions": { + "PrivateAccess": { + "type": "object", + "description": "PrivateAccesses tracked resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateAccessProperties", + "x-ms-client-flatten": true, + "description": "The resource-specific properties for this resource." + } + }, + "required": [ + "properties" + ] + }, + "PrivateAccessProperties": { + "type": "object", + "description": "The properties of a private access resource", + "properties": { + "provisioningState": { + "$ref": "./common.json#/definitions/provisioningState", + "description": "Most recent provisioning state for the given privateAccess resource." + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "A readonly collection of private endpoint connection. Currently only one endpoint connection is supported." + }, + "publicNetworkAccess": { + "type": "string", + "description": "Public Network Access Control for PrivateAccess resource.", + "x-nullable": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessOption", + "modelAsString": true + } + } + } + }, + "privateAccessPatch": { + "type": "object", + "description": "Describes a private access update.", + "properties": { + "tags": { + "description": "The tags of the private access resource.", + "$ref": "./common.json#/definitions/tags" + } + } + }, + "PrivateAccessListResult": { + "type": "object", + "description": "Model that represents a list of private access resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateAccess" + }, + "description": "List of private access resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of private access resources.", + "readOnly": true + } + } + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots.", + "readOnly": true + } + }, + "description": "A list of private link resources" + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots.", + "readOnly": true + } + }, + "description": "A list of private link resources" + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targetTypes.json new file mode 100644 index 000000000000..d66af395b0b3 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targetTypes.json @@ -0,0 +1,83 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Metadata Types", + "version": "2024-03-22-preview" + }, + "paths": {}, + "definitions": { + "targetType": { + "type": "object", + "description": "Model that represents a Target Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Location of the Target Type resource." + }, + "properties": { + "description": "The properties of the target type resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetTypeProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetTypeProperties": { + "type": "object", + "description": "Model that represents the base Target Type properties model.", + "properties": { + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "propertiesSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Target Type properties.", + "readOnly": true + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource types this Target Type can extend.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "targetTypeListResult": { + "type": "object", + "description": "Model that represents a list of Target Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/targetType" + }, + "description": "List of Target Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targets.json new file mode 100644 index 000000000000..14ee2bc3512e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/types/targets.json @@ -0,0 +1,59 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Types", + "version": "2024-03-22-preview" + }, + "paths": {}, + "definitions": { + "target": { + "type": "object", + "description": "Model that represents a Target resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Location of the target resource." + }, + "properties": { + "description": "The properties of the target resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetProperties": { + "type": "object", + "description": "Model that represents the base Target properties model.", + "properties": {}, + "additionalProperties": true + }, + "targetListResult": { + "type": "object", + "description": "Model that represents a list of Target resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/target" + }, + "description": "List of Target resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/readme.md b/specification/chaos/resource-manager/readme.md index 57bfc9cd0ed6..d2cf20655c9e 100644 --- a/specification/chaos/resource-manager/readme.md +++ b/specification/chaos/resource-manager/readme.md @@ -24,18 +24,71 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the chaos. -```yaml +``` yaml title: ChaosManagementClient description: Chaos Management Client openapi-type: arm -tag: package-2024-01 +tag: package-preview-2024-03 ``` + +### Tag: package-preview-2024-03 + +These settings apply only when `--tag=package-preview-2024-03` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-03' +input-file: + - Microsoft.Chaos/preview/2024-03-22-preview/capabilities.json + - Microsoft.Chaos/preview/2024-03-22-preview/capabilityTypes.json + - Microsoft.Chaos/preview/2024-03-22-preview/experiments.json + - Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json + - Microsoft.Chaos/preview/2024-03-22-preview/operations.json + - Microsoft.Chaos/preview/2024-03-22-preview/privateAccesses.json + - Microsoft.Chaos/preview/2024-03-22-preview/targetTypes.json + - Microsoft.Chaos/preview/2024-03-22-preview/targets.json +directive: + - from: swagger-document + where: "$.definitions.action" + transform: > + $["x-ms-client-name"] = "ChaosExperimentAction"; + - from: swagger-document + where: "$.definitions.branch" + transform: > + $["x-ms-client-name"] = "ChaosExperimentBranch"; + - from: swagger-document + where: "$.definitions.step" + transform: > + $["x-ms-client-name"] = "ChaosExperimentStep"; + - from: swagger-document + where: "$.definitions.filter" + transform: > + $["x-ms-client-name"] = "ChaosTargetFilter"; + - from: swagger-document + where: "$.definitions.simpleFilter" + transform: > + $["x-ms-client-name"] = "ChaosTargetSimpleFilter"; + - from: swagger-document + where: "$.definitions.simpleFilterParameters" + transform: > + $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters"; + - from: swagger-document + where: "$.definitions.selector" + transform: > + $["x-ms-client-name"] = "ChaosTargetSelector"; + - from: swagger-document + where: "$.definitions.listSelector" + transform: > + $["x-ms-client-name"] = "ChaosTargetListSelector"; + - from: swagger-document + where: "$.definitions.querySelector" + transform: > + $["x-ms-client-name"] = "ChaosTargetQuerySelector"; +``` ### Tag: package-2024-01 These settings apply only when `--tag=package-2024-01` is specified on the command line. -```yaml $(tag) == 'package-2024-01' +``` yaml $(tag) == 'package-2024-01' input-file: - Microsoft.Chaos/stable/2024-01-01/capabilities.json - Microsoft.Chaos/stable/2024-01-01/capabilityTypes.json @@ -87,7 +140,7 @@ directive: These settings apply only when `--tag=package-2023-11` is specified on the command line. -```yaml $(tag) == 'package-2023-11' +``` yaml $(tag) == 'package-2023-11' input-file: - Microsoft.Chaos/stable/2023-11-01/capabilities.json - Microsoft.Chaos/stable/2023-11-01/capabilityTypes.json @@ -139,7 +192,7 @@ directive: These settings apply only when `--tag=package-preview-2023-10` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-10' +``` yaml $(tag) == 'package-preview-2023-10' input-file: - Microsoft.Chaos/preview/2023-10-27-preview/capabilities.json - Microsoft.Chaos/preview/2023-10-27-preview/capabilityTypes.json @@ -192,7 +245,7 @@ directive: These settings apply only when `--tag=package-preview-2023-09` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-09' +``` yaml $(tag) == 'package-preview-2023-09' input-file: - Microsoft.Chaos/preview/2023-09-01-preview/capabilities.json - Microsoft.Chaos/preview/2023-09-01-preview/capabilityTypes.json @@ -244,7 +297,7 @@ directive: These settings apply only when `--tag=package-2023-04-15-preview` is specified on the command line. -```yaml $(tag) == 'package-2023-04-15-preview' +``` yaml $(tag) == 'package-2023-04-15-preview' input-file: - Microsoft.Chaos/preview/2023-04-15-preview/capabilities.json - Microsoft.Chaos/preview/2023-04-15-preview/capabilityTypes.json @@ -258,7 +311,7 @@ input-file: These settings apply only when `--tag=package-2023-04-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2023-04-01-preview' +``` yaml $(tag) == 'package-2023-04-01-preview' input-file: - Microsoft.Chaos/preview/2023-04-01-preview/capabilities.json - Microsoft.Chaos/preview/2023-04-01-preview/capabilityTypes.json @@ -272,7 +325,7 @@ input-file: These settings apply only when `--tag=package-2022-10-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2022-10-01-preview' +``` yaml $(tag) == 'package-2022-10-01-preview' directive: - suppress: R3026 reason: Patch is not implemented in this version. @@ -292,7 +345,7 @@ input-file: These settings apply only when `--tag=package-2022-07-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2022-07-01-preview' +``` yaml $(tag) == 'package-2022-07-01-preview' directive: - suppress: R3026 reason: Patch is not implemented in this version. @@ -312,7 +365,7 @@ input-file: These settings apply only when `--tag=package-2021-09-15-preview` is specified on the command line. -```yaml $(tag) == 'package-2021-09-15-preview' +``` yaml $(tag) == 'package-2021-09-15-preview' directive: - suppress: R3026 reason: Patch is not implemented in this version. @@ -337,7 +390,7 @@ input-file: This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -```yaml $(swagger-to-sdk) +``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-java @@ -370,7 +423,7 @@ See configuration in [readme.csharp.md](./readme.csharp.md) ## Suppression -```yaml +``` yaml directive: - suppress: TopLevelResourcesListBySubscription where: $.definitions.target From f9fb4b105657cfcca25585b0708ff80ff113b005 Mon Sep 17 00:00:00 2001 From: Sneha Nagendra <47864291+snehanagendra@users.noreply.github.com> Date: Mon, 13 May 2024 13:52:29 -0700 Subject: [PATCH 23/30] devcenter microsoft.dev center 2024 05 01 preview (#27863) * Adds base for updating Microsoft.DevCenter from version preview/2023-10-01-preview to version 2024-05-01-preview * Updates readme * Updates API version in new specs and examples * add new changes for 2024-05-01-preview * run prettier and fix * Add directive to supress HostParametersValidation lintdiff errors * fix ntegerTypeMustHaveFormat lintdiff error * add suppression for OperationIdNounVerb * Add new API changes in TypeSpec * Generate the swagger from TypeSpec * fix tag name * Fix package tag for real * Add missing examples to TypeSpec folder * Recompile * Few more fixes * Some more fixes * Fix validateCustomizationTasksAction route to be LRO * Fix issues with examples. Remove a couple of old ones. Add two missing ones * Run linter * Validate Customization group route changes * Fix another example with accept header/param * Update visbility since the name can be used in post actions * Needs to be CREATE visibility per documentation * Rename timeout to timeoutInSeconds * Merge latest with main, fix package-lock issue, run npx tsv devcenter * Update comment as per PR suggestions * Change route * Remove regionality from supporting documents link, use Azure.Core.Foundations.Error object instead of our own * Configure param with query parameter traits * Add a missing space * Fix header, should actually be in response * Fix warnings due to missing doc descriptions * Run linter * use dayton's wording for tasks include parameter * Remove unncessary statusCode in response object * Remove unnecessary @action decorator since the action name is already included in the route --------- Co-authored-by: Sneha Nagendra Co-authored-by: Arber Hila Co-authored-by: Arber Hila --- .../devcenter/DevCenter/DevBox/models.tsp | 271 + .../devcenter/DevCenter/DevBox/routes.tsp | 187 + .../devcenter/DevCenter/DevCenter/routes.tsp | 29 + .../DevCenter/Environments/models.tsp | 65 + .../DevCenter/Environments/routes.tsp | 39 +- .../DevBoxes_CreateCustomizationGroup.json | 57 + .../DevBoxes_CreateDevBox.json | 74 + .../DevBoxes_DelayAction.json | 29 + .../DevBoxes_DelayActions.json | 51 + .../DevBoxes_DelayActionsWithError.json | 43 + .../DevBoxes_DeleteDevBox.json | 26 + .../DevBoxes_GetAction.json | 27 + .../DevBoxes_GetCustomizationGroup.json | 44 + ...Boxes_GetCustomizationTaskDefinitions.json | 36 + .../DevBoxes_GetCustomizationTaskLog.json | 18 + .../DevBoxes_GetDevBoxByUser.json | 40 + .../DevBoxes_GetOperation.json | 25 + .../2024-05-01-preview/DevBoxes_GetPool.json | 41 + .../DevBoxes_GetRemoteConnection.json | 18 + .../DevBoxes_GetScheduleByPool.json | 25 + .../DevBoxes_ListActions.json | 42 + .../DevBoxes_ListAllDevBoxes.json | 41 + .../DevBoxes_ListAllDevBoxesByUser.json | 43 + .../DevBoxes_ListCustomizationGroups.json | 68 + ...s_ListCustomizationGroupsWithoutTasks.json | 32 + ...CustomizationTaskDefinitionsByProject.json | 53 + .../DevBoxes_ListDevBoxesByUser.json | 43 + .../DevBoxes_ListOperations.json | 42 + .../DevBoxes_ListPools.json | 71 + .../DevBoxes_ListSchedulesByPool.json | 28 + .../DevBoxes_ListSchedulesByProject.json | 27 + .../DevBoxes_RepairDevBox.json | 25 + .../DevBoxes_RestartDevBox.json | 25 + .../DevBoxes_SkipAction.json | 15 + .../DevBoxes_StartDevBox.json | 25 + .../DevBoxes_StopDevBox.json | 26 + ...oxes_ValidateCustomizationTasksAction.json | 40 + ...teCustomizationTasksActionWithFailure.json | 53 + .../DevCenter_GetProject.json | 19 + .../DevCenter_GetProjectAbilities.json | 37 + .../DevCenter_ListProjects.json | 22 + ...vironments_CreateOrReplaceEnvironment.json | 43 + .../Environments_DelayAction.json | 27 + .../Environments_DeleteEnvironment.json | 26 + .../Environments_GetAction.json | 26 + .../Environments_GetCatalog.json | 18 + .../Environments_GetEnvironmentByUser.json | 30 + ...Environments_GetEnvironmentDefinition.json | 58 + ...ironments_GetEnvironmentTypeAbilities.json | 28 + .../Environments_GetEnvironmentTypes.json | 21 + .../Environments_GetLogsByOperation.json | 17 + .../Environments_GetOperation.json | 29 + .../Environments_GetOutputs.json | 51 + .../Environments_ListActions.json | 39 + .../Environments_ListCatalogsByProject.json | 21 + ...s_ListEnvironmentDefinitionsByCatalog.json | 69 + ...s_ListEnvironmentDefinitionsByProject.json | 68 + .../Environments_ListEnvironmentTypes.json | 24 + .../Environments_ListEnvironments.json | 32 + .../Environments_ListEnvironmentsByUser.json | 33 + .../Environments_ListOperations.json | 32 + .../Environments_PatchEnvironment.json | 32 + .../Environments_SkipAction.json | 21 + .../OperationStatuses_Get.json | 19 + specification/devcenter/DevCenter/main.tsp | 4 + .../devcenter/DevCenter/shared/models.tsp | 100 + .../preview/2024-05-01-preview/devcenter.json | 6957 +++++++++++++++++ .../DevBoxes_CreateCustomizationGroup.json | 57 + .../examples/DevBoxes_CreateDevBox.json | 74 + .../examples/DevBoxes_DelayAction.json | 29 + .../examples/DevBoxes_DelayActions.json | 51 + .../examples/DevBoxes_DeleteDevBox.json | 26 + .../examples/DevBoxes_GetAction.json | 27 + .../DevBoxes_GetCustomizationGroup.json | 44 + ...Boxes_GetCustomizationTaskDefinitions.json | 36 + .../DevBoxes_GetCustomizationTaskLog.json | 18 + .../examples/DevBoxes_GetDevBoxByUser.json | 40 + .../examples/DevBoxes_GetOperation.json | 25 + .../examples/DevBoxes_GetPool.json | 41 + .../DevBoxes_GetRemoteConnection.json | 18 + .../examples/DevBoxes_GetScheduleByPool.json | 25 + .../examples/DevBoxes_ListActions.json | 42 + .../examples/DevBoxes_ListAllDevBoxes.json | 41 + .../DevBoxes_ListAllDevBoxesByUser.json | 43 + .../DevBoxes_ListCustomizationGroups.json | 68 + ...CustomizationTaskDefinitionsByProject.json | 53 + .../examples/DevBoxes_ListDevBoxesByUser.json | 43 + .../examples/DevBoxes_ListOperations.json | 42 + .../examples/DevBoxes_ListPools.json | 71 + .../DevBoxes_ListSchedulesByPool.json | 28 + .../DevBoxes_ListSchedulesByProject.json | 27 + .../examples/DevBoxes_RepairDevBox.json | 25 + .../examples/DevBoxes_RestartDevBox.json | 25 + .../examples/DevBoxes_SkipAction.json | 15 + .../examples/DevBoxes_StartDevBox.json | 25 + .../examples/DevBoxes_StopDevBox.json | 26 + ...oxes_ValidateCustomizationTasksAction.json | 40 + .../examples/DevCenter_GetProject.json | 19 + .../DevCenter_GetProjectAbilities.json | 37 + .../examples/DevCenter_ListProjects.json | 22 + ...vironments_CreateOrReplaceEnvironment.json | 43 + .../examples/Environments_DelayAction.json | 27 + .../Environments_DeleteEnvironment.json | 26 + .../examples/Environments_GetAction.json | 26 + .../examples/Environments_GetCatalog.json | 18 + .../Environments_GetEnvironmentByUser.json | 30 + ...Environments_GetEnvironmentDefinition.json | 58 + ...ironments_GetEnvironmentTypeAbilities.json | 28 + .../Environments_GetEnvironmentTypes.json | 21 + .../Environments_GetLogsByOperation.json | 17 + .../examples/Environments_GetOperation.json | 29 + .../examples/Environments_GetOutputs.json | 51 + .../examples/Environments_ListActions.json | 39 + .../Environments_ListCatalogsByProject.json | 21 + ...s_ListEnvironmentDefinitionsByCatalog.json | 69 + ...s_ListEnvironmentDefinitionsByProject.json | 68 + .../Environments_ListEnvironmentTypes.json | 24 + .../Environments_ListEnvironments.json | 32 + .../Environments_ListEnvironmentsByUser.json | 33 + .../examples/Environments_ListOperations.json | 32 + .../Environments_PatchEnvironment.json | 32 + .../examples/Environments_SkipAction.json | 21 + .../examples/OperationStatuses_Get.json | 19 + .../stable/2023-04-01/devcenter.json | 8 +- .../stable/2024-02-01/devcenter.json | 8 +- specification/devcenter/data-plane/readme.md | 17 +- 126 files changed, 11737 insertions(+), 10 deletions(-) create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateCustomizationGroup.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateDevBox.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayAction.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActions.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActionsWithError.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DeleteDevBox.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetAction.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationGroup.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskDefinitions.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskLog.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetDevBoxByUser.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetOperation.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetPool.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetRemoteConnection.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetScheduleByPool.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListActions.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxes.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxesByUser.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroups.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroupsWithoutTasks.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationTaskDefinitionsByProject.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListDevBoxesByUser.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListOperations.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListPools.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByPool.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByProject.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RepairDevBox.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RestartDevBox.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_SkipAction.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StartDevBox.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StopDevBox.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksAction.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksActionWithFailure.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProject.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProjectAbilities.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_ListProjects.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_CreateOrReplaceEnvironment.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DelayAction.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DeleteEnvironment.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetAction.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetCatalog.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentByUser.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentDefinition.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypeAbilities.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypes.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetLogsByOperation.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOperation.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOutputs.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListActions.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListCatalogsByProject.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByCatalog.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByProject.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentTypes.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironments.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentsByUser.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListOperations.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_PatchEnvironment.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_SkipAction.json create mode 100644 specification/devcenter/DevCenter/examples/2024-05-01-preview/OperationStatuses_Get.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateCustomizationGroup.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateDevBox.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayAction.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayActions.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DeleteDevBox.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetAction.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationGroup.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskDefinitions.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskLog.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetDevBoxByUser.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetOperation.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetPool.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetRemoteConnection.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetScheduleByPool.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListActions.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxes.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxesByUser.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationGroups.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationTaskDefinitionsByProject.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListDevBoxesByUser.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListOperations.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListPools.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByPool.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByProject.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RepairDevBox.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RestartDevBox.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_SkipAction.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StartDevBox.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StopDevBox.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ValidateCustomizationTasksAction.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProject.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProjectAbilities.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_ListProjects.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_CreateOrReplaceEnvironment.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DelayAction.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DeleteEnvironment.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetAction.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetCatalog.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentByUser.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentDefinition.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypeAbilities.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypes.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetLogsByOperation.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOperation.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOutputs.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListActions.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListCatalogsByProject.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByCatalog.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByProject.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentTypes.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironments.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentsByUser.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListOperations.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_PatchEnvironment.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_SkipAction.json create mode 100644 specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/OperationStatuses_Get.json diff --git a/specification/devcenter/DevCenter/DevBox/models.tsp b/specification/devcenter/DevCenter/DevBox/models.tsp index 7ca5314fac08..93179a31531c 100644 --- a/specification/devcenter/DevCenter/DevBox/models.tsp +++ b/specification/devcenter/DevCenter/DevBox/models.tsp @@ -187,6 +187,78 @@ union ScheduledFrequency { string, } +@doc("Type of the parameter.") +@added(APIVersions.v2024_05_01_preview) +union CustomizationTaskDefinitionParameterType { + @doc("The parameter accepts a string value.") + string: "string", + + @doc("The parameter accepts a number value.") + number: "number", + + @doc("The parameter accepts a boolean value.") + boolean: "boolean", + + string, +} + +@doc("What account to run the task as.") +@added(APIVersions.v2024_05_01_preview) +union CustomizationTaskExecutionAccount { + @doc("The SYSTEM account.") + System: "System", + + @doc("The account of the signed in user.") + User: "User", + + string, +} + +@doc("Status of a customization task.") +@added(APIVersions.v2024_05_01_preview) +union CustomizationTaskStatus { + @doc("The task has not yet started.") + NotStarted: "NotStarted", + + @doc("The task is currently executing.") + Running: "Running", + + @doc("The task successfully executed.") + Succeeded: "Succeeded", + + @doc("The task reference is not valid.") + FailedValidation: "FailedValidation", + + @doc("he task was skipped.") + Skipped: "Skipped", + + @doc("The task timed out.") + TimedOut: "TimedOut", + + @doc("The task failed to execute.") + Failed: "Failed", + + @doc("The task is awaiting the User Account Control (UAC) prompt to be approved. (See more at: https://learn.microsoft.com/windows/security/application-security/application-control/user-account-control/)") + WaitingForUserInputUac: "WaitingForUserInputUac", + + @doc("The task is awaiting the user to connect to the Dev Box to execute.") + WaitingForUserSession: "WaitingForUserSession", + + string, +} + +@doc("Status of validating a list of customization tasks.") +@added(APIVersions.v2024_05_01_preview) +union CustomizationTaskListValidationStatus { + @doc("Validation succeeded.") + Succeeded: "Succeeded", + + @doc("Validation failed.") + Failed: "Failed", + + string, +} + @doc("The power states of a Dev Box.") union PowerState { @doc("The Dev Box power state is not known.") @@ -207,6 +279,36 @@ union PowerState { string, } +@doc("Status of validating a list of customization tasks.") +@added(APIVersions.v2024_05_01_preview) +union ListCustomizationGroupsIncludeProperty { + @doc("Include list of tasks in the response.") + tasks: "tasks", + + string, +} + +@doc("Status of a customization group.") +@added(APIVersions.v2024_05_01_preview) +union CustomizationGroupStatus { + @doc("The customization group has not yet started.") + NotStarted: "NotStarted", + + @doc("The customization group is currently executing.") + Running: "Running", + + @doc("All tasks in the customization group successfully executed.") + Succeeded: "Succeeded", + + @doc("At least one task in the customization group failed.") + Failed: "Failed", + + @doc("At least one task in the customization group failed validation.") + ValidationFailed: "ValidationFailed", + + string, +} + @doc("The type of action which will take place on a Dev Box.") union DevBoxActionType { @doc("The action will stop the Dev Box.") @@ -537,6 +639,10 @@ model RemoteConnection { @doc("Link to open a Remote Desktop session.") rdpConnectionUrl?: url; + + @added(APIVersions.v2024_05_01_preview) + @doc("Link to open a remote desktop session via a dev box's underlying Cloud PC (This will default to Windows App).") + cloudPcConnectionUrl?: url; } @doc("An action which will take place on a Dev Box.") @@ -682,3 +788,168 @@ model DevBoxRepairOperationResult { @doc("The result message associated with the repair operation.") message?: string; } + +@doc("The Customization Task list result.") +model CustomizationTaskDefinitionResult + is Azure.Core.Page; + +@doc("Represents a task to be used in customizing a Dev Box.") +@added(APIVersions.v2024_05_01_preview) +@resource("customizationTasks") +@parentResource(Catalog) +model CustomizationTaskDefinition { + @doc("Full name of the task: {catalogName}/{taskName}.") + @key("taskName") + @visibility("read") + name: string; + + @doc("Name of the catalog that the task belongs to.") + @visibility("read") + catalogName: string; + + @doc("The unique URI of the customization task.") + @visibility("read") + uri?: url; + + @doc("Description of the task.") + description?: string; + + @doc("Parameters for the task.") + parameters?: Record; +} + +@doc("Parameters for a customization task.") +@added(APIVersions.v2024_05_01_preview) +model CustomizationTaskDefinitionParameter { + @doc("Description of the parameter.") + description?: string; + + @doc("Type of the parameter.") + type: CustomizationTaskDefinitionParameterType; + + @doc("Whether or not the parameter is required.") + @visibility("read") + required?: boolean; + + @doc("Default value for the parameter.") + default?: string; + + @doc("Allowed values for the parameter.") + allowed?: string[]; +} + +@doc("Represents a list of tasks to apply to a Dev Box") +@added(APIVersions.v2024_05_01_preview) +model CustomizationTaskList { + @doc("Tasks to apply.") + tasks?: CustomizationTask[]; +} + +@doc("A customization task to run on a Dev Box.") +@resource("customizationTasks") +@parentResource(Catalog) +@added(APIVersions.v2024_05_01_preview) +model CustomizationTask { + @doc("Name of the task.") + @key("taskName") + @visibility("read", "create") + name: string; + + @doc("Parameters for the task.") + parameters?: Record; + + @doc("Display name to help differentiate multiple instances of the same task.") + displayName?: string; + + @doc("Timeout, in seconds. Overrides any timeout provided on the task definition.") + timeoutInSeconds?: int32; + + @doc("What account to run the task as.") + runAs?: CustomizationTaskExecutionAccount; + + @doc("ID of the task instance.") + @visibility("read") + id?: string; + + @doc("The unique URI for retrieving the task logs.") + @visibility("read") + logUri?: string; + + @doc("Status of the task.") + @visibility("read") + status?: CustomizationTaskStatus; + + @doc("Start time of the task.") + @visibility("read") + startTime?: utcDateTime; + + @doc("End time of the task.") + @visibility("read") + endTime?: utcDateTime; +} + +@doc("The operation result of validating a list of customization tasks.") +@added(APIVersions.v2024_05_01_preview) +model CustomizationTaskListValidationOperationResult { + ...OperationStatus; + + @doc("Outcome of validation.") + result?: CustomizationTaskListValidationResult; +} + +@doc("The result of validating a list of customization tasks.") +@added(APIVersions.v2024_05_01_preview) +model CustomizationTaskListValidationResult { + @doc("Outcome of validation.") + validationResult: CustomizationTaskListValidationStatus; + + @doc("List of validation errors. Absent if no errors.") + errors?: CustomizationTaskListValidationError[]; +} + +@doc("All of the validation errors for a customization task.") +@added(APIVersions.v2024_05_01_preview) +model CustomizationTaskListValidationError { + @doc("The customization task that the error is about.") + target: CustomizationTask; + + @doc("List of validation errors for the task.") + details: Azure.Core.Foundations.Error[]; +} + +@doc("Represents a list of tasks to apply to a Dev Box.") +@resource("customizationGroups") +@parentResource(DevBox) +@added(APIVersions.v2024_05_01_preview) +model CustomizationGroup { + @doc(""" + Tasks to apply. Note by default tasks are excluded from the response when + listing customization groups. To include them, use the `include=tasks` query + parameter. + """) + tasks?: CustomizationTask[]; + + @doc("The unique URI of the customization group.") + @visibility("read") + uri?: string; + + @doc("Name of the customization group.") + @key("customizationGroupName") + @minLength(3) + @maxLength(63) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @visibility("read") + name: string; + + @doc("Status of the customization group.") + @visibility("read") + status?: CustomizationGroupStatus; + + @doc("Start time of the customization group.") + @visibility("read") + startTime?: utcDateTime; + + @doc("End time of the customization group.") + @visibility("read") + endTime?: utcDateTime; +} diff --git a/specification/devcenter/DevCenter/DevBox/routes.tsp b/specification/devcenter/DevCenter/DevBox/routes.tsp index 9c90be75f861..1d84033630ad 100644 --- a/specification/devcenter/DevCenter/DevBox/routes.tsp +++ b/specification/devcenter/DevCenter/DevBox/routes.tsp @@ -4,6 +4,7 @@ import "./models.tsp"; import "../shared/routes.tsp"; using Azure.Core; +using Azure.Core.Traits; using TypeSpec.Rest; using TypeSpec.Http; using TypeSpec.Versioning; @@ -263,6 +264,192 @@ interface DevBoxes { OperationStatus >; + @doc(""" + Lists customization groups on the Dev Box. Listed customization groups exclude + task information unless specified via the include parameter. + """) + @added(APIVersions.v2024_05_01_preview) + listCustomizationGroups is StandardResourceOperations.ResourceList< + CustomizationGroup, + QueryParametersTrait<{ + @doc("Optional query parameter to specify what properties should be included in the response.") + @query + include?: ListCustomizationGroupsIncludeProperty; + }> + >; + + @doc(""" + Gets a customization group. + """) + @added(APIVersions.v2024_05_01_preview) + getCustomizationGroup is StandardResourceOperations.ResourceRead; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Standard operations produce wrong swagger" + // The standard operation names the body as resource, so the generated swagger has parameter + // { + // "name": "resource", + // "in": "body", + // }, + // instead of the desired + // { + // "name": "body", + // "in": "body", + // } + @doc("Applies customizations to the Dev Box.") + @put + @route("/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups/{customizationGroupName}") + @added(APIVersions.v2024_05_01_preview) + createCustomizationGroup is Azure.Core.Foundations.Operation< + { + @doc("The DevCenter Project upon which to execute operations.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + projectName: string; + + @doc(""" + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) + @maxLength(36) + @minLength(2) + @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") + @path + userId: string; + + @doc("The name of a Dev Box.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + devBoxName: string; + + @doc("A customization group name.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + customizationGroupName: string; + + @doc("Represents the body request of a Dev Box creation. Dev Box Pool name is required. Optionally set the owner of the Dev Box as local administrator") + @body + body: CustomizationGroup; + }, + CustomizationGroup + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No model for this." + @doc("Gets the log for a customization task.") + @route("/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups/{customizationGroupName}/logs/{customizationTaskId}") + @get + @added(APIVersions.v2024_05_01_preview) + getCustomizationTaskLog is Azure.Core.Foundations.Operation< + { + @doc("The DevCenter Project upon which to execute operations.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + projectName: string; + + @doc(""" + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) + @maxLength(36) + @minLength(2) + @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") + @path + userId: string; + + @doc("The name of a Dev Box.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + devBoxName: string; + + @doc("A customization group name.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + customizationGroupName: string; + + @doc("A customization task ID.") + @maxLength(36) + @minLength(36) + @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$") + @path + customizationTaskId: string; + }, + { + @doc("Set producer to text/plain") + @header + contentType: "text/plain"; + + @body + body: string; + } + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Standard operations produce route with /catalogs, but we only allow list on /projects" + @doc("Lists all customization tasks available to the project.") + @route("/projects/{projectName}/customizationTasks") + @get + @added(APIVersions.v2024_05_01_preview) + listCustomizationTaskDefinitionsByProject is Azure.Core.Foundations.Operation< + { + @doc("The DevCenter Project upon which to execute operations.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + projectName: string; + }, + CustomizationTaskDefinitionResult + >; + + @doc("Gets a customization task.") + @added(APIVersions.v2024_05_01_preview) + getCustomizationTaskDefinitions is StandardResourceOperations.ResourceRead; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "StandardOperations produces route on an specific customizationTask, but we want it on the group" + @doc("Validates a list of customization tasks.") + @route("/projects/{projectName}/customizationTasks:validateGroup") + @pollingOperation(OperationStatuses.get) + @added(APIVersions.v2024_05_01_preview) + validateCustomizationTasksAction is Azure.Core.Foundations.Operation< + { + @doc("The DevCenter Project upon which to execute operations.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + projectName: string; + + @doc("Customization tasks to validate.") + @body + body: CustomizationTaskList; + }, + { + @statusCode + statusCode: 202; + + @header("Location") + location: string; + + @pollingLocation + @header("Operation-Location") + operationLocation: string; + + @body + @added(APIVersions.v2024_05_01_preview) + body: CustomizationTaskListValidationOperationResult; + } + >; + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "can not be represeted by using stand operations" //There is no @key for RemoteConnection model @doc("Gets RDP Connection info.") diff --git a/specification/devcenter/DevCenter/DevCenter/routes.tsp b/specification/devcenter/DevCenter/DevCenter/routes.tsp index 82c4a9e306fe..8bbdeab5cd1d 100644 --- a/specification/devcenter/DevCenter/DevCenter/routes.tsp +++ b/specification/devcenter/DevCenter/DevCenter/routes.tsp @@ -5,6 +5,7 @@ import "../shared/models.tsp"; using Azure.Core; using TypeSpec.Rest; using TypeSpec.Http; +using TypeSpec.Versioning; namespace DevCenterService; @@ -14,4 +15,32 @@ interface DevCenter { @doc("Gets a project.") getProject is StandardResourceOperations.ResourceRead; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "no @key for ProjectAbility model" + //There is no @key for ProjectAbility model + @doc("Gets the signed-in user's permitted abilities in a project.") + @get + @route("/projects/{projectName}/users/{userId}/abilities") + @added(APIVersions.v2024_05_01_preview) + getProjectAbilities is Azure.Core.Foundations.Operation< + { + @doc("The DevCenter Project upon which to execute operations.") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$") + @path + projectName: string; + + @doc(""" + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) + @maxLength(36) + @minLength(2) + @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") + @path + userId: string; + }, + ProjectAbilities + >; } diff --git a/specification/devcenter/DevCenter/Environments/models.tsp b/specification/devcenter/DevCenter/Environments/models.tsp index 04a26edcade8..42d07d34e076 100644 --- a/specification/devcenter/DevCenter/Environments/models.tsp +++ b/specification/devcenter/DevCenter/Environments/models.tsp @@ -73,6 +73,54 @@ union EnvironmentTypeEnableStatus { string, } +@doc("An ability the user has to perform an action on the environment type as an admin.") +@added(APIVersions.v2024_05_01_preview) +union EnvironmentTypeAbilityAsAdmin { + @doc("User can delete environments.") + DeleteEnvironments: "DeleteEnvironments", + + @doc("User can delay and skip actions on environments.") + ManageEnvironmentActions: "ManageEnvironmentActions", + + @doc("User can read actions on environments.") + ReadEnvironmentActions: "ReadEnvironmentActions", + + @doc("User can read outputs on environments.") + ReadEnvironmentOutputs: "ReadEnvironmentOutputs", + + @doc("User can read environments.") + ReadEnvironments: "ReadEnvironments", + + @doc("User can create new environments or replace and update existing ones.") + WriteEnvironments: "WriteEnvironments", + + string, +} + +@doc("An ability the user has to perform an action on the environment type as a developer.") +@added(APIVersions.v2024_05_01_preview) +union EnvironmentTypeAbilityAsDeveloper { + @doc("User can delete environments.") + DeleteEnvironments: "DeleteEnvironments", + + @doc("User can delay and skip actions on environments.") + ManageEnvironmentActions: "ManageEnvironmentActions", + + @doc("User can read actions on environments.") + ReadEnvironmentActions: "ReadEnvironmentActions", + + @doc("User can read outputs on environments.") + ReadEnvironmentOutputs: "ReadEnvironmentOutputs", + + @doc("User can read environments.") + ReadEnvironments: "ReadEnvironments", + + @doc("User can create new environments or replace and update existing ones.") + WriteEnvironments: "WriteEnvironments", + + string, +} + @doc("The provisioning state of the environment.") union EnvironmentProvisioningState { @doc("The environment was successfully provisioned.") @@ -375,12 +423,19 @@ value. alias EnvironmentTypeListResult = Azure.Core.Page; @doc("Properties of an environment type.") +@resource("environmentTypes") +@parentResource(Project) model EnvironmentType { @doc("The unique URI of the environment type.") @added(APIVersions.v2024_02_01) uri: url; @doc("Name of the environment type.") + @key("environmentTypeName") + @minLength(3) + @maxLength(63) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @visibility("read") name: string; @doc(""" @@ -398,6 +453,16 @@ or management group. displayName?: string; } +@doc("Abilities a user has on an environment type.") +@added(APIVersions.v2024_05_01_preview) +model EnvironmentTypeAbilities { + @doc("The abilities the user has to perform actions on the environment type as an admin.") + abilitiesAsAdmin: EnvironmentTypeAbilityAsAdmin[]; + + @doc("The abilities the user has to perform actions on the environment type as a developer.") + abilitiesAsDeveloper: EnvironmentTypeAbilityAsDeveloper[]; +} + @doc("Information about a deploy operation on an environment.") @added(APIVersions.v2024_02_01) model EnvironmentDeployOperation extends EnvironmentOperation { diff --git a/specification/devcenter/DevCenter/Environments/routes.tsp b/specification/devcenter/DevCenter/Environments/routes.tsp index e978d75a5638..47970641d893 100644 --- a/specification/devcenter/DevCenter/Environments/routes.tsp +++ b/specification/devcenter/DevCenter/Environments/routes.tsp @@ -356,19 +356,48 @@ interface Environments { @doc("Get an environment definition from a catalog.") getEnvironmentDefinition is StandardResourceOperations.ResourceRead; - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "can not be represeted by using stand operations since there is no @key for EnvironmentType model" @doc("Lists all environment types configured for a project.") - @route("/projects/{projectName}/environmentTypes") + listEnvironmentTypes is StandardResourceOperations.ResourceList; + + @doc("Get an environment type configured for a project.") + @added(APIVersions.v2024_05_01_preview) + getEnvironmentTypes is StandardResourceOperations.ResourceRead; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "no @key for EnvironmentTypeAbilities model" + @doc("Gets the signed-in user's permitted abilities in an environment type.") @get - listEnvironmentTypes is Azure.Core.Foundations.Operation< + @route("projects/{projectName}/environmentTypes/{environmentTypeName}/users/{userId}/abilities") + @added(APIVersions.v2024_05_01_preview) + getEnvironmentTypeAbilities is Azure.Core.Foundations.Operation< { @doc("The DevCenter Project upon which to execute operations.") @maxLength(63) @minLength(3) - @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$") @path projectName: string; + + @doc("The name of the environment type") + @maxLength(63) + @minLength(3) + @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") + @path + environmentTypeName: string; + + @doc(""" + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) + @maxLength(36) + @minLength(2) + @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") + @path + userId: string; + + @doc("The maximum number of resources to return from the operation. Example: 'top=10'.") + @query + top?: int32; }, - EnvironmentTypeListResult + EnvironmentTypeAbilities >; } diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateCustomizationGroup.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateCustomizationGroup.json new file mode 100644 index 000000000000..2e899c176549 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateCustomizationGroup.json @@ -0,0 +1,57 @@ +{ + "title": "Applies customizations to the Dev Box.", + "operationId": "DevBoxes_CreateCustomizationGroup", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "customizationGroupName": "Provisioning", + "body": { + "tasks": [ + { + "name": "catalogName/choco", + "displayName": "Install VS Code", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + } + }, + { + "name": "catalogName/write-to-file", + "runAs": "User" + } + ] + } + }, + "responses": { + "200": { + "body": { + "name": "Provisioning", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning", + "tasks": [ + { + "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb", + "name": "catalogName/choco", + "displayName": "Install VS Code", + "status": "NotStarted", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + }, + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb" + }, + { + "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4", + "name": "catalogName/write-to-file", + "runAs": "User", + "status": "NotStarted", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4" + } + ], + "status": "NotStarted" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateDevBox.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateDevBox.json new file mode 100644 index 000000000000..fc02117fc8bc --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_CreateDevBox.json @@ -0,0 +1,74 @@ +{ + "title": "Creates or replaces a Dev Box.", + "operationId": "DevBoxes_CreateDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "body": { + "poolName": "LargeDevWorkStationPool" + } + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + }, + "201": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Creating", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayAction.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayAction.json new file mode 100644 index 000000000000..9b201f9bdc07 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayAction.json @@ -0,0 +1,29 @@ +{ + "title": "Delays the occurrence of an action.", + "operationId": "DevBoxes_DelayAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "actionName": "schedule-default", + "until": "2022-09-30T17:00:00Z" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "suspendedUntil": "2022-09-30T17:00:00Z", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActions.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActions.json new file mode 100644 index 000000000000..2a0abb1aeaf2 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActions.json @@ -0,0 +1,51 @@ +{ + "title": "Delays all actions.", + "operationId": "DevBoxes_DelayActions", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "until": "2022-09-30T17:00:00Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "result": "Succeeded", + "action": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "suspendedUntil": "2022-09-30T17:00:00Z", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "result": "Succeeded", + "action": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool", + "sourceType": "Pool", + "suspendedUntil": "2022-09-30T17:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActionsWithError.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActionsWithError.json new file mode 100644 index 000000000000..75238900af7e --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DelayActionsWithError.json @@ -0,0 +1,43 @@ +{ + "title": "Delays all actions with an error.", + "operationId": "DevBoxes_DelayActionsWithError", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "until": "2022-09-30T17:00:00Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "result": "Failed", + "error": { + "code": "DelayOverMaxTime", + "message": "The schedule cannot be delayed more than 8 hours from the original invocation time." + } + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "result": "Succeeded", + "action": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool", + "sourceType": "Pool", + "suspendedUntil": "2022-09-30T17:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DeleteDevBox.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DeleteDevBox.json new file mode 100644 index 000000000000..b7382a8ced88 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_DeleteDevBox.json @@ -0,0 +1,26 @@ +{ + "title": "Deletes a Dev Box.", + "operationId": "DevBoxes_DeleteDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetAction.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetAction.json new file mode 100644 index 000000000000..9eb57c67b3de --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetAction.json @@ -0,0 +1,27 @@ +{ + "title": "Gets an action.", + "operationId": "DevBoxes_GetAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "actionName": "schedule-default" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationGroup.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationGroup.json new file mode 100644 index 000000000000..e677bc07cbed --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationGroup.json @@ -0,0 +1,44 @@ +{ + "title": "Gets a customization group.", + "operationId": "DevBoxes_GetCustomizationGroup", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "customizationGroupName": "Provisioning" + }, + "responses": { + "200": { + "body": { + "name": "Provisioning", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning", + "tasks": [ + { + "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb", + "name": "catalogName/choco", + "displayName": "Install VS Code", + "status": "Succeeded", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + }, + "startTime": "2021-08-05T18:00:00.000Z", + "endTime": "2021-08-05T18:00:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb" + }, + { + "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4", + "name": "catalogName/write-to-file", + "status": "Running", + "startTime": "2021-08-05T18:00:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4" + } + ], + "status": "Running", + "startTime": "2021-08-05T18:00:00.000Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskDefinitions.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskDefinitions.json new file mode 100644 index 000000000000..6813c3817dc5 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskDefinitions.json @@ -0,0 +1,36 @@ +{ + "title": "Gets a customization task.", + "operationId": "DevBoxes_GetCustomizationTaskDefinitions", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "api-version": "2024-05-01-preview", + "catalogName": "myCatalog", + "taskName": "choco" + }, + "responses": { + "200": { + "body": { + "name": "myCatalog/choco", + "catalogName": "myCatalog", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/choco", + "description": "Install a package via chocolatey", + "parameters": { + "package": { + "description": "The package to install", + "type": "string", + "required": true + }, + "version": { + "description": "The version of the package", + "type": "string", + "default": "latest" + }, + "retryOnFail": { + "type": "boolean" + } + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskLog.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskLog.json new file mode 100644 index 000000000000..a321b5bac6fd --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetCustomizationTaskLog.json @@ -0,0 +1,18 @@ +{ + "title": "Gets the log for a customization task.", + "operationId": "DevBoxes_GetCustomizationTaskLog", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "4863c6d0-e979-4a36-ac8d-80029debfd80", + "devBoxName": "MyDevBox", + "customizationGroupName": "Provisioning", + "customizationTaskId": "91835dc0-ef5a-4f58-9e3a-099aea8481f4" + }, + "responses": { + "200": { + "body": "WzIwMjMtMDgtMTBUMTA6MTk6NTUuODIwMTAxKzAwOjAwXSBDaG9jb2xhdGV5IHYxLjMuMVxuWzIwMjMtMDgtMTBUMTA6MTk6NTUuOTEzMjk3KzAwOjAwXSAyIHZhbGlkYXRpb25zIHBlcmZvcm1lZC4gMSBzdWNjZXNzKGVzKSwgMSB3YXJuaW5nKHMpLCBhbmQgMCBlcnJvcihzKS4=" + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetDevBoxByUser.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetDevBoxByUser.json new file mode 100644 index 000000000000..7fb10b533de0 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetDevBoxByUser.json @@ -0,0 +1,40 @@ +{ + "title": "Gets a Dev Box.", + "operationId": "DevBoxes_GetDevBoxByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetOperation.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetOperation.json new file mode 100644 index 000000000000..3ef9dfcd339a --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetOperation.json @@ -0,0 +1,25 @@ +{ + "title": "Gets an operation on a Dev Box.", + "operationId": "DevBoxes_GetOperation", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Start", + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetPool.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetPool.json new file mode 100644 index 000000000000..4220a3f6e10c --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetPool.json @@ -0,0 +1,41 @@ +{ + "title": "Gets a pool.", + "operationId": "DevBoxes_GetPool", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/LargeDevWorkStationPool", + "name": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + }, + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "displayName": "LargePool" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetRemoteConnection.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetRemoteConnection.json new file mode 100644 index 000000000000..1382ab80c52f --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetRemoteConnection.json @@ -0,0 +1,18 @@ +{ + "title": "Gets RDP Connection info.", + "operationId": "DevBoxes_GetRemoteConnection", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "200": { + "body": { + "webUrl": "https://connectionUrl" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetScheduleByPool.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetScheduleByPool.json new file mode 100644 index 000000000000..c23a8ae4ed2a --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_GetScheduleByPool.json @@ -0,0 +1,25 @@ +{ + "title": "Gets a schedule.", + "operationId": "DevBoxes_GetScheduleByPool", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview", + "poolName": "DevPool", + "scheduleName": "default" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default", + "name": "default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool", + "sourceType": "Pool", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListActions.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListActions.json new file mode 100644 index 000000000000..33dd54250f89 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListActions.json @@ -0,0 +1,42 @@ +{ + "title": "Lists actions on a Dev Box.", + "operationId": "DevBoxes_ListActions", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool", + "sourceType": "Pool", + "next": { + "scheduledTime": "2022-09-30T15:23:00Z" + } + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "suspendedUntil": "2022-09-30T17:00:00Z", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxes.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxes.json new file mode 100644 index 000000000000..60006cd87213 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxes.json @@ -0,0 +1,41 @@ +{ + "title": "Lists Dev Boxes that the caller has access to in the DevCenter.", + "operationId": "DevBoxes_ListAllDevBoxes", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxesByUser.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxesByUser.json new file mode 100644 index 000000000000..c0f241953f74 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListAllDevBoxesByUser.json @@ -0,0 +1,43 @@ +{ + "title": "Lists Dev Boxes in the project for a particular user.", + "operationId": "DevBoxes_ListAllDevBoxesByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroups.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroups.json new file mode 100644 index 000000000000..2ac0ab5dfd04 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroups.json @@ -0,0 +1,68 @@ +{ + "title": "Lists customization groups on the Dev Box. Listed customization groups exclude task information unless specified via the include parameter.", + "operationId": "DevBoxes_ListCustomizationGroups", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "include": "tasks" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Provisioning", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning", + "tasks": [ + { + "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb", + "name": "catalogName/choco", + "displayName": "Install VS Code", + "status": "Succeeded", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + }, + "startTime": "2021-08-05T18:00:00.000Z", + "endTime": "2021-08-05T18:00:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb" + }, + { + "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4", + "name": "catalogName/write-to-file", + "status": "Succeeded", + "startTime": "2021-08-05T18:10:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4" + } + ], + "status": "Succeeded", + "startTime": "2021-08-05T18:00:00.000Z", + "endTime": "2021-08-05T18:10:00.000Z" + }, + { + "name": "Personalizations", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations", + "tasks": [ + { + "id": "d8ec7648-23c9-4e86-8883-6d42ad6c9609", + "name": "catalogName/choco", + "displayName": "Install Git", + "status": "Running", + "parameters": { + "packageName": "git" + }, + "startTime": "2021-08-05T18:10:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations/logs/d8ec7648-23c9-4e86-8883-6d42ad6c9609" + } + ], + "status": "Running", + "startTime": "2021-08-05T18:10:00.000Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroupsWithoutTasks.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroupsWithoutTasks.json new file mode 100644 index 000000000000..5dc1694126bd --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationGroupsWithoutTasks.json @@ -0,0 +1,32 @@ +{ + "title": "Lists customization groups on the Dev Box. Listed customization groups exclude task information unless specified via the include parameter.", + "operationId": "DevBoxes_ListCustomizationGroupsWithoutTasks", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Provisioning", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning", + "status": "Succeeded", + "startTime": "2021-08-05T18:00:00.000Z", + "endTime": "2021-08-05T18:10:00.000Z" + }, + { + "name": "Personalizations", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations", + "status": "Running", + "startTime": "2021-08-05T18:10:00.000Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationTaskDefinitionsByProject.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationTaskDefinitionsByProject.json new file mode 100644 index 000000000000..1f3756d78844 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListCustomizationTaskDefinitionsByProject.json @@ -0,0 +1,53 @@ +{ + "title": "Lists all customization tasks available to the project.", + "operationId": "DevBoxes_ListCustomizationTaskDefinitionsByProject", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myCatalog/choco", + "catalogName": "myCatalog", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/choco", + "description": "Install a package via chocolatey", + "parameters": { + "package": { + "description": "The package to install", + "type": "string", + "required": true + }, + "version": { + "description": "The version of the package", + "type": "string", + "default": "latest" + }, + "retryOnFail": { + "type": "boolean" + } + } + }, + { + "name": "myCatalog/powershell", + "catalogName": "myCatalog", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/powershell", + "description": "Runs an arbitrary Powershell command", + "parameters": { + "command": { + "type": "string", + "required": true + }, + "runAsAdmin": { + "type": "boolean" + } + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListDevBoxesByUser.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListDevBoxesByUser.json new file mode 100644 index 000000000000..4d4b81a18c3b --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListDevBoxesByUser.json @@ -0,0 +1,43 @@ +{ + "title": "Lists Dev Boxes in the project for a particular user.", + "operationId": "DevBoxes_ListDevBoxesByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListOperations.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListOperations.json new file mode 100644 index 000000000000..1f0c5b5c8def --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListOperations.json @@ -0,0 +1,42 @@ +{ + "title": "Lists operations on the Dev Box which have occurred within the past 90 days.", + "operationId": "DevBoxes_ListOperations", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Start", + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/a6eb12ee-daa1-2215-9c44-63618dc2a781", + "operationId": "a6eb12ee-daa1-2215-9c44-63618dc2a781", + "status": "Succeeded", + "kind": "Repair", + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-10T19:31:20.7229492+00:00", + "endTime": "2022-09-10T19:57:41.7229492+00:00", + "result": { + "code": "ConnectivityFixApplied", + "message": "We resolved some connectivity issues with your Dev Box.", + "repairOutcome": "FixApplied" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListPools.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListPools.json new file mode 100644 index 000000000000..6227a6003190 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListPools.json @@ -0,0 +1,71 @@ +{ + "title": "Lists available pools.", + "operationId": "DevBoxes_ListPools", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/LargeDevWorkStationPool", + "name": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + }, + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "displayName": "LargePool" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/SQLDevelopmentMachinePool", + "name": "SQLDevelopmentMachinePool", + "location": "southcentralus", + "osType": "Windows", + "hardwareProfile": { + "vCPUs": 16, + "memoryGB": 128 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "SqlDevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + }, + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "displayName": "SQLPool" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByPool.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByPool.json new file mode 100644 index 000000000000..00046a94a9a0 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByPool.json @@ -0,0 +1,28 @@ +{ + "title": "Lists all schedules within a pool that are configured by your project administrator.", + "operationId": "DevBoxes_ListSchedulesByPool", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "poolName": "DevPool", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default", + "name": "default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool", + "sourceType": "Pool", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByProject.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByProject.json new file mode 100644 index 000000000000..3c13a4cd8649 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ListSchedulesByProject.json @@ -0,0 +1,27 @@ +{ + "title": "Lists all schedules within a project that are configured by your project administrator.", + "operationId": "DevBoxes_ListSchedulesByProject", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default", + "name": "default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool", + "sourceType": "Pool", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RepairDevBox.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RepairDevBox.json new file mode 100644 index 000000000000..00c7640d8e62 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RepairDevBox.json @@ -0,0 +1,25 @@ +{ + "title": "Attempts automated repair steps to resolve common problems on a Dev Box. The Dev Box may restart during this operation.", + "operationId": "DevBoxes_RepairDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RestartDevBox.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RestartDevBox.json new file mode 100644 index 000000000000..90179116ef0b --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_RestartDevBox.json @@ -0,0 +1,25 @@ +{ + "title": "Restarts a Dev Box.", + "operationId": "DevBoxes_RestartDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_SkipAction.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_SkipAction.json new file mode 100644 index 000000000000..25fd1711638c --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_SkipAction.json @@ -0,0 +1,15 @@ +{ + "title": "Skips an occurrence of an action.", + "operationId": "DevBoxes_SkipAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "actionName": "schedule-default" + }, + "responses": { + "204": {} + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StartDevBox.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StartDevBox.json new file mode 100644 index 000000000000..661853ee3c29 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StartDevBox.json @@ -0,0 +1,25 @@ +{ + "title": "Starts a Dev Box.", + "operationId": "DevBoxes_StartDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StopDevBox.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StopDevBox.json new file mode 100644 index 000000000000..f4eb6f375be1 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_StopDevBox.json @@ -0,0 +1,26 @@ +{ + "title": "Stops a Dev Box.", + "operationId": "DevBoxes_StopDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "hibernate": "true" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksAction.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksAction.json new file mode 100644 index 000000000000..d89a3d553bac --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksAction.json @@ -0,0 +1,40 @@ +{ + "title": "Validates a list of customization tasks.", + "operationId": "DevBoxes_ValidateCustomizationTasksAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "body": { + "tasks": [ + { + "name": "catalogName/choco", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + } + }, + { + "name": "catalogName/write-to-disk" + } + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Succeeded", + "startTime": "2023-02-01T12:43:54.122Z", + "result": { + "validationResult": "Succeeded" + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksActionWithFailure.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksActionWithFailure.json new file mode 100644 index 000000000000..ffa1dbbd12c7 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevBoxes_ValidateCustomizationTasksActionWithFailure.json @@ -0,0 +1,53 @@ +{ + "title": "Validates a list of customization tasks.", + "operationId": "DevBoxes_ValidateCustomizationTasksActionWithFailure", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "body": { + "tasks": [ + { + "name": "catalogName/choco", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + } + }, + { + "name": "catalogName/write-to-file" + } + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Succeeded", + "startTime": "2023-02-01T12:43:54.122Z", + "result": { + "validationResult": "Failed", + "errors": [ + { + "target": { + "name": "catalogName/write-to-file" + }, + "details": [ + { + "code": "TaskNotFound", + "message": "Could not find the referenced task catalogName/write-to-file." + } + ] + } + ] + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProject.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProject.json new file mode 100644 index 000000000000..e83b58c45710 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProject.json @@ -0,0 +1,19 @@ +{ + "title": "Gets a project.", + "operationId": "DevCenter_GetProject", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/DevDiv", + "name": "DevDiv", + "description": "The developer division", + "displayName": "DeveloperDivision" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProjectAbilities.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProjectAbilities.json new file mode 100644 index 000000000000..57beefbdc19e --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_GetProjectAbilities.json @@ -0,0 +1,37 @@ +{ + "title": "Gets the signed-in user's permitted abilities in a project.", + "operationId": "DevCenter_GetProjectAbilities", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "abilitiesAsAdmin": [ + "ReadDevBoxes", + "ReadEnvironments" + ], + "abilitiesAsDeveloper": [ + "CustomizeDevBoxes", + "DeleteDevBoxes", + "DeleteEnvironments", + "ManageDevBoxActions", + "ManageEnvironmentActions", + "ReadDevBoxActions", + "ReadDevBoxes", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "ReadRemoteConnections", + "StartDevBoxes", + "StopDevBoxes", + "WriteDevBoxes", + "WriteEnvironments" + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_ListProjects.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_ListProjects.json new file mode 100644 index 000000000000..e679b845e918 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/DevCenter_ListProjects.json @@ -0,0 +1,22 @@ +{ + "title": "Lists all projects in a Dev Center.", + "operationId": "DevCenter_ListProjects", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject", + "name": "DevDiv", + "description": "The developer division", + "displayName": "DeveloperDivision" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_CreateOrReplaceEnvironment.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_CreateOrReplaceEnvironment.json new file mode 100644 index 000000000000..37232f529454 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_CreateOrReplaceEnvironment.json @@ -0,0 +1,43 @@ +{ + "title": "Creates or updates an environment.", + "operationId": "Environments_CreateOrReplaceEnvironment", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "environmentName": "mydevenv", + "userId": "me", + "body": { + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "expirationDate": "2023-09-10T17:00:00Z" + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Creating", + "expirationDate": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DelayAction.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DelayAction.json new file mode 100644 index 000000000000..2f3a2048fd36 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DelayAction.json @@ -0,0 +1,27 @@ +{ + "title": "Delays the occurrence of an action.", + "operationId": "Environments_DelayAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnv", + "actionName": "default", + "until": "2022-09-30T17:00:00Z" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default", + "name": "default", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DeleteEnvironment.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DeleteEnvironment.json new file mode 100644 index 000000000000..e889092a817f --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_DeleteEnvironment.json @@ -0,0 +1,26 @@ +{ + "title": "Deletes an environment and all its associated resources.", + "operationId": "Environments_DeleteEnvironment", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "mydevenv" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetAction.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetAction.json new file mode 100644 index 000000000000..60b8d0d77910 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetAction.json @@ -0,0 +1,26 @@ +{ + "title": "Retrieve a specific environment action.", + "operationId": "Environments_GetAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment", + "actionName": "default" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default", + "name": "default", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetCatalog.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetCatalog.json new file mode 100644 index 000000000000..b3009d893639 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetCatalog.json @@ -0,0 +1,18 @@ +{ + "title": "Gets the specified catalog within the project.", + "operationId": "Environments_GetCatalog", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "catalogName": "foo" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/foo", + "name": "foo" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentByUser.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentByUser.json new file mode 100644 index 000000000000..190b47dd9d6b --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentByUser.json @@ -0,0 +1,30 @@ +{ + "title": "Gets an environment.", + "operationId": "Environments_GetEnvironmentByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "mydevenv" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321", + "expirationDate": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentDefinition.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentDefinition.json new file mode 100644 index 000000000000..5f7e6e84c8f0 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentDefinition.json @@ -0,0 +1,58 @@ +{ + "title": "Get an environment definition from a catalog.", + "operationId": "Environments_GetEnvironmentDefinition", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "catalogName": "myCatalog", + "definitionName": "foo" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "name": "foo", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true, + "default": "dotnet", + "allowed": [ + "node", + "dotnet", + "java" + ] + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true, + "default": "Standard_LRS", + "allowed": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS" + ] + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "default": "true", + "readOnly": true, + "required": true + } + ], + "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}", + "templatePath": "azuredeploy.json" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypeAbilities.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypeAbilities.json new file mode 100644 index 000000000000..386b1f7a76f8 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypeAbilities.json @@ -0,0 +1,28 @@ +{ + "title": "Gets the signed-in user's permitted abilities in an environment type.", + "operationId": "Environments_GetEnvironmentTypeAbilities", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "environmentTypeName": "devtestenv", + "userId": "me", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "abilitiesAsAdmin": [ + "ReadEnvironments" + ], + "abilitiesAsDeveloper": [ + "DeleteEnvironments", + "ManageEnvironmentActions", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "WriteEnvironments" + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypes.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypes.json new file mode 100644 index 000000000000..685c905fec90 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetEnvironmentTypes.json @@ -0,0 +1,21 @@ +{ + "title": "Get an environment type configured for a project.", + "operationId": "Environments_GetEnvironmentTypes", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "environmentTypeName": "devtestenv", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/environmentTypes/devtestenv", + "name": "devtestenv", + "status": "Enabled", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "displayName": "DevTestEnvironment" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetLogsByOperation.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetLogsByOperation.json new file mode 100644 index 000000000000..84415f45a699 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetLogsByOperation.json @@ -0,0 +1,17 @@ +{ + "title": "Gets the logs for an operation on an environment.", + "operationId": "Environments_GetLogsByOperation", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680" + }, + "responses": { + "200": { + "body": "{file}" + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOperation.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOperation.json new file mode 100644 index 000000000000..de3fc6aaa17e --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOperation.json @@ -0,0 +1,29 @@ +{ + "title": "Gets an environment action result.", + "operationId": "Environments_GetOperation", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/myEnvironment/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Deploy", + "environmentParameters": { + "paramA": "valueA", + "paramB": "valueB" + }, + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOutputs.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOutputs.json new file mode 100644 index 000000000000..f39954820ed6 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_GetOutputs.json @@ -0,0 +1,51 @@ +{ + "title": "Gets Outputs from the environment.", + "operationId": "Environments_GetOutputs", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "mydevenv" + }, + "responses": { + "200": { + "body": { + "outputs": { + "stringOutput": { + "type": "string", + "value": "Output1 value", + "sensitive": false + }, + "arrayOutput": { + "type": "array", + "value": [ + 1, + 2, + 3 + ], + "sensitive": false + }, + "boolOutput": { + "type": "bool", + "value": true, + "sensitive": false + }, + "intOutput": { + "type": "int", + "value": 1, + "sensitive": false + }, + "objectOutput": { + "type": "object", + "value": { + "name": "name", + "id": "id" + }, + "sensitive": false + } + } + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListActions.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListActions.json new file mode 100644 index 000000000000..2708125b0b1a --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListActions.json @@ -0,0 +1,39 @@ +{ + "title": "Get all scheduled actions for a user within an environment.", + "operationId": "Environments_ListActions", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default", + "name": "default", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-10T17:00:00Z" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/expire", + "name": "expire", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-10-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-20T17:00:00Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListCatalogsByProject.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListCatalogsByProject.json new file mode 100644 index 000000000000..53f5d644204b --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListCatalogsByProject.json @@ -0,0 +1,21 @@ +{ + "title": "Lists all of the catalogs available for a project.", + "operationId": "Environments_ListCatalogsByProject", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/foo", + "name": "foo" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByCatalog.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByCatalog.json new file mode 100644 index 000000000000..ea9a74f93178 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByCatalog.json @@ -0,0 +1,69 @@ +{ + "title": "Lists all environment definitions available within a catalog.", + "operationId": "Environments_ListEnvironmentDefinitionsByCatalog", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "catalogName": "myCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "name": "foo", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true, + "default": "dotnet", + "allowed": [ + "node", + "dotnet", + "java" + ] + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true, + "default": "Standard_LRS", + "allowed": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS" + ] + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "default": "true", + "readOnly": true, + "required": true + } + ], + "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}", + "templatePath": "azuredeploy.json" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar", + "name": "bar", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "templatePath": "azuredeploy.json" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByProject.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByProject.json new file mode 100644 index 000000000000..2fd68cac2a7e --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentDefinitionsByProject.json @@ -0,0 +1,68 @@ +{ + "title": "Lists all environment definitions available for a project.", + "operationId": "Environments_ListEnvironmentDefinitionsByProject", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "name": "foo", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true, + "default": "dotnet", + "allowed": [ + "node", + "dotnet", + "java" + ] + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true, + "default": "Standard_LRS", + "allowed": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS" + ] + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "default": "true", + "readOnly": true, + "required": true + } + ], + "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}", + "templatePath": "azuredeploy.json" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar", + "id": "/projects/myProject/catalogs/myOtherCatalog/environmentDefinitions/bar", + "name": "bar", + "catalogName": "myOtherCatalog", + "description": "This environment definition is just for example purposes.", + "templatePath": "azuredeploy.json" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentTypes.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentTypes.json new file mode 100644 index 000000000000..0e482f0fab29 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentTypes.json @@ -0,0 +1,24 @@ +{ + "title": "Lists all environment types configured for a project.", + "operationId": "Environments_ListEnvironmentTypes", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/environmentTypes/devtestenv", + "name": "devtestenv", + "status": "Enabled", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "displayName": "DevTestEnvironment" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironments.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironments.json new file mode 100644 index 000000000000..aa7927f95cac --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironments.json @@ -0,0 +1,32 @@ +{ + "title": "Lists all environment definitions available for a project.", + "operationId": "Environments_ListEnvironments", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321", + "expirationDate": "2023-09-10T17:00:00Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentsByUser.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentsByUser.json new file mode 100644 index 000000000000..5a523676a412 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListEnvironmentsByUser.json @@ -0,0 +1,33 @@ +{ + "title": "Lists the environments for a project and user.", + "operationId": "Environments_ListEnvironmentsByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321", + "expirationDate": "2023-09-10T17:00:00Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListOperations.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListOperations.json new file mode 100644 index 000000000000..966888fe777a --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_ListOperations.json @@ -0,0 +1,32 @@ +{ + "title": "Lists operations on the environment which have occurred within the past 90 days.", + "operationId": "Environments_ListOperations", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/myEnvironment/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Deploy", + "environmentParameters": { + "paramA": "valueA", + "paramB": "valueB" + }, + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + } + ] + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_PatchEnvironment.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_PatchEnvironment.json new file mode 100644 index 000000000000..6913fb125438 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_PatchEnvironment.json @@ -0,0 +1,32 @@ +{ + "title": "Partially updates an environment.", + "operationId": "Environments_PatchEnvironment", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "environmentName": "mydevenv", + "userId": "me", + "body": { + "expirationDate": "2023-09-10T17:00:00Z" + } + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "expirationDate": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_SkipAction.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_SkipAction.json new file mode 100644 index 000000000000..a2b7af7f4b7f --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/Environments_SkipAction.json @@ -0,0 +1,21 @@ +{ + "title": "Skips an occurrence of an action.", + "operationId": "Environments_SkipAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "environmentName": "myEnv", + "userId": "me", + "actionName": "default", + "body": { + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/devcenter/DevCenter/examples/2024-05-01-preview/OperationStatuses_Get.json b/specification/devcenter/DevCenter/examples/2024-05-01-preview/OperationStatuses_Get.json new file mode 100644 index 000000000000..ddfa65670a56 --- /dev/null +++ b/specification/devcenter/DevCenter/examples/2024-05-01-preview/OperationStatuses_Get.json @@ -0,0 +1,19 @@ +{ + "title": "Get the status of an operation.", + "operationId": "OperationStatuses_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "projectName": "myProject", + "operationId": "fa067167-e49d-41bd-8dd8-de719b9de3b3" + }, + "responses": { + "200": { + "body": { + "id": "/projects/myProject/operationStatuses/fa067167-e49d-41bd-8dd8-de719b9de3b3", + "name": "fa067167-e49d-41bd-8dd8-de719b9de3b3", + "status": "Running", + "startTime": "2024-01-24T21:14:58.472Z" + } + } + } +} diff --git a/specification/devcenter/DevCenter/main.tsp b/specification/devcenter/DevCenter/main.tsp index 68db1b6bd21b..c83e8ede9b02 100644 --- a/specification/devcenter/DevCenter/main.tsp +++ b/specification/devcenter/DevCenter/main.tsp @@ -43,4 +43,8 @@ enum APIVersions { @doc("The 2024-02-01 service API version") @useDependency(Versions.v1_0_Preview_2) v2024_02_01: "2024-02-01", + + @doc("The 2024-05-01-preview service API version") + @useDependency(Versions.v1_0_Preview_2) + v2024_05_01_preview: "2024-05-01-preview", } diff --git a/specification/devcenter/DevCenter/shared/models.tsp b/specification/devcenter/DevCenter/shared/models.tsp index 0cc1cb843a3c..5c11d664a453 100644 --- a/specification/devcenter/DevCenter/shared/models.tsp +++ b/specification/devcenter/DevCenter/shared/models.tsp @@ -93,3 +93,103 @@ model User { @visibility("read") userId: string; } + +@doc("An ability the user has to perform an action on the project as an admin.") +@added(APIVersions.v2024_05_01_preview) +union ProjectAbilityAsAdmin { + @doc("User can delete dev boxes.") + DeleteDevBoxes: "DeleteDevBoxes", + + @doc("User can delete environments.") + DeleteEnvironments: "DeleteEnvironments", + + @doc("User can delay and skip actions on environments.") + ManageEnvironmentActions: "ManageEnvironmentActions", + + @doc("User can read dev boxes.") + ReadDevBoxes: "ReadDevBoxes", + + @doc("User can read actions on environments.") + ReadEnvironmentActions: "ReadEnvironmentActions", + + @doc("User can read outputs on environments.") + ReadEnvironmentOutputs: "ReadEnvironmentOutputs", + + @doc("User can read environments.") + ReadEnvironments: "ReadEnvironments", + + @doc("User can start dev boxes.") + StartDevBoxes: "StartDevBoxes", + + @doc("User can stop dev boxes.") + StopDevBoxes: "StopDevBoxes", + + @doc("User can create dev boxes.") + WriteDevBoxes: "WriteDevBoxes", + + @doc("User can create new environments or replace and update existing ones.") + WriteEnvironments: "WriteEnvironments", + + string, +} + +@doc("An ability the user has to perform an action on the project as a developer.") +@added(APIVersions.v2024_05_01_preview) +union ProjectAbilityAsDeveloper { + @doc("User can customize their own dev boxes.") + CustomizeDevBoxes: "CustomizeDevBoxes", + + @doc("User can delete their own dev boxes.") + DeleteDevBoxes: "DeleteDevBoxes", + + @doc("User can delete environments.") + DeleteEnvironments: "DeleteEnvironments", + + @doc("User can delay and skip actions on their own dev boxes.") + ManageDevBoxActions: "ManageDevBoxActions", + + @doc("User can delay and skip actions on environments.") + ManageEnvironmentActions: "ManageEnvironmentActions", + + @doc("User can read actions on their own dev boxes.") + ReadDevBoxActions: "ReadDevBoxActions", + + @doc("User can read their own dev boxes.") + ReadDevBoxes: "ReadDevBoxes", + + @doc("User can read actions on environments.") + ReadEnvironmentActions: "ReadEnvironmentActions", + + @doc("User can read outputs on environments.") + ReadEnvironmentOutputs: "ReadEnvironmentOutputs", + + @doc("User can read environments.") + ReadEnvironments: "ReadEnvironments", + + @doc("User can read remote connections on their own dev boxes.") + ReadRemoteConnections: "ReadRemoteConnections", + + @doc("User can start their own dev boxes.") + StartDevBoxes: "StartDevBoxes", + + @doc("User can stop their own dev boxes.") + StopDevBoxes: "StopDevBoxes", + + @doc("User can create dev boxes.") + WriteDevBoxes: "WriteDevBoxes", + + @doc("User can create new environments or replace and update existing ones.") + WriteEnvironments: "WriteEnvironments", + + string, +} + +@doc("Abilities a user has on a project.") +@added(APIVersions.v2024_05_01_preview) +model ProjectAbilities { + @doc("The abilities the user has to perform actions on the project as an admin.") + abilitiesAsAdmin: ProjectAbilityAsAdmin[]; + + @doc("The abilities the user has to perform actions on the project as a developer.") + abilitiesAsDeveloper: ProjectAbilityAsDeveloper[]; +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json new file mode 100644 index 000000000000..dd672759f44a --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json @@ -0,0 +1,6957 @@ +{ + "swagger": "2.0", + "info": { + "title": "DevCenter", + "version": "2024-05-01-preview", + "description": "DevCenter service", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "in": "path", + "description": "The DevCenter-specific URI to operate on.", + "required": true, + "type": "string", + "format": "uri", + "x-ms-skip-url-encoding": true + } + ] + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "OAuth2Auth": [ + "https://devcenter.azure.com/.default" + ] + } + ], + "securityDefinitions": { + "OAuth2Auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "https://devcenter.azure.com/.default": "" + } + } + }, + "tags": [], + "paths": { + "/devboxes": { + "get": { + "operationId": "DevBoxes_ListAllDevBoxes", + "description": "Lists Dev Boxes that the caller has access to in the DevCenter.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedDevBox" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists Dev Boxes that the caller has access to in the DevCenter.": { + "$ref": "./examples/DevBoxes_ListAllDevBoxes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects": { + "get": { + "operationId": "DevCenter_ListProjects", + "description": "Lists all projects.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedProject" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all projects in a Dev Center.": { + "$ref": "./examples/DevCenter_ListProjects.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}": { + "get": { + "operationId": "DevCenter_GetProject", + "description": "Gets a project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets a project.": { + "$ref": "./examples/DevCenter_GetProject.json" + } + } + } + }, + "/projects/{projectName}/catalogs": { + "get": { + "operationId": "Environments_ListCatalogsByProject", + "description": "Lists all of the catalogs available for a project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedCatalog" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all of the catalogs available for a project.": { + "$ref": "./examples/Environments_ListCatalogsByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/catalogs/{catalogName}": { + "get": { + "operationId": "Environments_GetCatalog", + "description": "Gets the specified catalog within the project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of the catalog.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets the specified catalog within the project.": { + "$ref": "./examples/Environments_GetCatalog.json" + } + } + } + }, + "/projects/{projectName}/catalogs/{catalogName}/customizationTasks/{taskName}": { + "get": { + "operationId": "DevBoxes_GetCustomizationTaskDefinitions", + "description": "Gets a customization task.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of the catalog.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "taskName", + "in": "path", + "description": "Full name of the task: {catalogName}/{taskName}.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomizationTaskDefinition" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets a customization task.": { + "$ref": "./examples/DevBoxes_GetCustomizationTaskDefinitions.json" + } + } + } + }, + "/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions": { + "get": { + "operationId": "Environments_ListEnvironmentDefinitionsByCatalog", + "description": "Lists all environment definitions available within a catalog.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "catalogName", + "in": "path", + "description": "The name of the catalog", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedEnvironmentDefinition" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all environment definitions available within a catalog.": { + "$ref": "./examples/Environments_ListEnvironmentDefinitionsByCatalog.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{definitionName}": { + "get": { + "operationId": "Environments_GetEnvironmentDefinition", + "description": "Get an environment definition from a catalog.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of the catalog.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "definitionName", + "in": "path", + "description": "Name of the environment definition.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinition" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get an environment definition from a catalog.": { + "$ref": "./examples/Environments_GetEnvironmentDefinition.json" + } + } + } + }, + "/projects/{projectName}/customizationTasks": { + "get": { + "operationId": "DevBoxes_ListCustomizationTaskDefinitionsByProject", + "description": "Lists all customization tasks available to the project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedCustomizationTaskDefinition" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all customization tasks available to the project.": { + "$ref": "./examples/DevBoxes_ListCustomizationTaskDefinitionsByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/customizationTasks:validateGroup": { + "post": { + "operationId": "DevBoxes_ValidateCustomizationTasksAction", + "description": "Validates a list of customization tasks.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "body", + "in": "body", + "description": "Customization tasks to validate.", + "required": true, + "schema": { + "$ref": "#/definitions/CustomizationTaskList" + } + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/CustomizationTaskListValidationOperationResult" + }, + "headers": { + "Location": { + "type": "string" + }, + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Validates a list of customization tasks.": { + "$ref": "./examples/DevBoxes_ValidateCustomizationTasksAction.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/projects/{projectName}/environmentDefinitions": { + "get": { + "operationId": "Environments_ListEnvironmentDefinitionsByProject", + "description": "Lists all environment definitions available for a project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedEnvironmentDefinition" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all environment definitions available for a project.": { + "$ref": "./examples/Environments_ListEnvironmentDefinitionsByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/environmentTypes": { + "get": { + "operationId": "Environments_ListEnvironmentTypes", + "description": "Lists all environment types configured for a project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedEnvironmentType" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all environment types configured for a project.": { + "$ref": "./examples/Environments_ListEnvironmentTypes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/environmentTypes/{environmentTypeName}": { + "get": { + "operationId": "Environments_GetEnvironmentTypes", + "description": "Get an environment type configured for a project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "environmentTypeName", + "in": "path", + "description": "Name of the environment type.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get an environment type configured for a project.": { + "$ref": "./examples/Environments_GetEnvironmentTypes.json" + } + } + } + }, + "/projects/{projectName}/environmentTypes/{environmentTypeName}/users/{userId}/abilities": { + "get": { + "operationId": "Environments_GetEnvironmentTypeAbilities", + "description": "Gets the signed-in user's permitted abilities in an environment type.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$" + }, + { + "name": "environmentTypeName", + "in": "path", + "description": "The name of the environment type", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": " The AAD object id of the user. If value is 'me', the identity is taken from the\n authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: 'top=10'.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentTypeAbilities" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets the signed-in user's permitted abilities in an environment type.": { + "$ref": "./examples/Environments_GetEnvironmentTypeAbilities.json" + } + } + } + }, + "/projects/{projectName}/environments": { + "get": { + "operationId": "Environments_ListEnvironments", + "description": "Lists the environments for a project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedEnvironment" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all environment definitions available for a project.": { + "$ref": "./examples/Environments_ListEnvironments.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/operationstatuses/{operationId}": { + "get": { + "operationId": "OperationStatuses_Get", + "description": "Get the status of an operation.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "operationId", + "in": "path", + "description": "The operation id name.", + "required": true, + "type": "string", + "format": "uuid", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get the status of an operation.": { + "$ref": "./examples/OperationStatuses_Get.json" + } + } + } + }, + "/projects/{projectName}/pools": { + "get": { + "operationId": "DevBoxes_ListPools", + "description": "Lists available pools.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedPool" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists available pools.": { + "$ref": "./examples/DevBoxes_ListPools.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/pools/{poolName}": { + "get": { + "operationId": "DevBoxes_GetPool", + "description": "Gets a pool.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "poolName", + "in": "path", + "description": "Pool name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets a pool.": { + "$ref": "./examples/DevBoxes_GetPool.json" + } + } + } + }, + "/projects/{projectName}/pools/{poolName}/schedules": { + "get": { + "operationId": "DevBoxes_ListSchedulesByPool", + "description": "Lists all schedules within a pool that are configured by your project administrator.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "poolName", + "in": "path", + "description": "The name of a pool of Dev Boxes.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedSchedule" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all schedules within a pool that are configured by your project administrator.": { + "$ref": "./examples/DevBoxes_ListSchedulesByPool.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/pools/{poolName}/schedules/{scheduleName}": { + "get": { + "operationId": "DevBoxes_GetScheduleByPool", + "description": "Gets a schedule.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "poolName", + "in": "path", + "description": "Pool name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "scheduleName", + "in": "path", + "description": "Display name for the Schedule.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets a schedule.": { + "$ref": "./examples/DevBoxes_GetScheduleByPool.json" + } + } + } + }, + "/projects/{projectName}/schedules": { + "get": { + "operationId": "DevBoxes_ListSchedulesByProject", + "description": "Lists all schedules within a project that are configured by your project administrator.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedSchedule" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists all schedules within a project that are configured by your project administrator.": { + "$ref": "./examples/DevBoxes_ListSchedulesByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/abilities": { + "get": { + "operationId": "DevCenter_GetProjectAbilities", + "description": "Gets the signed-in user's permitted abilities in a project.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": " The AAD object id of the user. If value is 'me', the identity is taken from the\n authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectAbilities" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets the signed-in user's permitted abilities in a project.": { + "$ref": "./examples/DevCenter_GetProjectAbilities.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes": { + "get": { + "operationId": "DevBoxes_ListDevBoxesByUser", + "description": "Lists Dev Boxes in the project for a particular user.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedDevBox" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists Dev Boxes in the project for a particular user.": { + "$ref": "./examples/DevBoxes_ListDevBoxesByUser.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}": { + "get": { + "operationId": "DevBoxes_GetDevBoxByUser", + "description": "Gets a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBox" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets a Dev Box.": { + "$ref": "./examples/DevBoxes_GetDevBoxByUser.json" + } + } + }, + "put": { + "operationId": "DevBoxes_CreateDevBox", + "description": "Creates or replaces a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute the operation.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "The name of a Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "body", + "in": "body", + "description": "Represents the body request of a Dev Box creation. Dev Box Pool name is required. Optionally set the owner of the Dev Box as local administrator", + "required": true, + "schema": { + "$ref": "#/definitions/DevBox" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBox" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/DevBox" + }, + "headers": { + "Location": { + "type": "string", + "format": "uri", + "description": "The location of an instance of DevBox" + }, + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Creates or replaces a Dev Box.": { + "$ref": "./examples/DevBoxes_CreateDevBox.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "DevBoxes_DeleteDevBox", + "description": "Deletes a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "The name of a Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "headers": { + "Location": { + "type": "string" + }, + "Operation-Location": { + "type": "string" + } + } + }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Deletes a Dev Box.": { + "$ref": "./examples/DevBoxes_DeleteDevBox.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:start": { + "post": { + "operationId": "DevBoxes_StartDevBox", + "description": "Starts a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "headers": { + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Starts a Dev Box.": { + "$ref": "./examples/DevBoxes_StartDevBox.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:stop": { + "post": { + "operationId": "DevBoxes_StopDevBox", + "description": "Stops a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "hibernate", + "in": "query", + "description": "Optional parameter to hibernate the dev box.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "headers": { + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Stops a Dev Box.": { + "$ref": "./examples/DevBoxes_StopDevBox.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:restart": { + "post": { + "operationId": "DevBoxes_RestartDevBox", + "description": "Restarts a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "headers": { + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Restarts a Dev Box.": { + "$ref": "./examples/DevBoxes_RestartDevBox.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:repair": { + "post": { + "operationId": "DevBoxes_RepairDevBox", + "description": "Attempts automated repair steps to resolve common problems on a Dev Box. The Dev Box may restart during this operation.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "headers": { + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Attempts automated repair steps to resolve common problems on a Dev Box. The Dev Box may restart during this operation.": { + "$ref": "./examples/DevBoxes_RepairDevBox.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions": { + "get": { + "operationId": "DevBoxes_ListActions", + "description": "Lists actions on a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedDevBoxAction" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists actions on a Dev Box.": { + "$ref": "./examples/DevBoxes_ListActions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions/{actionName}": { + "get": { + "operationId": "DevBoxes_GetAction", + "description": "Gets an action.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "actionName", + "in": "path", + "description": "The name of the action.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxAction" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets an action.": { + "$ref": "./examples/DevBoxes_GetAction.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions/{actionName}:skip": { + "post": { + "operationId": "DevBoxes_SkipAction", + "description": "Skips an occurrence of an action.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "actionName", + "in": "path", + "description": "The name of the action.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Skips an occurrence of an action.": { + "$ref": "./examples/DevBoxes_SkipAction.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions/{actionName}:delay": { + "post": { + "operationId": "DevBoxes_DelayAction", + "description": "Delays the occurrence of an action.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "actionName", + "in": "path", + "description": "The name of the action.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "until", + "in": "query", + "description": "The time to delay the Dev Box action or actions until.", + "required": true, + "type": "string", + "format": "date-time", + "x-ms-client-name": "delayUntil" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxAction" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delays the occurrence of an action.": { + "$ref": "./examples/DevBoxes_DelayAction.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions:delay": { + "post": { + "operationId": "DevBoxes_DelayActions", + "description": "Delays all actions.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "until", + "in": "query", + "description": "The time to delay the Dev Box action or actions until.", + "required": true, + "type": "string", + "format": "date-time", + "x-ms-client-name": "delayUntil" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedDevBoxActionDelayResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delays all actions.": { + "$ref": "./examples/DevBoxes_DelayActions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups": { + "get": { + "operationId": "DevBoxes_ListCustomizationGroups", + "description": " Lists customization groups on the Dev Box. Listed customization groups exclude \n task information unless specified via the include parameter.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "include", + "in": "query", + "description": "Optional query parameter to specify what properties should be included in the response.", + "required": false, + "type": "string", + "enum": [ + "tasks" + ], + "x-ms-enum": { + "name": "ListCustomizationGroupsIncludeProperty", + "modelAsString": true, + "values": [ + { + "name": "tasks", + "value": "tasks", + "description": "Include list of tasks in the response." + } + ] + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedCustomizationGroup" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists customization groups on the Dev Box. Listed customization groups exclude task information unless specified via the include parameter.": { + "$ref": "./examples/DevBoxes_ListCustomizationGroups.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups/{customizationGroupName}": { + "get": { + "operationId": "DevBoxes_GetCustomizationGroup", + "description": " Gets a customization group.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "customizationGroupName", + "in": "path", + "description": "Name of the customization group.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomizationGroup" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets a customization group.": { + "$ref": "./examples/DevBoxes_GetCustomizationGroup.json" + } + } + }, + "put": { + "operationId": "DevBoxes_CreateCustomizationGroup", + "description": "Applies customizations to the Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": " The AAD object id of the user. If value is 'me', the identity is taken from the \n authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "The name of a Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "customizationGroupName", + "in": "path", + "description": "A customization group name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "body", + "in": "body", + "description": "Represents the body request of a Dev Box creation. Dev Box Pool name is required. Optionally set the owner of the Dev Box as local administrator", + "required": true, + "schema": { + "$ref": "#/definitions/CustomizationGroup" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomizationGroup" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Applies customizations to the Dev Box.": { + "$ref": "./examples/DevBoxes_CreateCustomizationGroup.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups/{customizationGroupName}/logs/{customizationTaskId}": { + "get": { + "operationId": "DevBoxes_GetCustomizationTaskLog", + "description": "Gets the log for a customization task.", + "produces": [ + "text/plain", + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": " The AAD object id of the user. If value is 'me', the identity is taken from the \n authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "The name of a Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "customizationGroupName", + "in": "path", + "description": "A customization group name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "customizationTaskId", + "in": "path", + "description": "A customization task ID.", + "required": true, + "type": "string", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets the log for a customization task.": { + "$ref": "./examples/DevBoxes_GetCustomizationTaskLog.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/operations": { + "get": { + "operationId": "DevBoxes_ListOperations", + "description": "Lists operations on the Dev Box which have occurred within the past 90 days.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedDevBoxOperation" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists operations on the Dev Box which have occurred within the past 90 days.": { + "$ref": "./examples/DevBoxes_ListOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/operations/{operationId}": { + "get": { + "operationId": "DevBoxes_GetOperation", + "description": "Gets an operation on a Dev Box.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "Display name for the Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "operationId", + "in": "path", + "description": "Unique identifier for the Dev Box operation.", + "required": true, + "type": "string", + "format": "uuid", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxOperation" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets an operation on a Dev Box.": { + "$ref": "./examples/DevBoxes_GetOperation.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/remoteConnection": { + "get": { + "operationId": "DevBoxes_GetRemoteConnection", + "description": "Gets RDP Connection info.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "devBoxName", + "in": "path", + "description": "The name of a Dev Box.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/RemoteConnection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets RDP Connection info.": { + "$ref": "./examples/DevBoxes_GetRemoteConnection.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/environments": { + "get": { + "operationId": "Environments_ListEnvironmentsByUser", + "description": "Lists the environments for a project and user.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedEnvironment" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists the environments for a project and user.": { + "$ref": "./examples/Environments_ListEnvironmentsByUser.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}": { + "get": { + "operationId": "Environments_GetEnvironmentByUser", + "description": "Gets an environment.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "Environment name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Environment" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets an environment.": { + "$ref": "./examples/Environments_GetEnvironmentByUser.json" + } + } + }, + "put": { + "operationId": "Environments_CreateOrReplaceEnvironment", + "description": "Creates or updates an environment.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "body", + "in": "body", + "description": "Represents an environment.", + "required": true, + "schema": { + "$ref": "#/definitions/Environment" + } + } + ], + "responses": { + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/Environment" + }, + "headers": { + "Operation-Location": { + "type": "string" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Creates or updates an environment.": { + "$ref": "./examples/Environments_CreateOrReplaceEnvironment.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Environments_PatchEnvironment", + "description": "Partially updates an environment.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "body", + "in": "body", + "description": "Represents an environment.", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Environment" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Partially updates an environment.": { + "$ref": "./examples/Environments_PatchEnvironment.json" + } + } + }, + "delete": { + "operationId": "Environments_DeleteEnvironment", + "description": "Deletes an environment and all its associated resources", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "headers": { + "Location": { + "type": "string" + }, + "Operation-Location": { + "type": "string" + } + } + }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Deletes an environment and all its associated resources.": { + "$ref": "./examples/Environments_DeleteEnvironment.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions": { + "get": { + "operationId": "Environments_ListActions", + "description": "Get all scheduled actions for a user within an environment.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "Environment name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedEnvironmentAction" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get all scheduled actions for a user within an environment.": { + "$ref": "./examples/Environments_ListActions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions/{actionName}": { + "get": { + "operationId": "Environments_GetAction", + "description": "Retrieve a specific environment action.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "Environment name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "actionName", + "in": "path", + "description": "Uniquely identifies the action.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentAction" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Retrieve a specific environment action.": { + "$ref": "./examples/Environments_GetAction.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions/{actionName}:skip": { + "post": { + "operationId": "Environments_SkipAction", + "description": "Skips an occurrence of an action.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "Environment name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "actionName", + "in": "path", + "description": "Uniquely identifies the action.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Skips an occurrence of an action.": { + "$ref": "./examples/Environments_SkipAction.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions/{actionName}:delay": { + "post": { + "operationId": "Environments_DelayAction", + "description": "Delays the occurrence of an action.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "Environment name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "actionName", + "in": "path", + "description": "Uniquely identifies the action.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "until", + "in": "query", + "description": "The time to delay the Environment action until.", + "required": true, + "type": "string", + "format": "date-time" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentAction" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delays the occurrence of an action.": { + "$ref": "./examples/Environments_DelayAction.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/operations": { + "get": { + "operationId": "Environments_ListOperations", + "description": "Lists operations on the environment which have occurred within the past 90 days", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "Environment name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedEnvironmentOperation" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists operations on the environment which have occurred within the past 90 days.": { + "$ref": "./examples/Environments_ListOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/operations/{operationId}": { + "get": { + "operationId": "Environments_GetOperation", + "description": "Gets an environment action result.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "Name of the project.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "Environment name.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "operationId", + "in": "path", + "description": "Unique identifier for the environment operation.", + "required": true, + "type": "string", + "format": "uuid", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentOperation" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets an environment action result.": { + "$ref": "./examples/Environments_GetOperation.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/operations/{operationId}/logs": { + "get": { + "operationId": "Environments_GetLogsByOperation", + "description": "Gets the logs for an operation on an environment.", + "produces": [ + "text/plain", + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "operationId", + "in": "path", + "description": "The id of the operation on an environment.", + "required": true, + "type": "string", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets the logs for an operation on an environment.": { + "$ref": "./examples/Environments_GetLogsByOperation.json" + } + } + } + }, + "/projects/{projectName}/users/{userId}/environments/{environmentName}/outputs": { + "get": { + "operationId": "Environments_GetOutputs", + "description": "Gets Outputs from the environment.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "projectName", + "in": "path", + "description": "The DevCenter Project upon which to execute operations.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + }, + { + "name": "environmentName", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentOutputs" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets Outputs from the environment.": { + "$ref": "./examples/Environments_GetOutputs.json" + } + } + } + }, + "/users/{userId}/devboxes": { + "get": { + "operationId": "DevBoxes_ListAllDevBoxesByUser", + "description": "Lists Dev Boxes in the Dev Center for a particular user.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "userId", + "in": "path", + "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedDevBox" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Lists Dev Boxes in the project for a particular user.": { + "$ref": "./examples/DevBoxes_ListAllDevBoxesByUser.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Azure.Core.Foundations.Error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Azure.Core.Foundations.Error" + }, + "x-ms-identifiers": [] + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "An object containing more specific information than the current object about the error." + } + }, + "required": [ + "code", + "message" + ] + }, + "Azure.Core.Foundations.ErrorResponse": { + "type": "object", + "description": "A response containing error details.", + "properties": { + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "The error object." + } + }, + "required": [ + "error" + ] + }, + "Azure.Core.Foundations.InnerError": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "Inner error." + } + } + }, + "Azure.Core.Foundations.OperationState": { + "type": "string", + "description": "Enum describing allowed operation states.", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationState", + "modelAsString": true, + "values": [ + { + "name": "NotStarted", + "value": "NotStarted", + "description": "The operation has not started." + }, + { + "name": "Running", + "value": "Running", + "description": "The operation is in progress." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The operation has completed successfully." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The operation has failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The operation has been canceled by the user." + } + ] + } + }, + "Azure.Core.azureLocation": { + "type": "string", + "description": "Represents an Azure geography region where supported resource providers live." + }, + "Azure.Core.uuid": { + "type": "string", + "format": "uuid", + "description": "Universally Unique Identifier" + }, + "Catalog": { + "type": "object", + "description": "A catalog.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the catalog." + }, + "name": { + "type": "string", + "description": "Name of the catalog.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + } + }, + "required": [ + "uri", + "name" + ] + }, + "CustomizationGroup": { + "type": "object", + "description": "Represents a list of tasks to apply to a Dev Box.", + "properties": { + "tasks": { + "type": "array", + "description": "Tasks to apply. Note by default tasks are excluded from the response when\nlisting customization groups. To include them, use the `include=tasks` query\nparameter.", + "items": { + "$ref": "#/definitions/CustomizationTask" + } + }, + "uri": { + "type": "string", + "description": "The unique URI of the customization group.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the customization group.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/CustomizationGroupStatus", + "description": "Status of the customization group.", + "readOnly": true + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the customization group.", + "readOnly": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "End time of the customization group.", + "readOnly": true + } + }, + "required": [ + "name" + ] + }, + "CustomizationGroupStatus": { + "type": "string", + "description": "Status of a customization group.", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed", + "ValidationFailed" + ], + "x-ms-enum": { + "name": "CustomizationGroupStatus", + "modelAsString": true, + "values": [ + { + "name": "NotStarted", + "value": "NotStarted", + "description": "The customization group has not yet started." + }, + { + "name": "Running", + "value": "Running", + "description": "The customization group is currently executing." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "All tasks in the customization group successfully executed." + }, + { + "name": "Failed", + "value": "Failed", + "description": "At least one task in the customization group failed." + }, + { + "name": "ValidationFailed", + "value": "ValidationFailed", + "description": "At least one task in the customization group failed validation." + } + ] + } + }, + "CustomizationTask": { + "type": "object", + "description": "A customization task to run on a Dev Box.", + "properties": { + "name": { + "type": "string", + "description": "Name of the task.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "parameters": { + "type": "object", + "description": "Parameters for the task.", + "additionalProperties": { + "type": "string" + } + }, + "displayName": { + "type": "string", + "description": "Display name to help differentiate multiple instances of the same task." + }, + "timeoutInSeconds": { + "type": "integer", + "format": "int32", + "description": "Timeout, in seconds. Overrides any timeout provided on the task definition." + }, + "runAs": { + "$ref": "#/definitions/CustomizationTaskExecutionAccount", + "description": "What account to run the task as." + }, + "id": { + "type": "string", + "description": "ID of the task instance.", + "readOnly": true + }, + "logUri": { + "type": "string", + "description": "The unique URI for retrieving the task logs.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/CustomizationTaskStatus", + "description": "Status of the task.", + "readOnly": true + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the task.", + "readOnly": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "End time of the task.", + "readOnly": true + } + }, + "required": [ + "name" + ] + }, + "CustomizationTaskDefinition": { + "type": "object", + "description": "Represents a task to be used in customizing a Dev Box.", + "properties": { + "name": { + "type": "string", + "description": "Full name of the task: {catalogName}/{taskName}.", + "readOnly": true + }, + "catalogName": { + "type": "string", + "description": "Name of the catalog that the task belongs to.", + "readOnly": true + }, + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the customization task.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the task." + }, + "parameters": { + "type": "object", + "description": "Parameters for the task.", + "additionalProperties": { + "$ref": "#/definitions/CustomizationTaskDefinitionParameter" + } + } + }, + "required": [ + "name", + "catalogName" + ] + }, + "CustomizationTaskDefinitionParameter": { + "type": "object", + "description": "Parameters for a customization task.", + "properties": { + "description": { + "type": "string", + "description": "Description of the parameter." + }, + "type": { + "$ref": "#/definitions/CustomizationTaskDefinitionParameterType", + "description": "Type of the parameter." + }, + "required": { + "type": "boolean", + "description": "Whether or not the parameter is required.", + "readOnly": true + }, + "default": { + "type": "string", + "description": "Default value for the parameter." + }, + "allowed": { + "type": "array", + "description": "Allowed values for the parameter.", + "items": { + "type": "string" + } + } + }, + "required": [ + "type" + ] + }, + "CustomizationTaskDefinitionParameterType": { + "type": "string", + "description": "Type of the parameter.", + "enum": [ + "string", + "number", + "boolean" + ], + "x-ms-enum": { + "name": "CustomizationTaskDefinitionParameterType", + "modelAsString": true, + "values": [ + { + "name": "string", + "value": "string", + "description": "The parameter accepts a string value." + }, + { + "name": "number", + "value": "number", + "description": "The parameter accepts a number value." + }, + { + "name": "boolean", + "value": "boolean", + "description": "The parameter accepts a boolean value." + } + ] + } + }, + "CustomizationTaskExecutionAccount": { + "type": "string", + "description": "What account to run the task as.", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "CustomizationTaskExecutionAccount", + "modelAsString": true, + "values": [ + { + "name": "System", + "value": "System", + "description": "The SYSTEM account." + }, + { + "name": "User", + "value": "User", + "description": "The account of the signed in user." + } + ] + } + }, + "CustomizationTaskList": { + "type": "object", + "description": "Represents a list of tasks to apply to a Dev Box", + "properties": { + "tasks": { + "type": "array", + "description": "Tasks to apply.", + "items": { + "$ref": "#/definitions/CustomizationTask" + } + } + } + }, + "CustomizationTaskListValidationError": { + "type": "object", + "description": "All of the validation errors for a customization task.", + "properties": { + "target": { + "$ref": "#/definitions/CustomizationTask", + "description": "The customization task that the error is about." + }, + "details": { + "type": "array", + "description": "List of validation errors for the task.", + "items": { + "$ref": "#/definitions/Azure.Core.Foundations.Error" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "target", + "details" + ] + }, + "CustomizationTaskListValidationOperationResult": { + "type": "object", + "description": "The operation result of validating a list of customization tasks.", + "properties": { + "id": { + "type": "string", + "description": "Fully qualified ID for the operation status.", + "readOnly": true + }, + "name": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "The operation id name.", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/Azure.Core.Foundations.OperationState", + "description": "Provisioning state of the resource." + }, + "resourceId": { + "type": "string", + "description": "The id of the resource." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the operation." + }, + "percentComplete": { + "type": "number", + "format": "double", + "description": "Percent of the operation that is complete.", + "minimum": 0, + "maximum": 100 + }, + "properties": { + "description": "Custom operation properties, populated only for a successful operation." + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Operation Error message." + }, + "result": { + "$ref": "#/definitions/CustomizationTaskListValidationResult", + "description": "Outcome of validation." + } + }, + "required": [ + "id", + "name", + "status" + ] + }, + "CustomizationTaskListValidationResult": { + "type": "object", + "description": "The result of validating a list of customization tasks.", + "properties": { + "validationResult": { + "$ref": "#/definitions/CustomizationTaskListValidationStatus", + "description": "Outcome of validation." + }, + "errors": { + "type": "array", + "description": "List of validation errors. Absent if no errors.", + "items": { + "$ref": "#/definitions/CustomizationTaskListValidationError" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "validationResult" + ] + }, + "CustomizationTaskListValidationStatus": { + "type": "string", + "description": "Status of validating a list of customization tasks.", + "enum": [ + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "CustomizationTaskListValidationStatus", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Validation succeeded." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Validation failed." + } + ] + } + }, + "CustomizationTaskStatus": { + "type": "string", + "description": "Status of a customization task.", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "FailedValidation", + "Skipped", + "TimedOut", + "Failed", + "WaitingForUserInputUac", + "WaitingForUserSession" + ], + "x-ms-enum": { + "name": "CustomizationTaskStatus", + "modelAsString": true, + "values": [ + { + "name": "NotStarted", + "value": "NotStarted", + "description": "The task has not yet started." + }, + { + "name": "Running", + "value": "Running", + "description": "The task is currently executing." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The task successfully executed." + }, + { + "name": "FailedValidation", + "value": "FailedValidation", + "description": "The task reference is not valid." + }, + { + "name": "Skipped", + "value": "Skipped", + "description": "he task was skipped." + }, + { + "name": "TimedOut", + "value": "TimedOut", + "description": "The task timed out." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The task failed to execute." + }, + { + "name": "WaitingForUserInputUac", + "value": "WaitingForUserInputUac", + "description": "The task is awaiting the User Account Control (UAC) prompt to be approved. (See more at: https://learn.microsoft.com/windows/security/application-security/application-control/user-account-control/)" + }, + { + "name": "WaitingForUserSession", + "value": "WaitingForUserSession", + "description": "The task is awaiting the user to connect to the Dev Box to execute." + } + ] + } + }, + "DevBox": { + "type": "object", + "description": "A Dev Box.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the dev box.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Display name for the Dev Box.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "projectName": { + "type": "string", + "description": "Name of the project this Dev Box belongs to.", + "readOnly": true + }, + "poolName": { + "type": "string", + "description": "The name of the Dev Box pool this machine belongs to.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "hibernateSupport": { + "$ref": "#/definitions/HibernateSupport", + "description": "Indicates whether hibernate is enabled/disabled or unknown.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/DevBoxProvisioningState", + "description": "The current provisioning state of the Dev Box.", + "readOnly": true + }, + "actionState": { + "type": "string", + "description": "The current action state of the Dev Box. This is state is based on previous\naction performed by user.", + "readOnly": true + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The current power state of the Dev Box.", + "readOnly": true + }, + "uniqueId": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "A unique identifier for the Dev Box. This is a GUID-formatted string (e.g.\n00000000-0000-0000-0000-000000000000).", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Provisioning or action error details. Populated only for error states.", + "readOnly": true + }, + "location": { + "$ref": "#/definitions/Azure.Core.azureLocation", + "description": "Azure region where this Dev Box is located. This will be the same region as the\nVirtual Network it is attached to.", + "readOnly": true + }, + "osType": { + "$ref": "#/definitions/OsType", + "description": "The operating system type of this Dev Box.", + "readOnly": true + }, + "user": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "The AAD object id of the user this Dev Box is assigned to.", + "readOnly": true + }, + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Information about the Dev Box's hardware resources.", + "readOnly": true + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage settings for this Dev Box.", + "readOnly": true + }, + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Information about the image used for this Dev Box.", + "readOnly": true + }, + "createdTime": { + "type": "string", + "format": "date-time", + "description": "Creation time of this Dev Box.", + "readOnly": true + }, + "localAdministrator": { + "$ref": "#/definitions/LocalAdminStatus", + "description": "Indicates whether the owner of the Dev Box is a local administrator.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "uri", + "name", + "poolName" + ] + }, + "DevBoxAction": { + "type": "object", + "description": "An action which will take place on a Dev Box.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI for the Dev Box action." + }, + "name": { + "type": "string", + "description": "The name of the action.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "actionType": { + "$ref": "#/definitions/DevBoxActionType", + "description": "The action that will be taken." + }, + "sourceId": { + "type": "string", + "description": "The id of the resource which triggered this action." + }, + "sourceUri": { + "type": "string", + "format": "uri", + "description": "The URI of the resource which triggered this action." + }, + "sourceType": { + "$ref": "#/definitions/DevBoxActionSourceType", + "description": "The type of the resource which triggered this action." + }, + "suspendedUntil": { + "type": "string", + "format": "date-time", + "description": "The earliest time that the action could occur (UTC)." + }, + "next": { + "$ref": "#/definitions/DevBoxNextAction", + "description": "Details about the next run of this action." + } + }, + "required": [ + "uri", + "name", + "actionType", + "sourceId", + "sourceUri", + "sourceType" + ] + }, + "DevBoxActionDelayResult": { + "type": "object", + "description": "The action delay result.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the action." + }, + "name": { + "type": "string", + "description": "The name of the action." + }, + "result": { + "$ref": "#/definitions/DevBoxActionDelayResultStatus", + "description": "The result of the delay operation on this action." + }, + "action": { + "$ref": "#/definitions/DevBoxAction", + "description": "The delayed action." + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Information about the error that occurred. Only populated on error." + } + }, + "required": [ + "uri", + "name", + "result" + ] + }, + "DevBoxActionDelayResultStatus": { + "type": "string", + "description": "The result of the delay operation on this action.", + "enum": [ + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "DevBoxActionDelayResultStatus", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The delay operation succeeded." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The delay operation failed." + } + ] + } + }, + "DevBoxActionSourceType": { + "type": "string", + "description": "The type of the resource which triggered the action.", + "enum": [ + "Pool", + "Schedule" + ], + "x-ms-enum": { + "name": "DevBoxActionSourceType", + "modelAsString": true, + "values": [ + { + "name": "Pool", + "value": "Pool", + "description": "The action was triggered by a Dev Box pool." + }, + { + "name": "Schedule", + "value": "Schedule", + "description": "The action was triggered by a Dev Box schedule." + } + ] + } + }, + "DevBoxActionType": { + "type": "string", + "description": "The type of action which will take place on a Dev Box.", + "enum": [ + "Stop" + ], + "x-ms-enum": { + "name": "DevBoxActionType", + "modelAsString": true, + "values": [ + { + "name": "Stop", + "value": "Stop", + "description": "The action will stop the Dev Box." + } + ] + } + }, + "DevBoxNextAction": { + "type": "object", + "description": "Details about the next run of an action.", + "properties": { + "scheduledTime": { + "type": "string", + "format": "date-time", + "description": "The time the action will be triggered (UTC)." + } + }, + "required": [ + "scheduledTime" + ] + }, + "DevBoxOperation": { + "type": "object", + "description": "Information about an operation on a Dev Box.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI for the Dev Box operation." + }, + "operationId": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "Unique identifier for the Dev Box operation.", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$", + "readOnly": true + }, + "kind": { + "$ref": "#/definitions/DevBoxOperationKind", + "description": "The kind of operation that occurred." + }, + "status": { + "$ref": "#/definitions/Azure.Core.Foundations.OperationState", + "description": "The operation status." + }, + "createdByObjectId": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "The object ID of the actor which initiated the operation." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "he time the operation started." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The time the operation finished." + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Provisioning or operation error details. Populated only for error states." + } + }, + "discriminator": "kind", + "required": [ + "uri", + "operationId", + "kind", + "status" + ] + }, + "DevBoxOperationKind": { + "type": "string", + "description": "The type of Dev Box operation.", + "enum": [ + "Start", + "Stop", + "Restart", + "Repair" + ], + "x-ms-enum": { + "name": "DevBoxOperationKind", + "modelAsString": true, + "values": [ + { + "name": "Start", + "value": "Start", + "description": "The operation represents a Dev Box start." + }, + { + "name": "Stop", + "value": "Stop", + "description": "The operation represents a Dev Box stop." + }, + { + "name": "Restart", + "value": "Restart", + "description": "The operation represents a Dev Box restart." + }, + { + "name": "Repair", + "value": "Repair", + "description": "The operation represents a Dev Box repair." + } + ] + } + }, + "DevBoxProvisioningState": { + "type": "string", + "description": "Indicates the provisioning state of the Dev Box.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Deleting", + "Updating", + "Starting", + "Stopping", + "Provisioning", + "ProvisionedWithWarning", + "InGracePeriod", + "NotProvisioned" + ], + "x-ms-enum": { + "name": "DevBoxProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Dev Box was successfully provisioned." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Dev Box failed to provision." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Dev Box provision was canceled." + }, + { + "name": "Creating", + "value": "Creating", + "description": "Dev Box is being created." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Dev Box is being deleted." + }, + { + "name": "Updating", + "value": "Updating", + "description": "Dev Box is updating." + }, + { + "name": "Starting", + "value": "Starting", + "description": "Dev Box is starting." + }, + { + "name": "Stopping", + "value": "Stopping", + "description": "Dev Box is stopping." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Dev Box is provisioning." + }, + { + "name": "ProvisionedWithWarning", + "value": "ProvisionedWithWarning", + "description": "Dev Box was provisioned with warning." + }, + { + "name": "InGracePeriod", + "value": "InGracePeriod", + "description": "Dev Box is in grace period." + }, + { + "name": "NotProvisioned", + "value": "NotProvisioned", + "description": "Dev Box is not provisioned." + } + ] + } + }, + "DevBoxRepairOperation": { + "type": "object", + "description": "Information about a start operation on a Dev Box.", + "properties": { + "result": { + "$ref": "#/definitions/DevBoxRepairOperationResult", + "description": "The result of the repair operation." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DevBoxOperation" + } + ], + "x-ms-discriminator-value": "Repair" + }, + "DevBoxRepairOperationResult": { + "type": "object", + "description": "Information about the result of a repair operation on a Dev Box.", + "properties": { + "repairOutcome": { + "$ref": "#/definitions/DevBoxRepairOutcome", + "description": "The outcome of the repair operation." + }, + "code": { + "type": "string", + "description": "The result code associated with the repair operation." + }, + "message": { + "type": "string", + "description": "The result message associated with the repair operation." + } + } + }, + "DevBoxRepairOutcome": { + "type": "string", + "description": "The action taken during a repair operation.", + "enum": [ + "FixApplied", + "IssuesDetected", + "NoIssuesDetected" + ], + "x-ms-enum": { + "name": "DevBoxRepairOutcome", + "modelAsString": true, + "values": [ + { + "name": "FixApplied", + "value": "FixApplied", + "description": "A fix for an issue was automatically applied to the Dev Box." + }, + { + "name": "IssuesDetected", + "value": "IssuesDetected", + "description": "One or more issues was detected on the Dev Box, but they could not be fixed automatically." + }, + { + "name": "NoIssuesDetected", + "value": "NoIssuesDetected", + "description": "The service did not identify any issues on the Dev Box." + } + ] + } + }, + "DevBoxRestartOperation": { + "type": "object", + "description": "Information about a restart operation on a Dev Box.", + "allOf": [ + { + "$ref": "#/definitions/DevBoxOperation" + } + ], + "x-ms-discriminator-value": "Restart" + }, + "DevBoxStartOperation": { + "type": "object", + "description": "Information about a start operation on a Dev Box.", + "allOf": [ + { + "$ref": "#/definitions/DevBoxOperation" + } + ], + "x-ms-discriminator-value": "Start" + }, + "DevBoxStopOperation": { + "type": "object", + "description": "Information about a stop operation on a Dev Box.", + "allOf": [ + { + "$ref": "#/definitions/DevBoxOperation" + } + ], + "x-ms-discriminator-value": "Stop" + }, + "Environment": { + "type": "object", + "description": "Properties of an environment.", + "properties": { + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The time the expiration date will be triggered (UTC), after which the\nenvironment and associated resources will be deleted." + }, + "parameters": { + "type": "object", + "description": "Parameters object for the environment.", + "additionalProperties": {} + }, + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the environment.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Environment name.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "environmentType": { + "type": "string", + "description": "Environment type.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "user": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "The AAD object id of the owner of this Environment.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/EnvironmentProvisioningState", + "description": "The provisioning state of the environment.", + "readOnly": true + }, + "resourceGroupId": { + "type": "string", + "description": "The identifier of the resource group containing the environment's resources.", + "readOnly": true + }, + "catalogName": { + "type": "string", + "description": "Name of the catalog.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "environmentDefinitionName": { + "type": "string", + "description": "Name of the environment definition.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Provisioning error details. Populated only for error states.", + "readOnly": true + } + }, + "required": [ + "uri", + "name", + "environmentType", + "catalogName", + "environmentDefinitionName" + ] + }, + "EnvironmentAction": { + "type": "object", + "description": "An upcoming Environment Action.", + "properties": { + "name": { + "type": "string", + "description": "Uniquely identifies the action.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "uri": { + "type": "string", + "format": "uri", + "description": "Uri of the action resource.", + "readOnly": true + }, + "actionType": { + "$ref": "#/definitions/EnvironmentActionType", + "description": "The action that will be taken." + }, + "next": { + "$ref": "#/definitions/EnvironmentNextAction", + "description": "Details about the next run of this action." + }, + "lastModifiedBy": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "Object Id of the user who last modified the action.", + "readOnly": true + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "Time the object was last modified." + } + }, + "required": [ + "name", + "uri", + "actionType" + ] + }, + "EnvironmentActionType": { + "type": "string", + "description": "The scheduled action types.", + "enum": [ + "Delete" + ], + "x-ms-enum": { + "name": "EnvironmentActionType", + "modelAsString": true, + "values": [ + { + "name": "Delete", + "value": "Delete", + "description": "The action will delete the environment and associated resources." + } + ] + } + }, + "EnvironmentDefinition": { + "type": "object", + "description": "An environment definition.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the environment definition." + }, + "id": { + "type": "string", + "description": "The ID of the environment definition." + }, + "name": { + "type": "string", + "description": "Name of the environment definition.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "catalogName": { + "type": "string", + "description": "Name of the catalog." + }, + "description": { + "type": "string", + "description": "A short description of the environment definition." + }, + "parameters": { + "type": "array", + "description": "Input parameters passed to an environment.", + "items": { + "$ref": "#/definitions/EnvironmentDefinitionParameter" + } + }, + "parametersSchema": { + "type": "string", + "description": "JSON schema defining the parameters object passed to an environment." + }, + "templatePath": { + "type": "string", + "description": "Path to the Environment Definition entrypoint file." + } + }, + "required": [ + "uri", + "id", + "name", + "catalogName" + ] + }, + "EnvironmentDefinitionParameter": { + "type": "object", + "description": "Properties of an Environment Definition parameter", + "properties": { + "id": { + "type": "string", + "description": "Unique ID of the parameter." + }, + "name": { + "type": "string", + "description": "Display name of the parameter." + }, + "description": { + "type": "string", + "description": "Description of the parameter." + }, + "default": { + "type": "string", + "description": "Default value of the parameter." + }, + "type": { + "$ref": "#/definitions/ParameterType", + "description": "A string of one of the basic JSON types (number, integer, array, object,\nboolean, string)." + }, + "readOnly": { + "type": "boolean", + "description": "Whether or not this parameter is read-only. If true, default should have a\nvalue." + }, + "required": { + "type": "boolean", + "description": "Whether or not this parameter is required." + }, + "allowed": { + "type": "array", + "description": "An array of allowed values.", + "minItems": 1, + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "type", + "required" + ] + }, + "EnvironmentDeleteOperation": { + "type": "object", + "description": "Information about a delete operation on an environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentOperation" + } + ], + "x-ms-discriminator-value": "Delete" + }, + "EnvironmentDeployOperation": { + "type": "object", + "description": "Information about a deploy operation on an environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentOperation" + } + ], + "x-ms-discriminator-value": "Deploy" + }, + "EnvironmentNextAction": { + "type": "object", + "description": "Details about the next run of an action.", + "properties": { + "scheduledTime": { + "type": "string", + "format": "date-time", + "description": "The time the action will be triggered (UTC)." + } + } + }, + "EnvironmentOperation": { + "type": "object", + "description": "Information about an operation on an environment.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI for the environment operation." + }, + "operationId": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "Unique identifier for the environment operation.", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$", + "readOnly": true + }, + "kind": { + "$ref": "#/definitions/EnvironmentOperationKind", + "description": "The kind of operation that occurred." + }, + "status": { + "$ref": "#/definitions/Azure.Core.Foundations.OperationState", + "description": "The operation status." + }, + "createdByObjectId": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "The object ID of the actor which initiated the operation." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The time the operation started." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The time the operation finished." + }, + "environmentParameters": { + "type": "object", + "description": "Parameters object for the environment at the time of the operation.", + "additionalProperties": {} + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Provisioning or operation error details. Populated only for error states." + } + }, + "discriminator": "kind", + "required": [ + "uri", + "operationId", + "kind", + "status" + ] + }, + "EnvironmentOperationKind": { + "type": "string", + "description": "The type of environment operation.", + "enum": [ + "Deploy", + "Delete" + ], + "x-ms-enum": { + "name": "EnvironmentOperationKind", + "modelAsString": true, + "values": [ + { + "name": "Deploy", + "value": "Deploy", + "description": "The operation represents a deployment." + }, + { + "name": "Delete", + "value": "Delete", + "description": "The operation represents a delete." + } + ] + } + }, + "EnvironmentOutput": { + "type": "object", + "description": "Output from environment deployment.", + "properties": { + "type": { + "$ref": "#/definitions/EnvironmentOutputType", + "description": "Type of the output value." + }, + "value": { + "description": "The output value." + }, + "sensitive": { + "type": "boolean", + "description": "Indicates if the value is sensitive." + } + } + }, + "EnvironmentOutputType": { + "type": "string", + "description": "Type of the output value.", + "enum": [ + "array", + "boolean", + "number", + "object", + "string" + ], + "x-ms-enum": { + "name": "EnvironmentOutputType", + "modelAsString": true, + "values": [ + { + "name": "array", + "value": "array", + "description": "The output is an array of values." + }, + { + "name": "boolean", + "value": "boolean", + "description": "The output is a boolean value." + }, + { + "name": "number", + "value": "number", + "description": "The output is a number value." + }, + { + "name": "object", + "value": "object", + "description": "The output is an object value." + }, + { + "name": "string", + "value": "string", + "description": "The output is a string value." + } + ] + } + }, + "EnvironmentOutputs": { + "type": "object", + "description": "Outputs from environment deployment.", + "properties": { + "outputs": { + "type": "object", + "description": "The outputs Names and Values.", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentOutput" + } + } + } + }, + "EnvironmentProvisioningState": { + "type": "string", + "description": "The provisioning state of the environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Accepted", + "Deleting", + "Updating", + "Preparing", + "Running", + "Syncing", + "MovingResources", + "TransientFailure", + "StorageProvisioningFailed" + ], + "x-ms-enum": { + "name": "EnvironmentProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The environment was successfully provisioned." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The environment failed to provision." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The environment provisioning was canceled." + }, + { + "name": "Creating", + "value": "Creating", + "description": "The environment is creating." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "The environment was accepted." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The environment is deleting." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The environment is updating." + }, + { + "name": "Preparing", + "value": "Preparing", + "description": "The environment is preparing." + }, + { + "name": "Running", + "value": "Running", + "description": "The environment is running." + }, + { + "name": "Syncing", + "value": "Syncing", + "description": "The environment is Syncing." + }, + { + "name": "MovingResources", + "value": "MovingResources", + "description": "The environment is moving resources." + }, + { + "name": "TransientFailure", + "value": "TransientFailure", + "description": "The environment has a transient failure." + }, + { + "name": "StorageProvisioningFailed", + "value": "StorageProvisioningFailed", + "description": "The environment storage provisioning failed." + } + ] + } + }, + "EnvironmentType": { + "type": "object", + "description": "Properties of an environment type.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the environment type." + }, + "name": { + "type": "string", + "description": "Name of the environment type.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "deploymentTargetId": { + "type": "string", + "description": "Id of a subscription or management group that the environment type will be\nmapped to. The environment's resources will be deployed into this subscription\nor management group." + }, + "status": { + "$ref": "#/definitions/EnvironmentTypeEnableStatus", + "description": "Indicates whether this environment type is enabled for use in this project." + }, + "displayName": { + "type": "string", + "description": "Display name of the environment type." + } + }, + "required": [ + "uri", + "name", + "deploymentTargetId", + "status" + ] + }, + "EnvironmentTypeAbilities": { + "type": "object", + "description": "Abilities a user has on an environment type.", + "properties": { + "abilitiesAsAdmin": { + "type": "array", + "description": "The abilities the user has to perform actions on the environment type as an admin.", + "items": { + "$ref": "#/definitions/EnvironmentTypeAbilityAsAdmin" + } + }, + "abilitiesAsDeveloper": { + "type": "array", + "description": "The abilities the user has to perform actions on the environment type as a developer.", + "items": { + "$ref": "#/definitions/EnvironmentTypeAbilityAsDeveloper" + } + } + }, + "required": [ + "abilitiesAsAdmin", + "abilitiesAsDeveloper" + ] + }, + "EnvironmentTypeAbilityAsAdmin": { + "type": "string", + "description": "An ability the user has to perform an action on the environment type as an admin.", + "enum": [ + "DeleteEnvironments", + "ManageEnvironmentActions", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "WriteEnvironments" + ], + "x-ms-enum": { + "name": "EnvironmentTypeAbilityAsAdmin", + "modelAsString": true, + "values": [ + { + "name": "DeleteEnvironments", + "value": "DeleteEnvironments", + "description": "User can delete environments." + }, + { + "name": "ManageEnvironmentActions", + "value": "ManageEnvironmentActions", + "description": "User can delay and skip actions on environments." + }, + { + "name": "ReadEnvironmentActions", + "value": "ReadEnvironmentActions", + "description": "User can read actions on environments." + }, + { + "name": "ReadEnvironmentOutputs", + "value": "ReadEnvironmentOutputs", + "description": "User can read outputs on environments." + }, + { + "name": "ReadEnvironments", + "value": "ReadEnvironments", + "description": "User can read environments." + }, + { + "name": "WriteEnvironments", + "value": "WriteEnvironments", + "description": "User can create new environments or replace and update existing ones." + } + ] + } + }, + "EnvironmentTypeAbilityAsDeveloper": { + "type": "string", + "description": "An ability the user has to perform an action on the environment type as a developer.", + "enum": [ + "DeleteEnvironments", + "ManageEnvironmentActions", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "WriteEnvironments" + ], + "x-ms-enum": { + "name": "EnvironmentTypeAbilityAsDeveloper", + "modelAsString": true, + "values": [ + { + "name": "DeleteEnvironments", + "value": "DeleteEnvironments", + "description": "User can delete environments." + }, + { + "name": "ManageEnvironmentActions", + "value": "ManageEnvironmentActions", + "description": "User can delay and skip actions on environments." + }, + { + "name": "ReadEnvironmentActions", + "value": "ReadEnvironmentActions", + "description": "User can read actions on environments." + }, + { + "name": "ReadEnvironmentOutputs", + "value": "ReadEnvironmentOutputs", + "description": "User can read outputs on environments." + }, + { + "name": "ReadEnvironments", + "value": "ReadEnvironments", + "description": "User can read environments." + }, + { + "name": "WriteEnvironments", + "value": "WriteEnvironments", + "description": "User can create new environments or replace and update existing ones." + } + ] + } + }, + "EnvironmentTypeEnableStatus": { + "type": "string", + "description": "Indicates whether an environment type is enabled for use in a project.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EnvironmentTypeEnableStatus", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "The environment type is enabled for use in the project." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "The environment type is not enabled for use in the project." + } + ] + } + }, + "EnvironmentUpdate": { + "type": "object", + "description": "Properties of an environment.", + "properties": { + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The time the expiration date will be triggered (UTC), after which the\nenvironment and associated resources will be deleted." + }, + "parameters": { + "type": "object", + "description": "Parameters object for the environment.", + "additionalProperties": {} + } + } + }, + "HardwareProfile": { + "type": "object", + "description": "Hardware specifications for the Dev Box.", + "properties": { + "skuName": { + "$ref": "#/definitions/SkuName", + "description": "The name of the SKU.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "description": "The number of vCPUs available for the Dev Box.", + "readOnly": true + }, + "memoryGB": { + "type": "integer", + "format": "int32", + "description": "The amount of memory available for the Dev Box.", + "readOnly": true + } + } + }, + "HibernateSupport": { + "type": "string", + "description": "Indicates whether hibernate is supported and enabled, disabled, or unsupported by the operating system. Unknown hibernate support is represented as null.", + "enum": [ + "Enabled", + "Disabled", + "OsUnsupported" + ], + "x-ms-enum": { + "name": "HibernateSupport", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Hibernate is enabled." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Hibernate is not enabled." + }, + { + "name": "OsUnsupported", + "value": "OsUnsupported", + "description": "Hibernate is not supported by the operating system." + } + ] + } + }, + "ImageReference": { + "type": "object", + "description": "Specifies information about the image used.", + "properties": { + "name": { + "type": "string", + "description": "The name of the image used.", + "readOnly": true + }, + "version": { + "type": "string", + "description": "The version of the image.", + "readOnly": true + }, + "operatingSystem": { + "type": "string", + "description": "The operating system of the image.", + "readOnly": true + }, + "osBuildNumber": { + "type": "string", + "description": "The operating system build number of the image.", + "readOnly": true + }, + "publishedDate": { + "type": "string", + "format": "date-time", + "description": "The datetime that the backing image version was published.", + "readOnly": true + } + } + }, + "LocalAdminStatus": { + "type": "string", + "description": "Indicates whether owners of Dev Boxes in a pool are local administrators on the Dev Boxes.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "LocalAdminStatus", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Owners of Dev Boxes in the pool are local administrators on the Dev Boxes." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Owners of Dev Boxes in the pool are not local administrators on the Dev Boxes." + } + ] + } + }, + "OperationStatus": { + "type": "object", + "description": "The current status of an async operation.", + "properties": { + "id": { + "type": "string", + "description": "Fully qualified ID for the operation status.", + "readOnly": true + }, + "name": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "The operation id name.", + "minLength": 36, + "maxLength": 36, + "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/Azure.Core.Foundations.OperationState", + "description": "Provisioning state of the resource." + }, + "resourceId": { + "type": "string", + "description": "The id of the resource." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the operation." + }, + "percentComplete": { + "type": "number", + "format": "double", + "description": "Percent of the operation that is complete.", + "minimum": 0, + "maximum": 100 + }, + "properties": { + "description": "Custom operation properties, populated only for a successful operation." + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Operation Error message." + } + }, + "required": [ + "id", + "name", + "status" + ] + }, + "OsDisk": { + "type": "object", + "description": "Settings for the operating system disk.", + "properties": { + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "The size of the OS Disk in gigabytes.", + "readOnly": true + } + } + }, + "OsType": { + "type": "string", + "description": "The operating system type.", + "enum": [ + "Windows" + ], + "x-ms-enum": { + "name": "OsType", + "modelAsString": true, + "values": [ + { + "name": "Windows", + "value": "Windows", + "description": "The Windows operating system." + } + ] + } + }, + "PagedCatalog": { + "type": "object", + "description": "Paged collection of Catalog items", + "properties": { + "value": { + "type": "array", + "description": "The Catalog items on this page", + "items": { + "$ref": "#/definitions/Catalog" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedCustomizationGroup": { + "type": "object", + "description": "Paged collection of CustomizationGroup items", + "properties": { + "value": { + "type": "array", + "description": "The CustomizationGroup items on this page", + "items": { + "$ref": "#/definitions/CustomizationGroup" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedCustomizationTaskDefinition": { + "type": "object", + "description": "The Customization Task list result.", + "properties": { + "value": { + "type": "array", + "description": "The CustomizationTaskDefinition items on this page", + "items": { + "$ref": "#/definitions/CustomizationTaskDefinition" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedDevBox": { + "type": "object", + "description": "Paged collection of DevBox items", + "properties": { + "value": { + "type": "array", + "description": "The DevBox items on this page", + "items": { + "$ref": "#/definitions/DevBox" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedDevBoxAction": { + "type": "object", + "description": "Paged collection of DevBoxAction items", + "properties": { + "value": { + "type": "array", + "description": "The DevBoxAction items on this page", + "items": { + "$ref": "#/definitions/DevBoxAction" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedDevBoxActionDelayResult": { + "type": "object", + "description": "Paged collection of DevBoxActionDelayResult items", + "properties": { + "value": { + "type": "array", + "description": "The DevBoxActionDelayResult items on this page", + "items": { + "$ref": "#/definitions/DevBoxActionDelayResult" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedDevBoxOperation": { + "type": "object", + "description": "Paged collection of DevBoxOperation items", + "properties": { + "value": { + "type": "array", + "description": "The DevBoxOperation items on this page", + "items": { + "$ref": "#/definitions/DevBoxOperation" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedEnvironment": { + "type": "object", + "description": "Paged collection of Environment items", + "properties": { + "value": { + "type": "array", + "description": "The Environment items on this page", + "items": { + "$ref": "#/definitions/Environment" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedEnvironmentAction": { + "type": "object", + "description": "Paged collection of EnvironmentAction items", + "properties": { + "value": { + "type": "array", + "description": "The EnvironmentAction items on this page", + "items": { + "$ref": "#/definitions/EnvironmentAction" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedEnvironmentDefinition": { + "type": "object", + "description": "Paged collection of EnvironmentDefinition items", + "properties": { + "value": { + "type": "array", + "description": "The EnvironmentDefinition items on this page", + "items": { + "$ref": "#/definitions/EnvironmentDefinition" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedEnvironmentOperation": { + "type": "object", + "description": "Paged collection of EnvironmentOperation items", + "properties": { + "value": { + "type": "array", + "description": "The EnvironmentOperation items on this page", + "items": { + "$ref": "#/definitions/EnvironmentOperation" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedEnvironmentType": { + "type": "object", + "description": "Paged collection of EnvironmentType items", + "properties": { + "value": { + "type": "array", + "description": "The EnvironmentType items on this page", + "items": { + "$ref": "#/definitions/EnvironmentType" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedPool": { + "type": "object", + "description": "Paged collection of Pool items", + "properties": { + "value": { + "type": "array", + "description": "The Pool items on this page", + "items": { + "$ref": "#/definitions/Pool" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedProject": { + "type": "object", + "description": "Paged collection of Project items", + "properties": { + "value": { + "type": "array", + "description": "The Project items on this page", + "items": { + "$ref": "#/definitions/Project" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedSchedule": { + "type": "object", + "description": "Paged collection of Schedule items", + "properties": { + "value": { + "type": "array", + "description": "The Schedule items on this page", + "items": { + "$ref": "#/definitions/Schedule" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ParameterType": { + "type": "string", + "description": "The type of data a parameter accepts.", + "enum": [ + "array", + "boolean", + "integer", + "number", + "object", + "string" + ], + "x-ms-enum": { + "name": "ParameterType", + "modelAsString": true, + "values": [ + { + "name": "array", + "value": "array", + "description": "The parameter accepts an array of values." + }, + { + "name": "boolean", + "value": "boolean", + "description": "The parameter accepts a boolean value." + }, + { + "name": "integer", + "value": "integer", + "description": "The parameter accepts an integer value." + }, + { + "name": "number", + "value": "number", + "description": "The parameter accepts a number value." + }, + { + "name": "object", + "value": "object", + "description": "The parameter accepts an object value." + }, + { + "name": "string", + "value": "string", + "description": "The parameter accepts a string value." + } + ] + } + }, + "Pool": { + "type": "object", + "description": "A pool of Dev Boxes.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the pool." + }, + "name": { + "type": "string", + "description": "Pool name.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "location": { + "$ref": "#/definitions/Azure.Core.azureLocation", + "description": "Azure region where Dev Boxes in the pool are located." + }, + "osType": { + "$ref": "#/definitions/OsType", + "description": "The operating system type of Dev Boxes in this pool." + }, + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Hardware settings for the Dev Boxes created in this pool." + }, + "hibernateSupport": { + "$ref": "#/definitions/HibernateSupport", + "description": "Indicates whether hibernate is enabled/disabled or unknown." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage settings for Dev Box created in this pool." + }, + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Image settings for Dev Boxes create in this pool." + }, + "localAdministrator": { + "$ref": "#/definitions/LocalAdminStatus", + "description": "Indicates whether owners of Dev Boxes in this pool are local administrators on\nthe Dev Boxes." + }, + "stopOnDisconnect": { + "$ref": "#/definitions/StopOnDisconnectConfiguration", + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool." + }, + "healthStatus": { + "$ref": "#/definitions/PoolHealthStatus", + "description": "Overall health status of the Pool. Indicates whether or not the Pool is\navailable to create Dev Boxes." + }, + "displayName": { + "type": "string", + "description": "Display name of the pool." + } + }, + "required": [ + "uri", + "name", + "location", + "healthStatus" + ] + }, + "PoolHealthStatus": { + "type": "string", + "description": "Pool status indicating whether a pool is available to create Dev Boxes.", + "enum": [ + "Unknown", + "Pending", + "Healthy", + "Warning", + "Unhealthy" + ], + "x-ms-enum": { + "name": "PoolHealthStatus", + "modelAsString": true, + "values": [ + { + "name": "Unknown", + "value": "Unknown", + "description": "The pool health status is not known." + }, + { + "name": "Pending", + "value": "Pending", + "description": "The pool health status waiting for health checks to run." + }, + { + "name": "Healthy", + "value": "Healthy", + "description": "The pool health status is healthy." + }, + { + "name": "Warning", + "value": "Warning", + "description": "The pool health status has one or more warnings." + }, + { + "name": "Unhealthy", + "value": "Unhealthy", + "description": "The pool health status is not healthy." + } + ] + } + }, + "PowerState": { + "type": "string", + "description": "The power states of a Dev Box.", + "enum": [ + "Unknown", + "Running", + "Deallocated", + "PoweredOff", + "Hibernated" + ], + "x-ms-enum": { + "name": "PowerState", + "modelAsString": true, + "values": [ + { + "name": "Unknown", + "value": "Unknown", + "description": "The Dev Box power state is not known." + }, + { + "name": "Running", + "value": "Running", + "description": "The Dev Box is running." + }, + { + "name": "Deallocated", + "value": "Deallocated", + "description": "The Dev Box is deallocated." + }, + { + "name": "PoweredOff", + "value": "PoweredOff", + "description": "The Dev Box is powered off." + }, + { + "name": "Hibernated", + "value": "Hibernated", + "description": "The Dev Box is hibernated." + } + ] + } + }, + "Project": { + "type": "object", + "description": "Project details.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the project." + }, + "name": { + "type": "string", + "description": "Name of the project.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the project." + }, + "maxDevBoxesPerUser": { + "type": "integer", + "format": "int32", + "description": "When specified, indicates the maximum number of Dev Boxes a single user can\ncreate across all pools in the project.", + "minimum": 0 + }, + "displayName": { + "type": "string", + "description": "Display name of the pool." + } + }, + "required": [ + "uri", + "name" + ] + }, + "ProjectAbilities": { + "type": "object", + "description": "Abilities a user has on a project.", + "properties": { + "abilitiesAsAdmin": { + "type": "array", + "description": "The abilities the user has to perform actions on the project as an admin.", + "items": { + "$ref": "#/definitions/ProjectAbilityAsAdmin" + } + }, + "abilitiesAsDeveloper": { + "type": "array", + "description": "The abilities the user has to perform actions on the project as a developer.", + "items": { + "$ref": "#/definitions/ProjectAbilityAsDeveloper" + } + } + }, + "required": [ + "abilitiesAsAdmin", + "abilitiesAsDeveloper" + ] + }, + "ProjectAbilityAsAdmin": { + "type": "string", + "description": "An ability the user has to perform an action on the project as an admin.", + "enum": [ + "DeleteDevBoxes", + "DeleteEnvironments", + "ManageEnvironmentActions", + "ReadDevBoxes", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "StartDevBoxes", + "StopDevBoxes", + "WriteDevBoxes", + "WriteEnvironments" + ], + "x-ms-enum": { + "name": "ProjectAbilityAsAdmin", + "modelAsString": true, + "values": [ + { + "name": "DeleteDevBoxes", + "value": "DeleteDevBoxes", + "description": "User can delete dev boxes." + }, + { + "name": "DeleteEnvironments", + "value": "DeleteEnvironments", + "description": "User can delete environments." + }, + { + "name": "ManageEnvironmentActions", + "value": "ManageEnvironmentActions", + "description": "User can delay and skip actions on environments." + }, + { + "name": "ReadDevBoxes", + "value": "ReadDevBoxes", + "description": "User can read dev boxes." + }, + { + "name": "ReadEnvironmentActions", + "value": "ReadEnvironmentActions", + "description": "User can read actions on environments." + }, + { + "name": "ReadEnvironmentOutputs", + "value": "ReadEnvironmentOutputs", + "description": "User can read outputs on environments." + }, + { + "name": "ReadEnvironments", + "value": "ReadEnvironments", + "description": "User can read environments." + }, + { + "name": "StartDevBoxes", + "value": "StartDevBoxes", + "description": "User can start dev boxes." + }, + { + "name": "StopDevBoxes", + "value": "StopDevBoxes", + "description": "User can stop dev boxes." + }, + { + "name": "WriteDevBoxes", + "value": "WriteDevBoxes", + "description": "User can create dev boxes." + }, + { + "name": "WriteEnvironments", + "value": "WriteEnvironments", + "description": "User can create new environments or replace and update existing ones." + } + ] + } + }, + "ProjectAbilityAsDeveloper": { + "type": "string", + "description": "An ability the user has to perform an action on the project as a developer.", + "enum": [ + "CustomizeDevBoxes", + "DeleteDevBoxes", + "DeleteEnvironments", + "ManageDevBoxActions", + "ManageEnvironmentActions", + "ReadDevBoxActions", + "ReadDevBoxes", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "ReadRemoteConnections", + "StartDevBoxes", + "StopDevBoxes", + "WriteDevBoxes", + "WriteEnvironments" + ], + "x-ms-enum": { + "name": "ProjectAbilityAsDeveloper", + "modelAsString": true, + "values": [ + { + "name": "CustomizeDevBoxes", + "value": "CustomizeDevBoxes", + "description": "User can customize their own dev boxes." + }, + { + "name": "DeleteDevBoxes", + "value": "DeleteDevBoxes", + "description": "User can delete their own dev boxes." + }, + { + "name": "DeleteEnvironments", + "value": "DeleteEnvironments", + "description": "User can delete environments." + }, + { + "name": "ManageDevBoxActions", + "value": "ManageDevBoxActions", + "description": "User can delay and skip actions on their own dev boxes." + }, + { + "name": "ManageEnvironmentActions", + "value": "ManageEnvironmentActions", + "description": "User can delay and skip actions on environments." + }, + { + "name": "ReadDevBoxActions", + "value": "ReadDevBoxActions", + "description": "User can read actions on their own dev boxes." + }, + { + "name": "ReadDevBoxes", + "value": "ReadDevBoxes", + "description": "User can read their own dev boxes." + }, + { + "name": "ReadEnvironmentActions", + "value": "ReadEnvironmentActions", + "description": "User can read actions on environments." + }, + { + "name": "ReadEnvironmentOutputs", + "value": "ReadEnvironmentOutputs", + "description": "User can read outputs on environments." + }, + { + "name": "ReadEnvironments", + "value": "ReadEnvironments", + "description": "User can read environments." + }, + { + "name": "ReadRemoteConnections", + "value": "ReadRemoteConnections", + "description": "User can read remote connections on their own dev boxes." + }, + { + "name": "StartDevBoxes", + "value": "StartDevBoxes", + "description": "User can start their own dev boxes." + }, + { + "name": "StopDevBoxes", + "value": "StopDevBoxes", + "description": "User can stop their own dev boxes." + }, + { + "name": "WriteDevBoxes", + "value": "WriteDevBoxes", + "description": "User can create dev boxes." + }, + { + "name": "WriteEnvironments", + "value": "WriteEnvironments", + "description": "User can create new environments or replace and update existing ones." + } + ] + } + }, + "RemoteConnection": { + "type": "object", + "description": "Provides remote connection information for a Dev Box.", + "properties": { + "webUrl": { + "type": "string", + "format": "uri", + "description": "URL to open a browser based RDP session." + }, + "rdpConnectionUrl": { + "type": "string", + "format": "uri", + "description": "Link to open a Remote Desktop session." + }, + "cloudPcConnectionUrl": { + "type": "string", + "format": "uri", + "description": "Link to open a remote desktop session via a dev box's underlying Cloud PC (This will default to Windows App)." + } + } + }, + "Schedule": { + "type": "object", + "description": "A Schedule to execute action.", + "properties": { + "uri": { + "type": "string", + "format": "uri", + "description": "The unique URI of the schedule." + }, + "name": { + "type": "string", + "description": "Display name for the Schedule.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true + }, + "sourceUri": { + "type": "string", + "format": "uri", + "description": "The URI of the resource that this schedule belongs to." + }, + "sourceType": { + "$ref": "#/definitions/ScheduleSourceType", + "description": "The type of the resource that this schedule belongs to." + }, + "type": { + "$ref": "#/definitions/ScheduledType", + "description": "Supported type this scheduled task represents." + }, + "frequency": { + "$ref": "#/definitions/ScheduledFrequency", + "description": "The frequency of this scheduled task." + }, + "time": { + "type": "string", + "description": "The target time to trigger the action. The format is HH:MM." + }, + "timeZone": { + "type": "string", + "description": "The IANA timezone id at which the schedule should execute." + } + }, + "required": [ + "uri", + "name", + "sourceUri", + "sourceType", + "type", + "frequency", + "time", + "timeZone" + ] + }, + "ScheduleSourceType": { + "type": "string", + "description": "The type of the resource that this schedule belongs to.", + "enum": [ + "Pool" + ], + "x-ms-enum": { + "name": "ScheduleSourceType", + "modelAsString": true, + "values": [ + { + "name": "Pool", + "value": "Pool", + "description": "The schedule source is a Dev Box pool." + } + ] + } + }, + "ScheduledFrequency": { + "type": "string", + "description": "The frequency of task execution.", + "enum": [ + "Daily" + ], + "x-ms-enum": { + "name": "ScheduledFrequency", + "modelAsString": true, + "values": [ + { + "name": "Daily", + "value": "Daily", + "description": "The scheduled task will run every day." + } + ] + } + }, + "ScheduledType": { + "type": "string", + "description": "The supported types for a scheduled task.", + "enum": [ + "StopDevBox" + ], + "x-ms-enum": { + "name": "ScheduledType", + "modelAsString": true, + "values": [ + { + "name": "StopDevBox", + "value": "StopDevBox", + "description": "The scheduled task will stop impacted Dev Boxes." + } + ] + } + }, + "SkuName": { + "type": "string", + "description": "Indicates the Dev Box compute.", + "enum": [ + "general_i_8c32gb256ssd_v2", + "general_i_8c32gb512ssd_v2", + "general_i_8c32gb1024ssd_v2", + "general_i_8c32gb2048ssd_v2", + "general_i_16c64gb256ssd_v2", + "general_i_16c64gb512ssd_v2", + "general_i_16c64gb1024ssd_v2", + "general_i_16c64gb2048ssd_v2", + "general_i_32c128gb512ssd_v2", + "general_i_32c128gb1024ssd_v2", + "general_i_32c128gb2048ssd_v2", + "general_a_8c32gb256ssd_v2", + "general_a_8c32gb512ssd_v2", + "general_a_8c32gb1024ssd_v2", + "general_a_8c32gb2048ssd_v2", + "general_a_16c64gb256ssd_v2", + "general_a_16c64gb512ssd_v2", + "general_a_16c64gb1024ssd_v2", + "general_a_16c64gb2048ssd_v2", + "general_a_32c128gb512ssd_v2", + "general_a_32c128gb1024ssd_v2", + "general_a_32c128gb2048ssd_v2" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true, + "values": [ + { + "name": "general_i_8c32gb256ssd_v2", + "value": "general_i_8c32gb256ssd_v2", + "description": "Intel, 8 vCPU, 32 GB RAM, 256 GB Storage." + }, + { + "name": "general_i_8c32gb512ssd_v2", + "value": "general_i_8c32gb512ssd_v2", + "description": "Intel, 8 vCPU, 32 GB RAM, 512 GB Storage." + }, + { + "name": "general_i_8c32gb1024ssd_v2", + "value": "general_i_8c32gb1024ssd_v2", + "description": "Intel, 8 vCPU, 32 GB RAM, 1024 GB Storage." + }, + { + "name": "general_i_8c32gb2048ssd_v2", + "value": "general_i_8c32gb2048ssd_v2", + "description": "Intel, 8 vCPU, 32 GB RAM, 2048 GB Storage." + }, + { + "name": "general_i_16c64gb256ssd_v2", + "value": "general_i_16c64gb256ssd_v2", + "description": "Intel, 16 vCPU, 64 GB RAM, 256 GB Storage." + }, + { + "name": "general_i_16c64gb512ssd_v2", + "value": "general_i_16c64gb512ssd_v2", + "description": "Intel, 16 vCPU, 64 GB RAM, 512 GB Storage." + }, + { + "name": "general_i_16c64gb1024ssd_v2", + "value": "general_i_16c64gb1024ssd_v2", + "description": "Intel, 16 vCPU, 64 GB RAM, 1024 GB Storage." + }, + { + "name": "general_i_16c64gb2048ssd_v2", + "value": "general_i_16c64gb2048ssd_v2", + "description": "Intel, 16 vCPU, 64 GB RAM, 2048 GB Storage." + }, + { + "name": "general_i_32c128gb512ssd_v2", + "value": "general_i_32c128gb512ssd_v2", + "description": "Intel, 32 vCPU, 128 GB RAM, 512 GB Storage." + }, + { + "name": "general_i_32c128gb1024ssd_v2", + "value": "general_i_32c128gb1024ssd_v2", + "description": "Intel, 32 vCPU, 128 GB RAM, 1024 GB Storage." + }, + { + "name": "general_i_32c128gb2048ssd_v2", + "value": "general_i_32c128gb2048ssd_v2", + "description": "Intel, 32 vCPU, 128 GB RAM, 2048 GB Storage." + }, + { + "name": "general_a_8c32gb256ssd_v2", + "value": "general_a_8c32gb256ssd_v2", + "description": "AMD, 8 vCPU, 32 GB RAM, 256 GB Storage." + }, + { + "name": "general_a_8c32gb512ssd_v2", + "value": "general_a_8c32gb512ssd_v2", + "description": "AMD, 8 vCPU, 32 GB RAM, 512 GB Storage." + }, + { + "name": "general_a_8c32gb1024ssd_v2", + "value": "general_a_8c32gb1024ssd_v2", + "description": "AMD, 8 vCPU, 32 GB RAM, 1024 GB Storage." + }, + { + "name": "general_a_8c32gb2048ssd_v2", + "value": "general_a_8c32gb2048ssd_v2", + "description": "AMD, 8 vCPU, 32 GB RAM, 2048 GB Storage." + }, + { + "name": "general_a_16c64gb256ssd_v2", + "value": "general_a_16c64gb256ssd_v2", + "description": "AMD, 16 vCPU, 64 GB RAM, 256 GB Storage." + }, + { + "name": "general_a_16c64gb512ssd_v2", + "value": "general_a_16c64gb512ssd_v2", + "description": "AMD, 16 vCPU, 64 GB RAM, 512 GB Storage." + }, + { + "name": "general_a_16c64gb1024ssd_v2", + "value": "general_a_16c64gb1024ssd_v2", + "description": "AMD, 16 vCPU, 64 GB RAM, 1024 GB Storage." + }, + { + "name": "general_a_16c64gb2048ssd_v2", + "value": "general_a_16c64gb2048ssd_v2", + "description": "AMD, 16 vCPU, 64 GB RAM, 2048 GB Storage." + }, + { + "name": "general_a_32c128gb512ssd_v2", + "value": "general_a_32c128gb512ssd_v2", + "description": "AMD, 32 vCPU, 128 GB RAM, 512 GB Storage." + }, + { + "name": "general_a_32c128gb1024ssd_v2", + "value": "general_a_32c128gb1024ssd_v2", + "description": "AMD, 32 vCPU, 128 GB RAM, 1024 GB Storage." + }, + { + "name": "general_a_32c128gb2048ssd_v2", + "value": "general_a_32c128gb2048ssd_v2", + "description": "AMD, 32 vCPU, 128 GB RAM, 2048 GB Storage." + } + ] + } + }, + "StopOnDisconnectConfiguration": { + "type": "object", + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool.", + "properties": { + "status": { + "$ref": "#/definitions/StopOnDisconnectEnableStatus", + "description": "Indicates whether the feature to stop the devbox on disconnect once the grace\nperiod has lapsed is enabled." + }, + "gracePeriodMinutes": { + "type": "integer", + "format": "int32", + "description": "The specified time in minutes to wait before stopping a Dev Box once disconnect\nis detected." + } + }, + "required": [ + "status" + ] + }, + "StopOnDisconnectEnableStatus": { + "type": "string", + "description": "Indicates whether the feature to stop the devbox on disconnect once the grace period has lapsed is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "StopOnDisconnectEnableStatus", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Stop on disconnect is enabled on the Dev Box." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Stop on disconnect is not enabled on the Dev Box." + } + ] + } + }, + "StorageProfile": { + "type": "object", + "description": "Storage settings for the Dev Box's disks.", + "properties": { + "osDisk": { + "$ref": "#/definitions/OsDisk", + "description": "Settings for the operating system disk." + } + } + } + }, + "parameters": { + "Azure.Core.Foundations.ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateCustomizationGroup.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateCustomizationGroup.json new file mode 100644 index 000000000000..2e899c176549 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateCustomizationGroup.json @@ -0,0 +1,57 @@ +{ + "title": "Applies customizations to the Dev Box.", + "operationId": "DevBoxes_CreateCustomizationGroup", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "customizationGroupName": "Provisioning", + "body": { + "tasks": [ + { + "name": "catalogName/choco", + "displayName": "Install VS Code", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + } + }, + { + "name": "catalogName/write-to-file", + "runAs": "User" + } + ] + } + }, + "responses": { + "200": { + "body": { + "name": "Provisioning", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning", + "tasks": [ + { + "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb", + "name": "catalogName/choco", + "displayName": "Install VS Code", + "status": "NotStarted", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + }, + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb" + }, + { + "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4", + "name": "catalogName/write-to-file", + "runAs": "User", + "status": "NotStarted", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4" + } + ], + "status": "NotStarted" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateDevBox.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateDevBox.json new file mode 100644 index 000000000000..fc02117fc8bc --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_CreateDevBox.json @@ -0,0 +1,74 @@ +{ + "title": "Creates or replaces a Dev Box.", + "operationId": "DevBoxes_CreateDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "body": { + "poolName": "LargeDevWorkStationPool" + } + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + }, + "201": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Creating", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayAction.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayAction.json new file mode 100644 index 000000000000..9b201f9bdc07 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayAction.json @@ -0,0 +1,29 @@ +{ + "title": "Delays the occurrence of an action.", + "operationId": "DevBoxes_DelayAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "actionName": "schedule-default", + "until": "2022-09-30T17:00:00Z" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "suspendedUntil": "2022-09-30T17:00:00Z", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayActions.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayActions.json new file mode 100644 index 000000000000..2a0abb1aeaf2 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DelayActions.json @@ -0,0 +1,51 @@ +{ + "title": "Delays all actions.", + "operationId": "DevBoxes_DelayActions", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "until": "2022-09-30T17:00:00Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "result": "Succeeded", + "action": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "suspendedUntil": "2022-09-30T17:00:00Z", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "result": "Succeeded", + "action": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool", + "sourceType": "Pool", + "suspendedUntil": "2022-09-30T17:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DeleteDevBox.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DeleteDevBox.json new file mode 100644 index 000000000000..b7382a8ced88 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_DeleteDevBox.json @@ -0,0 +1,26 @@ +{ + "title": "Deletes a Dev Box.", + "operationId": "DevBoxes_DeleteDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetAction.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetAction.json new file mode 100644 index 000000000000..9eb57c67b3de --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetAction.json @@ -0,0 +1,27 @@ +{ + "title": "Gets an action.", + "operationId": "DevBoxes_GetAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "actionName": "schedule-default" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationGroup.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationGroup.json new file mode 100644 index 000000000000..e677bc07cbed --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationGroup.json @@ -0,0 +1,44 @@ +{ + "title": "Gets a customization group.", + "operationId": "DevBoxes_GetCustomizationGroup", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "customizationGroupName": "Provisioning" + }, + "responses": { + "200": { + "body": { + "name": "Provisioning", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning", + "tasks": [ + { + "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb", + "name": "catalogName/choco", + "displayName": "Install VS Code", + "status": "Succeeded", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + }, + "startTime": "2021-08-05T18:00:00.000Z", + "endTime": "2021-08-05T18:00:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb" + }, + { + "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4", + "name": "catalogName/write-to-file", + "status": "Running", + "startTime": "2021-08-05T18:00:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4" + } + ], + "status": "Running", + "startTime": "2021-08-05T18:00:00.000Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskDefinitions.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskDefinitions.json new file mode 100644 index 000000000000..6813c3817dc5 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskDefinitions.json @@ -0,0 +1,36 @@ +{ + "title": "Gets a customization task.", + "operationId": "DevBoxes_GetCustomizationTaskDefinitions", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "api-version": "2024-05-01-preview", + "catalogName": "myCatalog", + "taskName": "choco" + }, + "responses": { + "200": { + "body": { + "name": "myCatalog/choco", + "catalogName": "myCatalog", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/choco", + "description": "Install a package via chocolatey", + "parameters": { + "package": { + "description": "The package to install", + "type": "string", + "required": true + }, + "version": { + "description": "The version of the package", + "type": "string", + "default": "latest" + }, + "retryOnFail": { + "type": "boolean" + } + } + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskLog.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskLog.json new file mode 100644 index 000000000000..a321b5bac6fd --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetCustomizationTaskLog.json @@ -0,0 +1,18 @@ +{ + "title": "Gets the log for a customization task.", + "operationId": "DevBoxes_GetCustomizationTaskLog", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "4863c6d0-e979-4a36-ac8d-80029debfd80", + "devBoxName": "MyDevBox", + "customizationGroupName": "Provisioning", + "customizationTaskId": "91835dc0-ef5a-4f58-9e3a-099aea8481f4" + }, + "responses": { + "200": { + "body": "WzIwMjMtMDgtMTBUMTA6MTk6NTUuODIwMTAxKzAwOjAwXSBDaG9jb2xhdGV5IHYxLjMuMVxuWzIwMjMtMDgtMTBUMTA6MTk6NTUuOTEzMjk3KzAwOjAwXSAyIHZhbGlkYXRpb25zIHBlcmZvcm1lZC4gMSBzdWNjZXNzKGVzKSwgMSB3YXJuaW5nKHMpLCBhbmQgMCBlcnJvcihzKS4=" + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetDevBoxByUser.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetDevBoxByUser.json new file mode 100644 index 000000000000..7fb10b533de0 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetDevBoxByUser.json @@ -0,0 +1,40 @@ +{ + "title": "Gets a Dev Box.", + "operationId": "DevBoxes_GetDevBoxByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetOperation.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetOperation.json new file mode 100644 index 000000000000..3ef9dfcd339a --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetOperation.json @@ -0,0 +1,25 @@ +{ + "title": "Gets an operation on a Dev Box.", + "operationId": "DevBoxes_GetOperation", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Start", + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetPool.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetPool.json new file mode 100644 index 000000000000..4220a3f6e10c --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetPool.json @@ -0,0 +1,41 @@ +{ + "title": "Gets a pool.", + "operationId": "DevBoxes_GetPool", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/LargeDevWorkStationPool", + "name": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + }, + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "displayName": "LargePool" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetRemoteConnection.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetRemoteConnection.json new file mode 100644 index 000000000000..1382ab80c52f --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetRemoteConnection.json @@ -0,0 +1,18 @@ +{ + "title": "Gets RDP Connection info.", + "operationId": "DevBoxes_GetRemoteConnection", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "200": { + "body": { + "webUrl": "https://connectionUrl" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetScheduleByPool.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetScheduleByPool.json new file mode 100644 index 000000000000..c23a8ae4ed2a --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_GetScheduleByPool.json @@ -0,0 +1,25 @@ +{ + "title": "Gets a schedule.", + "operationId": "DevBoxes_GetScheduleByPool", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview", + "poolName": "DevPool", + "scheduleName": "default" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default", + "name": "default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool", + "sourceType": "Pool", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListActions.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListActions.json new file mode 100644 index 000000000000..33dd54250f89 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListActions.json @@ -0,0 +1,42 @@ +{ + "title": "Lists actions on a Dev Box.", + "operationId": "DevBoxes_ListActions", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect", + "name": "idle-hibernateondisconnect", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool", + "sourceType": "Pool", + "next": { + "scheduledTime": "2022-09-30T15:23:00Z" + } + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default", + "name": "schedule-default", + "actionType": "Stop", + "sourceId": "/projects/myProject/pools/myPool/schedules/default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default", + "sourceType": "Schedule", + "suspendedUntil": "2022-09-30T17:00:00Z", + "next": { + "scheduledTime": "2022-09-30T17:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxes.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxes.json new file mode 100644 index 000000000000..60006cd87213 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxes.json @@ -0,0 +1,41 @@ +{ + "title": "Lists Dev Boxes that the caller has access to in the DevCenter.", + "operationId": "DevBoxes_ListAllDevBoxes", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxesByUser.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxesByUser.json new file mode 100644 index 000000000000..c0f241953f74 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListAllDevBoxesByUser.json @@ -0,0 +1,43 @@ +{ + "title": "Lists Dev Boxes in the project for a particular user.", + "operationId": "DevBoxes_ListAllDevBoxesByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationGroups.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationGroups.json new file mode 100644 index 000000000000..2ac0ab5dfd04 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationGroups.json @@ -0,0 +1,68 @@ +{ + "title": "Lists customization groups on the Dev Box. Listed customization groups exclude task information unless specified via the include parameter.", + "operationId": "DevBoxes_ListCustomizationGroups", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "include": "tasks" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Provisioning", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning", + "tasks": [ + { + "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb", + "name": "catalogName/choco", + "displayName": "Install VS Code", + "status": "Succeeded", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + }, + "startTime": "2021-08-05T18:00:00.000Z", + "endTime": "2021-08-05T18:00:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb" + }, + { + "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4", + "name": "catalogName/write-to-file", + "status": "Succeeded", + "startTime": "2021-08-05T18:10:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4" + } + ], + "status": "Succeeded", + "startTime": "2021-08-05T18:00:00.000Z", + "endTime": "2021-08-05T18:10:00.000Z" + }, + { + "name": "Personalizations", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations", + "tasks": [ + { + "id": "d8ec7648-23c9-4e86-8883-6d42ad6c9609", + "name": "catalogName/choco", + "displayName": "Install Git", + "status": "Running", + "parameters": { + "packageName": "git" + }, + "startTime": "2021-08-05T18:10:00.000Z", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations/logs/d8ec7648-23c9-4e86-8883-6d42ad6c9609" + } + ], + "status": "Running", + "startTime": "2021-08-05T18:10:00.000Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationTaskDefinitionsByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationTaskDefinitionsByProject.json new file mode 100644 index 000000000000..1f3756d78844 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListCustomizationTaskDefinitionsByProject.json @@ -0,0 +1,53 @@ +{ + "title": "Lists all customization tasks available to the project.", + "operationId": "DevBoxes_ListCustomizationTaskDefinitionsByProject", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myCatalog/choco", + "catalogName": "myCatalog", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/choco", + "description": "Install a package via chocolatey", + "parameters": { + "package": { + "description": "The package to install", + "type": "string", + "required": true + }, + "version": { + "description": "The version of the package", + "type": "string", + "default": "latest" + }, + "retryOnFail": { + "type": "boolean" + } + } + }, + { + "name": "myCatalog/powershell", + "catalogName": "myCatalog", + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/powershell", + "description": "Runs an arbitrary Powershell command", + "parameters": { + "command": { + "type": "string", + "required": true + }, + "runAsAdmin": { + "type": "boolean" + } + } + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListDevBoxesByUser.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListDevBoxesByUser.json new file mode 100644 index 000000000000..4d4b81a18c3b --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListDevBoxesByUser.json @@ -0,0 +1,43 @@ +{ + "title": "Lists Dev Boxes in the project for a particular user.", + "operationId": "DevBoxes_ListDevBoxesByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox", + "name": "MyDevBox", + "provisioningState": "Succeeded", + "projectName": "ContosoProject", + "poolName": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListOperations.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListOperations.json new file mode 100644 index 000000000000..1f0c5b5c8def --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListOperations.json @@ -0,0 +1,42 @@ +{ + "title": "Lists operations on the Dev Box which have occurred within the past 90 days.", + "operationId": "DevBoxes_ListOperations", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Start", + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/a6eb12ee-daa1-2215-9c44-63618dc2a781", + "operationId": "a6eb12ee-daa1-2215-9c44-63618dc2a781", + "status": "Succeeded", + "kind": "Repair", + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-10T19:31:20.7229492+00:00", + "endTime": "2022-09-10T19:57:41.7229492+00:00", + "result": { + "code": "ConnectivityFixApplied", + "message": "We resolved some connectivity issues with your Dev Box.", + "repairOutcome": "FixApplied" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListPools.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListPools.json new file mode 100644 index 000000000000..6227a6003190 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListPools.json @@ -0,0 +1,71 @@ +{ + "title": "Lists available pools.", + "operationId": "DevBoxes_ListPools", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/LargeDevWorkStationPool", + "name": "LargeDevWorkStationPool", + "location": "centralus", + "osType": "Windows", + "hardwareProfile": { + "vCPUs": 8, + "memoryGB": 32 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "DevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + }, + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "displayName": "LargePool" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/SQLDevelopmentMachinePool", + "name": "SQLDevelopmentMachinePool", + "location": "southcentralus", + "osType": "Windows", + "hardwareProfile": { + "vCPUs": 16, + "memoryGB": 128 + }, + "storageProfile": { + "osDisk": { + "diskSizeGB": 1024 + } + }, + "hibernateSupport": "Enabled", + "imageReference": { + "name": "SqlDevImage", + "version": "1.0.0", + "publishedDate": "2022-03-01T00:13:23.323Z" + }, + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "displayName": "SQLPool" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByPool.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByPool.json new file mode 100644 index 000000000000..00046a94a9a0 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByPool.json @@ -0,0 +1,28 @@ +{ + "title": "Lists all schedules within a pool that are configured by your project administrator.", + "operationId": "DevBoxes_ListSchedulesByPool", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "poolName": "DevPool", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default", + "name": "default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool", + "sourceType": "Pool", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByProject.json new file mode 100644 index 000000000000..3c13a4cd8649 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ListSchedulesByProject.json @@ -0,0 +1,27 @@ +{ + "title": "Lists all schedules within a project that are configured by your project administrator.", + "operationId": "DevBoxes_ListSchedulesByProject", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default", + "name": "default", + "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool", + "sourceType": "Pool", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RepairDevBox.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RepairDevBox.json new file mode 100644 index 000000000000..00c7640d8e62 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RepairDevBox.json @@ -0,0 +1,25 @@ +{ + "title": "Attempts automated repair steps to resolve common problems on a Dev Box. The Dev Box may restart during this operation.", + "operationId": "DevBoxes_RepairDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RestartDevBox.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RestartDevBox.json new file mode 100644 index 000000000000..90179116ef0b --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_RestartDevBox.json @@ -0,0 +1,25 @@ +{ + "title": "Restarts a Dev Box.", + "operationId": "DevBoxes_RestartDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_SkipAction.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_SkipAction.json new file mode 100644 index 000000000000..25fd1711638c --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_SkipAction.json @@ -0,0 +1,15 @@ +{ + "title": "Skips an occurrence of an action.", + "operationId": "DevBoxes_SkipAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "myDevBox", + "actionName": "schedule-default" + }, + "responses": { + "204": {} + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StartDevBox.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StartDevBox.json new file mode 100644 index 000000000000..661853ee3c29 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StartDevBox.json @@ -0,0 +1,25 @@ +{ + "title": "Starts a Dev Box.", + "operationId": "DevBoxes_StartDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StopDevBox.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StopDevBox.json new file mode 100644 index 000000000000..f4eb6f375be1 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_StopDevBox.json @@ -0,0 +1,26 @@ +{ + "title": "Stops a Dev Box.", + "operationId": "DevBoxes_StopDevBox", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "devBoxName": "MyDevBox", + "hibernate": "true" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ValidateCustomizationTasksAction.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ValidateCustomizationTasksAction.json new file mode 100644 index 000000000000..d89a3d553bac --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevBoxes_ValidateCustomizationTasksAction.json @@ -0,0 +1,40 @@ +{ + "title": "Validates a list of customization tasks.", + "operationId": "DevBoxes_ValidateCustomizationTasksAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "body": { + "tasks": [ + { + "name": "catalogName/choco", + "parameters": { + "packageName": "vscode", + "packageVersion": "1.0.0" + } + }, + { + "name": "catalogName/write-to-disk" + } + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Succeeded", + "startTime": "2023-02-01T12:43:54.122Z", + "result": { + "validationResult": "Succeeded" + } + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProject.json new file mode 100644 index 000000000000..e83b58c45710 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProject.json @@ -0,0 +1,19 @@ +{ + "title": "Gets a project.", + "operationId": "DevCenter_GetProject", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/DevDiv", + "name": "DevDiv", + "description": "The developer division", + "displayName": "DeveloperDivision" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProjectAbilities.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProjectAbilities.json new file mode 100644 index 000000000000..57beefbdc19e --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_GetProjectAbilities.json @@ -0,0 +1,37 @@ +{ + "title": "Gets the signed-in user's permitted abilities in a project.", + "operationId": "DevCenter_GetProjectAbilities", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "userId": "me", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "abilitiesAsAdmin": [ + "ReadDevBoxes", + "ReadEnvironments" + ], + "abilitiesAsDeveloper": [ + "CustomizeDevBoxes", + "DeleteDevBoxes", + "DeleteEnvironments", + "ManageDevBoxActions", + "ManageEnvironmentActions", + "ReadDevBoxActions", + "ReadDevBoxes", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "ReadRemoteConnections", + "StartDevBoxes", + "StopDevBoxes", + "WriteDevBoxes", + "WriteEnvironments" + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_ListProjects.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_ListProjects.json new file mode 100644 index 000000000000..e679b845e918 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/DevCenter_ListProjects.json @@ -0,0 +1,22 @@ +{ + "title": "Lists all projects in a Dev Center.", + "operationId": "DevCenter_ListProjects", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject", + "name": "DevDiv", + "description": "The developer division", + "displayName": "DeveloperDivision" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_CreateOrReplaceEnvironment.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_CreateOrReplaceEnvironment.json new file mode 100644 index 000000000000..37232f529454 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_CreateOrReplaceEnvironment.json @@ -0,0 +1,43 @@ +{ + "title": "Creates or updates an environment.", + "operationId": "Environments_CreateOrReplaceEnvironment", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "environmentName": "mydevenv", + "userId": "me", + "body": { + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "expirationDate": "2023-09-10T17:00:00Z" + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Creating", + "expirationDate": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DelayAction.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DelayAction.json new file mode 100644 index 000000000000..2f3a2048fd36 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DelayAction.json @@ -0,0 +1,27 @@ +{ + "title": "Delays the occurrence of an action.", + "operationId": "Environments_DelayAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnv", + "actionName": "default", + "until": "2022-09-30T17:00:00Z" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default", + "name": "default", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DeleteEnvironment.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DeleteEnvironment.json new file mode 100644 index 000000000000..e889092a817f --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_DeleteEnvironment.json @@ -0,0 +1,26 @@ +{ + "title": "Deletes an environment and all its associated resources.", + "operationId": "Environments_DeleteEnvironment", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "mydevenv" + }, + "responses": { + "202": { + "headers": { + "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0" + }, + "body": { + "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0", + "name": "786a823c-8037-48ab-89b8-8599901e67d0", + "status": "Running", + "startTime": "2023-02-01T12:43:54.122Z" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetAction.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetAction.json new file mode 100644 index 000000000000..60b8d0d77910 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetAction.json @@ -0,0 +1,26 @@ +{ + "title": "Retrieve a specific environment action.", + "operationId": "Environments_GetAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment", + "actionName": "default" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default", + "name": "default", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetCatalog.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetCatalog.json new file mode 100644 index 000000000000..b3009d893639 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetCatalog.json @@ -0,0 +1,18 @@ +{ + "title": "Gets the specified catalog within the project.", + "operationId": "Environments_GetCatalog", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "catalogName": "foo" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/foo", + "name": "foo" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentByUser.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentByUser.json new file mode 100644 index 000000000000..190b47dd9d6b --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentByUser.json @@ -0,0 +1,30 @@ +{ + "title": "Gets an environment.", + "operationId": "Environments_GetEnvironmentByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "mydevenv" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321", + "expirationDate": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentDefinition.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentDefinition.json new file mode 100644 index 000000000000..5f7e6e84c8f0 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentDefinition.json @@ -0,0 +1,58 @@ +{ + "title": "Get an environment definition from a catalog.", + "operationId": "Environments_GetEnvironmentDefinition", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "catalogName": "myCatalog", + "definitionName": "foo" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "name": "foo", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true, + "default": "dotnet", + "allowed": [ + "node", + "dotnet", + "java" + ] + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true, + "default": "Standard_LRS", + "allowed": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS" + ] + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "default": "true", + "readOnly": true, + "required": true + } + ], + "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}", + "templatePath": "azuredeploy.json" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypeAbilities.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypeAbilities.json new file mode 100644 index 000000000000..386b1f7a76f8 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypeAbilities.json @@ -0,0 +1,28 @@ +{ + "title": "Gets the signed-in user's permitted abilities in an environment type.", + "operationId": "Environments_GetEnvironmentTypeAbilities", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "environmentTypeName": "devtestenv", + "userId": "me", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "abilitiesAsAdmin": [ + "ReadEnvironments" + ], + "abilitiesAsDeveloper": [ + "DeleteEnvironments", + "ManageEnvironmentActions", + "ReadEnvironmentActions", + "ReadEnvironmentOutputs", + "ReadEnvironments", + "WriteEnvironments" + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypes.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypes.json new file mode 100644 index 000000000000..685c905fec90 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetEnvironmentTypes.json @@ -0,0 +1,21 @@ +{ + "title": "Get an environment type configured for a project.", + "operationId": "Environments_GetEnvironmentTypes", + "parameters": { + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/", + "projectName": "myProject", + "environmentTypeName": "devtestenv", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/environmentTypes/devtestenv", + "name": "devtestenv", + "status": "Enabled", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "displayName": "DevTestEnvironment" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetLogsByOperation.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetLogsByOperation.json new file mode 100644 index 000000000000..84415f45a699 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetLogsByOperation.json @@ -0,0 +1,17 @@ +{ + "title": "Gets the logs for an operation on an environment.", + "operationId": "Environments_GetLogsByOperation", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680" + }, + "responses": { + "200": { + "body": "{file}" + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOperation.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOperation.json new file mode 100644 index 000000000000..de3fc6aaa17e --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOperation.json @@ -0,0 +1,29 @@ +{ + "title": "Gets an environment action result.", + "operationId": "Environments_GetOperation", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680" + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/myEnvironment/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Deploy", + "environmentParameters": { + "paramA": "valueA", + "paramB": "valueB" + }, + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOutputs.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOutputs.json new file mode 100644 index 000000000000..f39954820ed6 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_GetOutputs.json @@ -0,0 +1,51 @@ +{ + "title": "Gets Outputs from the environment.", + "operationId": "Environments_GetOutputs", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "mydevenv" + }, + "responses": { + "200": { + "body": { + "outputs": { + "stringOutput": { + "type": "string", + "value": "Output1 value", + "sensitive": false + }, + "arrayOutput": { + "type": "array", + "value": [ + 1, + 2, + 3 + ], + "sensitive": false + }, + "boolOutput": { + "type": "bool", + "value": true, + "sensitive": false + }, + "intOutput": { + "type": "int", + "value": 1, + "sensitive": false + }, + "objectOutput": { + "type": "object", + "value": { + "name": "name", + "id": "id" + }, + "sensitive": false + } + } + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListActions.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListActions.json new file mode 100644 index 000000000000..2708125b0b1a --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListActions.json @@ -0,0 +1,39 @@ +{ + "title": "Get all scheduled actions for a user within an environment.", + "operationId": "Environments_ListActions", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default", + "name": "default", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-10T17:00:00Z" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/expire", + "name": "expire", + "actionType": "Delete", + "next": { + "scheduledTime": "2023-10-30T17:00:00Z" + }, + "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "lastModifiedAt": "2023-09-20T17:00:00Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListCatalogsByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListCatalogsByProject.json new file mode 100644 index 000000000000..53f5d644204b --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListCatalogsByProject.json @@ -0,0 +1,21 @@ +{ + "title": "Lists all of the catalogs available for a project.", + "operationId": "Environments_ListCatalogsByProject", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/foo", + "name": "foo" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByCatalog.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByCatalog.json new file mode 100644 index 000000000000..ea9a74f93178 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByCatalog.json @@ -0,0 +1,69 @@ +{ + "title": "Lists all environment definitions available within a catalog.", + "operationId": "Environments_ListEnvironmentDefinitionsByCatalog", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "catalogName": "myCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "name": "foo", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true, + "default": "dotnet", + "allowed": [ + "node", + "dotnet", + "java" + ] + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true, + "default": "Standard_LRS", + "allowed": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS" + ] + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "default": "true", + "readOnly": true, + "required": true + } + ], + "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}", + "templatePath": "azuredeploy.json" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar", + "name": "bar", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "templatePath": "azuredeploy.json" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByProject.json new file mode 100644 index 000000000000..2fd68cac2a7e --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentDefinitionsByProject.json @@ -0,0 +1,68 @@ +{ + "title": "Lists all environment definitions available for a project.", + "operationId": "Environments_ListEnvironmentDefinitionsByProject", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo", + "name": "foo", + "catalogName": "myCatalog", + "description": "This environment definition is just for example purposes.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true, + "default": "dotnet", + "allowed": [ + "node", + "dotnet", + "java" + ] + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true, + "default": "Standard_LRS", + "allowed": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS" + ] + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "default": "true", + "readOnly": true, + "required": true + } + ], + "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}", + "templatePath": "azuredeploy.json" + }, + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar", + "id": "/projects/myProject/catalogs/myOtherCatalog/environmentDefinitions/bar", + "name": "bar", + "catalogName": "myOtherCatalog", + "description": "This environment definition is just for example purposes.", + "templatePath": "azuredeploy.json" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentTypes.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentTypes.json new file mode 100644 index 000000000000..0e482f0fab29 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentTypes.json @@ -0,0 +1,24 @@ +{ + "title": "Lists all environment types configured for a project.", + "operationId": "Environments_ListEnvironmentTypes", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/environmentTypes/devtestenv", + "name": "devtestenv", + "status": "Enabled", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "displayName": "DevTestEnvironment" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironments.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironments.json new file mode 100644 index 000000000000..aa7927f95cac --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironments.json @@ -0,0 +1,32 @@ +{ + "title": "Lists all environment definitions available for a project.", + "operationId": "Environments_ListEnvironments", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321", + "expirationDate": "2023-09-10T17:00:00Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentsByUser.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentsByUser.json new file mode 100644 index 000000000000..5a523676a412 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListEnvironmentsByUser.json @@ -0,0 +1,33 @@ +{ + "title": "Lists the environments for a project and user.", + "operationId": "Environments_ListEnvironmentsByUser", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321", + "expirationDate": "2023-09-10T17:00:00Z" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListOperations.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListOperations.json new file mode 100644 index 000000000000..966888fe777a --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_ListOperations.json @@ -0,0 +1,32 @@ +{ + "title": "Lists operations on the environment which have occurred within the past 90 days.", + "operationId": "Environments_ListOperations", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "userId": "me", + "environmentName": "myEnvironment" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/myEnvironment/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680", + "status": "Succeeded", + "kind": "Deploy", + "environmentParameters": { + "paramA": "valueA", + "paramB": "valueB" + }, + "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93", + "startTime": "2022-09-06T16:58:51.7229492+00:00", + "endTime": "2022-09-06T16:59:51.7229492+00:00" + } + ] + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_PatchEnvironment.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_PatchEnvironment.json new file mode 100644 index 000000000000..6913fb125438 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_PatchEnvironment.json @@ -0,0 +1,32 @@ +{ + "title": "Partially updates an environment.", + "operationId": "Environments_PatchEnvironment", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "environmentName": "mydevenv", + "userId": "me", + "body": { + "expirationDate": "2023-09-10T17:00:00Z" + } + }, + "responses": { + "200": { + "body": { + "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv", + "name": "mydevenv", + "environmentType": "DevTest", + "catalogName": "main", + "environmentDefinitionName": "helloworld", + "parameters": { + "functionAppRuntime": "node", + "storageAccountType": "Standard_LRS" + }, + "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98", + "provisioningState": "Succeeded", + "expirationDate": "2023-09-10T17:00:00Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_SkipAction.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_SkipAction.json new file mode 100644 index 000000000000..a2b7af7f4b7f --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/Environments_SkipAction.json @@ -0,0 +1,21 @@ +{ + "title": "Skips an occurrence of an action.", + "operationId": "Environments_SkipAction", + "parameters": { + "api-version": "2024-05-01-preview", + "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com", + "projectName": "myProject", + "environmentName": "myEnv", + "userId": "me", + "actionName": "default", + "body": { + "actionType": "Delete", + "next": { + "scheduledTime": "2023-09-30T17:00:00Z" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/OperationStatuses_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/OperationStatuses_Get.json new file mode 100644 index 000000000000..ddfa65670a56 --- /dev/null +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2024-05-01-preview/examples/OperationStatuses_Get.json @@ -0,0 +1,19 @@ +{ + "title": "Get the status of an operation.", + "operationId": "OperationStatuses_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "projectName": "myProject", + "operationId": "fa067167-e49d-41bd-8dd8-de719b9de3b3" + }, + "responses": { + "200": { + "body": { + "id": "/projects/myProject/operationStatuses/fa067167-e49d-41bd-8dd8-de719b9de3b3", + "name": "fa067167-e49d-41bd-8dd8-de719b9de3b3", + "status": "Running", + "startTime": "2024-01-24T21:14:58.472Z" + } + } + } +} diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devcenter.json b/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devcenter.json index a57a98a9e222..49795aab17af 100644 --- a/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devcenter.json +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2023-04-01/devcenter.json @@ -467,7 +467,7 @@ { "name": "projectName", "in": "path", - "description": "The DevCenter Project upon which to execute operations.", + "description": "Name of the project.", "required": true, "type": "string", "minLength": 3, @@ -2836,7 +2836,11 @@ "properties": { "name": { "type": "string", - "description": "Name of the environment type." + "description": "Name of the environment type.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true }, "deploymentTargetId": { "type": "string", diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2024-02-01/devcenter.json b/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2024-02-01/devcenter.json index 9678a8fb47bc..766adeabb5dc 100644 --- a/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2024-02-01/devcenter.json +++ b/specification/devcenter/data-plane/Microsoft.DevCenter/stable/2024-02-01/devcenter.json @@ -467,7 +467,7 @@ { "name": "projectName", "in": "path", - "description": "The DevCenter Project upon which to execute operations.", + "description": "Name of the project.", "required": true, "type": "string", "minLength": 3, @@ -4285,7 +4285,11 @@ }, "name": { "type": "string", - "description": "Name of the environment type." + "description": "Name of the environment type.", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "readOnly": true }, "deploymentTargetId": { "type": "string", diff --git a/specification/devcenter/data-plane/readme.md b/specification/devcenter/data-plane/readme.md index cb6982a86d5c..10ec6da0aa8e 100644 --- a/specification/devcenter/data-plane/readme.md +++ b/specification/devcenter/data-plane/readme.md @@ -27,9 +27,24 @@ These are the global settings for the devcenter. ``` yaml openapi-type: data-plane azure-arm: false -tag: package-2024-02-01 +tag: package-2024-05-01-preview ``` + +### Tag: package-preview-2024-05 + +These settings apply only when `--tag=package-2024-05-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-05-01-preview' +input-file: + - Microsoft.DevCenter/preview/2024-05-01-preview/devcenter.json + +directive: + - suppress: HostParametersValidation + reason: Requires URL format for endpoint params, which violates R2003 and causes problems with codegen + - suppress: OperationIdNounVerb + reason: DevBoxes and Environments are operations with multiple models. +``` ### Tag: 2024-02-01 These settings apply only when `--tag=package-2024-02-01` is specified on the command line. From ec07fc78c6c25b68107f8ff419d137ffecced005 Mon Sep 17 00:00:00 2001 From: Alec Baird <100880612+alec-baird@users.noreply.github.com> Date: Mon, 13 May 2024 19:24:16 -0600 Subject: [PATCH 24/30] [DesktopVirtualization] Stable 2024 04 03 Release (#28637) * Adds base for updating Microsoft.DesktopVirtualization from version stable/2023-09-05 to version 2024-04-03 * Updates readme * Updates API version in new specs and examples * Added AppAttachPackage to latest stable * BREAKING CHANGE: added pattern to name parameters for objects. * added from in readme * Added nullable true to properties to match actual service implementation * Replaced all v* instances to v5 * Updated examples * Changed app attach to be TrackedResource * anyOf * Resource all of and tags explicitly defined * Removed force delete from AppAttach * Few code review fixes * Rest of code review fixes * Create sdk-suppressions.yaml * Update sdk-suppressions.yaml --------- Co-authored-by: Yuchao Yan Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com> Co-authored-by: madhura <56606095+madhura-np@users.noreply.github.com> --- .../2024-04-03/desktopvirtualization.json | 7810 +++++++++++++++++ .../AppAttachPackageInfo_Import_Post.json | 126 + .../examples/AppAttachPackage_Create.json | 161 + .../examples/AppAttachPackage_Delete.json | 64 + .../examples/AppAttachPackage_Get.json | 65 + .../AppAttachPackage_ListByResourceGroup.json | 122 + .../AppAttachPackage_ListBySubscription.json | 121 + .../examples/AppAttachPackage_Update.json | 106 + .../examples/ApplicationGroup_Create.json | 84 + .../examples/ApplicationGroup_Delete.json | 39 + .../examples/ApplicationGroup_Get.json | 40 + .../ApplicationGroup_ListByResourceGroup.json | 75 + .../ApplicationGroup_ListBySubscription.json | 74 + .../examples/ApplicationGroup_Update.json | 51 + .../examples/Application_Create.json | 85 + .../examples/Application_Delete.json | 41 + .../2024-04-03/examples/Application_Get.json | 42 + .../2024-04-03/examples/Application_List.json | 77 + .../examples/Application_Update.json | 57 + .../2024-04-03/examples/Desktop_Get.json | 33 + .../2024-04-03/examples/Desktop_List.json | 39 + .../2024-04-03/examples/Desktop_Update.json | 39 + .../2024-04-03/examples/HostPool_Create.json | 172 + .../2024-04-03/examples/HostPool_Delete.json | 69 + .../2024-04-03/examples/HostPool_Get.json | 78 + .../2024-04-03/examples/HostPool_List.json | 133 + .../HostPool_ListByResourceGroup.json | 134 + .../2024-04-03/examples/HostPool_Update.json | 109 + ...tPools_RetrieveRegistrationToken_Post.json | 17 + .../examples/MsixImage_Expand_Post.json | 99 + .../examples/MsixPackage_Create.json | 130 + .../examples/MsixPackage_Delete.json | 54 + .../2024-04-03/examples/MsixPackage_Get.json | 55 + .../2024-04-03/examples/MsixPackage_List.json | 103 + .../examples/MsixPackage_Update.json | 62 + .../examples/OperationDescription_List.json | 51 + ...teEndpointConnection_DeleteByHostPool.json | 13 + ...eEndpointConnection_DeleteByWorkspace.json | 13 + ...ivateEndpointConnection_GetByHostPool.json | 37 + ...vateEndpointConnection_GetByWorkspace.json | 37 + ...vateEndpointConnection_ListByHostPool.json | 40 + ...ateEndpointConnection_ListByWorkspace.json | 40 + ...teEndpointConnection_UpdateByHostPool.json | 46 + ...eEndpointConnection_UpdateByWorkspace.json | 46 + .../PrivateLinkResources_ListByHostPool.json | 33 + .../PrivateLinkResources_ListByWorkspace.json | 33 + .../ScalingPlanPersonalSchedule_Create.json | 180 + .../ScalingPlanPersonalSchedule_Delete.json | 13 + .../ScalingPlanPersonalSchedule_Get.json | 72 + .../ScalingPlanPersonalSchedule_List.json | 134 + .../ScalingPlanPersonalSchedule_Update.json | 101 + .../ScalingPlanPooledSchedule_Create.json | 151 + .../ScalingPlanPooledSchedule_Delete.json | 13 + .../ScalingPlanPooledSchedule_Get.json | 62 + .../ScalingPlanPooledSchedule_List.json | 114 + .../ScalingPlanPooledSchedule_Update.json | 82 + .../examples/ScalingPlan_Create.json | 215 + .../examples/ScalingPlan_Delete.json | 82 + .../2024-04-03/examples/ScalingPlan_Get.json | 83 + .../examples/ScalingPlan_ListByHostPool.json | 90 + .../ScalingPlan_ListByResourceGroup.json | 159 + .../ScalingPlan_ListBySubscription.json | 158 + .../examples/ScalingPlan_Update.json | 140 + .../examples/SessionHost_Delete.json | 55 + .../2024-04-03/examples/SessionHost_Get.json | 55 + .../2024-04-03/examples/SessionHost_List.json | 103 + .../examples/SessionHost_Update.json | 63 + .../examples/StartMenuItem_List.json | 40 + .../examples/UserSession_Delete.json | 35 + .../examples/UserSession_Disconnect_Post.json | 13 + .../2024-04-03/examples/UserSession_Get.json | 35 + .../2024-04-03/examples/UserSession_List.json | 62 + .../examples/UserSession_ListByHostPool.json | 62 + .../UserSession_SendMessage_Post.json | 17 + .../2024-04-03/examples/Workspace_Create.json | 73 + .../2024-04-03/examples/Workspace_Delete.json | 35 + .../2024-04-03/examples/Workspace_Get.json | 36 + .../Workspace_ListByResourceGroup.json | 66 + .../Workspace_ListBySubscription.json | 65 + .../2024-04-03/examples/Workspace_Update.json | 46 + .../resource-manager/readme.md | 13 +- .../resource-manager/sdk-suppressions.yaml | 21 + 82 files changed, 13697 insertions(+), 2 deletions(-) create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/desktopvirtualization.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackageInfo_Import_Post.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListByResourceGroup.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListBySubscription.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListByResourceGroup.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListBySubscription.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_ListByResourceGroup.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPools_RetrieveRegistrationToken_Post.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixImage_Expand_Post.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/OperationDescription_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByHostPool.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByWorkspace.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByHostPool.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByWorkspace.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByHostPool.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByWorkspace.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByHostPool.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByWorkspace.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByHostPool.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByWorkspace.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByHostPool.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByResourceGroup.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListBySubscription.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/StartMenuItem_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Disconnect_Post.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_List.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_ListByHostPool.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_SendMessage_Post.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Create.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Delete.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Get.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListByResourceGroup.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListBySubscription.json create mode 100644 specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Update.json create mode 100644 specification/desktopvirtualization/resource-manager/sdk-suppressions.yaml diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/desktopvirtualization.json new file mode 100644 index 000000000000..638205c7cab0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/desktopvirtualization.json @@ -0,0 +1,7810 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-03", + "title": "Desktop Virtualization API Client" + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "host": "management.azure.com", + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.DesktopVirtualization/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List all of the available operations the Desktop Virtualization resource provider supports.", + "x-ms-examples": { + "OperationDescription_List": { + "$ref": "./examples/OperationDescription_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Get", + "description": "Get a workspace.", + "x-ms-examples": { + "Workspace_Get": { + "$ref": "./examples/Workspace_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_CreateOrUpdate", + "description": "Create or update a workspace.", + "x-ms-examples": { + "Workspace_Create": { + "$ref": "./examples/Workspace_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Successfully created workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Delete", + "description": "Remove a workspace.", + "x-ms-examples": { + "Workspace_Delete": { + "$ref": "./examples/Workspace_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted workspace." + }, + "204": { + "description": "Workspace does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Update", + "description": "Update a workspace.", + "x-ms-examples": { + "Workspace_Update": { + "$ref": "./examples/Workspace_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/WorkspacePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_ListByWorkspace", + "description": "List private endpoint connections.", + "x-ms-examples": { + "PrivateEndpointConnection_ListByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_ListByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved connection list.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_GetByWorkspace", + "description": "Get a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_GetByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_GetByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_DeleteByWorkspace", + "description": "Remove a connection.", + "x-ms-examples": { + "PrivateEndpointConnection_DeleteByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_DeleteByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully removed." + }, + "204": { + "description": "Connection does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_UpdateByWorkspace", + "description": "Approve or reject a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_UpdateByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_UpdateByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "connection", + "description": "Object containing the updated connection.", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "List the private link resources available for this workspace.", + "x-ms-examples": { + "PrivateLinkResources_ListByWorkspace": { + "$ref": "./examples/PrivateLinkResources_ListByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListByResourceGroup", + "description": "List workspaces.", + "x-ms-examples": { + "Workspace_ListByResourceGroup": { + "$ref": "./examples/Workspace_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in resource group.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListBySubscription", + "description": "List workspaces in subscription.", + "x-ms-examples": { + "Workspace_ListBySubscription": { + "$ref": "./examples/Workspace_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in subscription.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Get", + "description": "Get a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Get": { + "$ref": "./examples/ScalingPlan_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Create", + "description": "Create or update a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Create": { + "$ref": "./examples/ScalingPlan_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "scalingPlan", + "description": "Object containing scaling plan definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "201": { + "description": "Successfully created scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Delete", + "description": "Remove a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Delete": { + "$ref": "./examples/ScalingPlan_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted scaling plan." + }, + "204": { + "description": "Scaling plan does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Update", + "description": "Update a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Update": { + "$ref": "./examples/ScalingPlan_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "scalingPlan", + "description": "Object containing scaling plan definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScalingPlanPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListByResourceGroup", + "description": "List scaling plans.", + "x-ms-examples": { + "ScalingPlans_ListByResourceGroup": { + "$ref": "./examples/ScalingPlan_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plans in resource group.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/pooledSchedules/{scalingPlanScheduleName}": { + "get": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Get", + "description": "Get a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Get": { + "$ref": "./examples/ScalingPlanPooledSchedule_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Create", + "description": "Create or update a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Create": { + "$ref": "./examples/ScalingPlanPooledSchedule_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPooledSchedule definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "201": { + "description": "Successfully created ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Delete", + "description": "Remove a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Delete": { + "$ref": "./examples/ScalingPlanPooledSchedule_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed ScalingPlanPooledSchedule." + }, + "204": { + "description": "ScalingPlanPooledSchedule does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Update", + "description": "Update a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Update": { + "$ref": "./examples/ScalingPlanPooledSchedule_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPooledSchedule definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedulePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/pooledSchedules": { + "get": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_List", + "description": "List ScalingPlanPooledSchedules.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_List": { + "$ref": "./examples/ScalingPlanPooledSchedule_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPooledSchedules.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledScheduleList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName}": { + "get": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Get", + "description": "Get a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Get": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Create", + "description": "Create or update a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Create": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPersonalSchedule definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "201": { + "description": "Successfully created ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Delete", + "description": "Remove a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Delete": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed ScalingPlanPersonalSchedule." + }, + "204": { + "description": "ScalingPlanPersonalSchedule does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Update", + "description": "Update a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Update": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPersonalSchedule definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedulePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules": { + "get": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_List", + "description": "List ScalingPlanPersonalSchedules.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_List": { + "$ref": "./examples/ScalingPlanPersonalSchedule_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPersonalSchedules.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalScheduleList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListBySubscription", + "description": "List scaling plans in subscription.", + "x-ms-examples": { + "ScalingPlans_ListBySubscription": { + "$ref": "./examples/ScalingPlan_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plans in subscription.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Get", + "description": "Get an application group.", + "x-ms-examples": { + "ApplicationGroup_Get": { + "$ref": "./examples/ApplicationGroup_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_CreateOrUpdate", + "description": "Create or update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Create": { + "$ref": "./examples/ApplicationGroup_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "201": { + "description": "Successfully created application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Delete", + "description": "Remove an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Delete": { + "$ref": "./examples/ApplicationGroup_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application group." + }, + "204": { + "description": "Application group does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Update", + "description": "Update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroups_Update": { + "$ref": "./examples/ApplicationGroup_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationGroupPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListByResourceGroup", + "description": "List applicationGroups.", + "x-ms-examples": { + "ApplicationGroup_ListByResourceGroup": { + "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in resource group.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListBySubscription", + "description": "List applicationGroups in subscription.", + "x-ms-examples": { + "ApplicationGroup_List": { + "$ref": "./examples/ApplicationGroup_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in subscription.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": { + "get": { + "tags": [ + "StartMenuItem" + ], + "operationId": "StartMenuItems_List", + "description": "List start menu items in the given application group.", + "x-ms-examples": { + "StartMenuItem_List": { + "$ref": "./examples/StartMenuItem_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved start menu items in application group.", + "schema": { + "$ref": "#/definitions/StartMenuItemList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_Get", + "description": "Get an application.", + "x-ms-examples": { + "Application_Get": { + "$ref": "./examples/Application_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Application" + ], + "operationId": "Applications_CreateOrUpdate", + "description": "Create or update an application.", + "x-ms-examples": { + "Application_Create": { + "$ref": "./examples/Application_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Successfully created application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Applications_Delete", + "description": "Remove an application.", + "x-ms-examples": { + "Application_Delete": { + "$ref": "./examples/Application_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application." + }, + "204": { + "description": "Application does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Applications_Update", + "description": "Update an application.", + "x-ms-examples": { + "Application_Update": { + "$ref": "./examples/Application_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_List", + "description": "List applications.", + "x-ms-examples": { + "Applications_List": { + "$ref": "./examples/Application_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved applications in application group.", + "schema": { + "$ref": "#/definitions/ApplicationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Get", + "description": "Get a desktop.", + "x-ms-examples": { + "Desktop_Get": { + "$ref": "./examples/Desktop_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Update", + "description": "Update a desktop.", + "x-ms-examples": { + "Desktop_Update": { + "$ref": "./examples/Desktop_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + }, + { + "name": "desktop", + "description": "Object containing Desktop definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/DesktopPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_List", + "description": "List desktops.", + "x-ms-examples": { + "Desktop_List": { + "$ref": "./examples/Desktop_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktops in application group.", + "schema": { + "$ref": "#/definitions/DesktopList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Get", + "description": "Get a host pool.", + "x-ms-examples": { + "HostPool_Get": { + "$ref": "./examples/HostPool_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_CreateOrUpdate", + "description": "Create or update a host pool.", + "x-ms-examples": { + "HostPool_Create": { + "$ref": "./examples/HostPool_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HostPool" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "201": { + "description": "Successfully created host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Delete", + "description": "Remove a host pool.", + "x-ms-examples": { + "HostPool_Delete": { + "$ref": "./examples/HostPool_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to delete sessionHost." + } + ], + "responses": { + "200": { + "description": "Successfully removed host pool." + }, + "204": { + "description": "Host pool does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Update", + "description": "Update a host pool.", + "x-ms-examples": { + "HostPool_Update": { + "$ref": "./examples/HostPool_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/HostPoolPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_ListByResourceGroup", + "description": "List hostPools.", + "x-ms-examples": { + "HostPool_ListByResourceGroup": { + "$ref": "./examples/HostPool_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_List", + "description": "List hostPools in subscription.", + "x-ms-examples": { + "HostPool_List": { + "$ref": "./examples/HostPool_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in subscription.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateLinkResources_ListByHostPool", + "description": "List the private link resources available for this hostpool.", + "x-ms-examples": { + "PrivateLinkResources_ListByHostPool": { + "$ref": "./examples/PrivateLinkResources_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken": { + "post": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_RetrieveRegistrationToken", + "description": "Registration token of the host pool.", + "x-ms-examples": { + "HostPools_RetrieveRegistrationToken_Post": { + "$ref": "./examples/HostPools_RetrieveRegistrationToken_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/RegistrationInfo" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_ListByHostPool", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_ListByHostPool": { + "$ref": "./examples/UserSession_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in host pool.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Get", + "description": "Get a session host.", + "x-ms-examples": { + "SessionHost_Get": { + "$ref": "./examples/SessionHost_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Delete", + "description": "Remove a SessionHost.", + "x-ms-examples": { + "SessionHost_Delete": { + "$ref": "./examples/SessionHost_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to force sessionHost deletion even when userSession exists." + } + ], + "responses": { + "200": { + "description": "Successfully removed session host." + }, + "204": { + "description": "Session host does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Update", + "description": "Update a session host.", + "x-ms-examples": { + "SessionHost_Update": { + "$ref": "./examples/SessionHost_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "sessionHost", + "description": "Object containing SessionHost definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SessionHostPatch" + } + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to update assign, unassign or reassign personal desktop." + } + ], + "responses": { + "200": { + "description": "Successfully updated session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_List", + "description": "List sessionHosts.", + "x-ms-examples": { + "SessionHost_List": { + "$ref": "./examples/SessionHost_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session hosts in host pool.", + "schema": { + "$ref": "#/definitions/SessionHostList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Get", + "description": "Get a msixpackage.", + "x-ms-examples": { + "MSIXPackage_Get": { + "$ref": "./examples/MsixPackage_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_CreateOrUpdate", + "description": "Create or update a MSIX package.", + "x-ms-examples": { + "MSIXPackage_Create": { + "$ref": "./examples/MsixPackage_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "201": { + "description": "Successfully created MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Delete", + "description": "Remove an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Delete": { + "$ref": "./examples/MsixPackage_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed MSIX Package." + }, + "204": { + "description": "MSIX Package does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Update", + "description": "Update an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Update": { + "$ref": "./examples/MsixPackage_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/MSIXPackagePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_List", + "description": "List MSIX packages in hostpool.", + "x-ms-examples": { + "MSIXPackage_List": { + "$ref": "./examples/MsixPackage_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Packages in hostpool.", + "schema": { + "$ref": "#/definitions/MSIXPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/importAppAttachPackageInfo": { + "post": { + "tags": [ + "AppAttachPackageInfo" + ], + "operationId": "AppAttachPackageInfo_Import", + "description": "Gets information from a package given the path to the package.", + "x-ms-examples": { + "AppAttachPackageInfo_Import": { + "$ref": "./examples/AppAttachPackageInfo_Import_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "importPackageInfoRequest", + "description": "Object containing URI to package image and other optional properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImportPackageInfoRequest" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved packages in specified Image Path.", + "schema": { + "$ref": "#/definitions/AppAttachPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": { + "post": { + "tags": [ + "MsixImage" + ], + "operationId": "MsixImages_Expand", + "description": "Expands and Lists MSIX packages in an Image, given the Image Path.", + "x-ms-examples": { + "MsixImage_Expand": { + "$ref": "./examples/MsixImage_Expand_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "msixImageURI", + "description": "Object containing URI to MSIX Image", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXImageURI" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX packages in specified Image Path.", + "schema": { + "$ref": "#/definitions/ExpandMsixImageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages/{appAttachPackageName}": { + "get": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_Get", + "description": "Get an app attach package.", + "x-ms-examples": { + "AppAttachPackage_Get": { + "$ref": "./examples/AppAttachPackage_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_CreateOrUpdate", + "description": "Create or update an App Attach package.", + "x-ms-examples": { + "AppAttachPackage_Create": { + "$ref": "./examples/AppAttachPackage_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + }, + { + "name": "appAttachPackage", + "description": "Object containing App Attach Package definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "201": { + "description": "Successfully created App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_Delete", + "description": "Remove an App Attach Package.", + "x-ms-examples": { + "AppAttachPackage_Delete": { + "$ref": "./examples/AppAttachPackage_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted App Attach Package." + }, + "204": { + "description": "App Attach Package does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_Update", + "description": "Update an App Attach Package", + "x-ms-examples": { + "AppAttachPackage_Update": { + "$ref": "./examples/AppAttachPackage_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + }, + { + "name": "appAttachPackagePatch", + "description": "Object containing App Attach Package definition.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/AppAttachPackagePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages": { + "get": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_ListByResourceGroup", + "description": "List App Attach packages in resource group.", + "x-ms-examples": { + "AppAttachPackage_ListByResourceGroup": { + "$ref": "./examples/AppAttachPackage_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are package name and host pool." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved App Attach Packages in resource group.", + "schema": { + "$ref": "#/definitions/AppAttachPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/appAttachPackages": { + "get": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_ListBySubscription", + "description": "List App Attach packages in subscription.", + "x-ms-examples": { + "AppAttachPackage_ListBySubscription": { + "$ref": "./examples/AppAttachPackage_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are package name, host pool, and resource group." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved App Attach Packages in subscription.", + "schema": { + "$ref": "#/definitions/AppAttachPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Get", + "description": "Get a userSession.", + "x-ms-examples": { + "UserSession_Get": { + "$ref": "./examples/UserSession_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user session.", + "schema": { + "$ref": "#/definitions/UserSession" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Delete", + "description": "Remove a userSession.", + "x-ms-examples": { + "UserSession_Delete": { + "$ref": "./examples/UserSession_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to login off userSession." + } + ], + "responses": { + "200": { + "description": "Successfully removed user session." + }, + "204": { + "description": "User session does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_List", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_List": { + "$ref": "./examples/UserSession_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in session host.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Disconnect", + "description": "Disconnect a userSession.", + "x-ms-examples": { + "UserSession_Disconnect_Post": { + "$ref": "./examples/UserSession_Disconnect_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disconnected user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_SendMessage", + "description": "Send a message to a user.", + "x-ms-examples": { + "UserSession_SendMessage_Post": { + "$ref": "./examples/UserSession_SendMessage_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "sendMessage", + "description": "Object containing message includes title and message body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SendMessage" + } + } + ], + "responses": { + "200": { + "description": "Successfully sent message to user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListByHostPool", + "description": "List scaling plan associated with hostpool.", + "x-ms-examples": { + "ScalingPlan_ListByHostPool": { + "$ref": "./examples/ScalingPlan_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plan associated with hostpool.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_ListByHostPool", + "description": "List private endpoint connections associated with hostpool.", + "x-ms-examples": { + "PrivateEndpointConnection_ListByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved connection list.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_GetByHostPool", + "description": "Get a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_GetByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_GetByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_DeleteByHostPool", + "description": "Remove a connection.", + "x-ms-examples": { + "PrivateEndpointConnection_DeleteByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_DeleteByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully removed." + }, + "204": { + "description": "Connection does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_UpdateByHostPool", + "description": "Approve or reject a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_UpdateByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_UpdateByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "connection", + "description": "Object containing the updated connection.", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "description": "Cloud error object.", + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorProperties" + } + } + }, + "CloudErrorProperties": { + "description": "Cloud error object properties.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ResourceProviderOperationList": { + "type": "object", + "description": "Result of the request to list operations.", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ResourceProviderOperation": { + "type": "object", + "description": "Supported operation of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "type": "object", + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Desktop Virtualization.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + }, + "isDataAction": { + "description": "Is a data action.", + "type": "boolean" + }, + "properties": { + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of the operation", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Specifications of the Log for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "LogSpecification": { + "description": "Specifications of the Log for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the log", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log", + "type": "string" + }, + "blobDuration": { + "description": "Blob duration of the log", + "type": "string" + } + } + }, + "Workspace": { + "type": "object", + "description": "Represents a Workspace definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties" + } + } + }, + "WorkspaceProperties": { + "description": "Schema for Workspace properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Workspace. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup resource Ids.", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true, + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints", + "x-nullable": true + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified resource", + "x-nullable": true + } + } + }, + "WorkspaceList": { + "type": "object", + "title": "WorkspaceList", + "description": "List of Workspace definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Workspace definitions.", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "WorkspacePatch": { + "type": "object", + "description": "Workspace properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspacePatchProperties" + } + } + }, + "WorkspacePatchProperties": { + "description": "Workspace properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled to allow this resource to be access from the public network", + "x-nullable": true + } + } + }, + "ApplicationGroup": { + "type": "object", + "description": "Represents a ApplicationGroup definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for ApplicationGroup", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupProperties", + "x-nullable": false + } + } + }, + "ApplicationGroupProperties": { + "description": "Schema for ApplicationGroup properties.", + "type": "object", + "required": [ + "hostPoolArmPath", + "applicationGroupType" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of ApplicationGroup. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "hostPoolArmPath": { + "type": "string", + "description": "HostPool arm path of ApplicationGroup.", + "x-nullable": false + }, + "workspaceArmPath": { + "type": "string", + "description": "Workspace arm path of ApplicationGroup.", + "readOnly": true + }, + "applicationGroupType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationGroupType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of ApplicationGroup.", + "x-nullable": false + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true, + "x-nullable": true + }, + "showInFeed": { + "type": "boolean", + "description": "Boolean representing whether the applicationGroup is show in the feed." + } + } + }, + "ApplicationGroupPatch": { + "type": "object", + "description": "ApplicationGroup properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "ApplicationGroup properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupPatchProperties" + } + } + }, + "ApplicationGroupPatchProperties": { + "description": "ApplicationGroup properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "showInFeed": { + "type": "boolean", + "description": "Boolean representing whether the applicationGroup is show in the feed." + } + } + }, + "ApplicationGroupList": { + "type": "object", + "title": "ApplicationGroupList", + "description": "List of ApplicationGroup definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ApplicationGroup definitions.", + "items": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "HostPool": { + "type": "object", + "description": "Represents a HostPool definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for HostPool", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolProperties", + "x-nullable": false + } + } + }, + "HostPoolProperties": { + "description": "Properties of HostPool.", + "type": "object", + "required": [ + "hostPoolType", + "loadBalancerType", + "preferredAppGroupType" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of HostPool. (internal use)", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "hostPoolType": { + "enum": [ + "Personal", + "Pooled", + "BYODesktop" + ], + "x-ms-enum": { + "name": "HostPoolType", + "modelAsString": true, + "values": [ + { + "value": "Personal", + "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost." + }, + { + "value": "Pooled", + "description": "Users get a new (random) SessionHost every time it connects to the HostPool." + }, + { + "value": "BYODesktop", + "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct." + } + ] + }, + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool.", + "x-nullable": true + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "format": "int32", + "description": "The max session limit of HostPool.", + "x-nullable": true + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer.", + "x-nullable": false + }, + "ring": { + "type": "integer", + "format": "int32", + "description": "The ring number of HostPool.", + "x-nullable": true + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment.", + "x-nullable": true + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfo", + "description": "The registration info of HostPool.", + "x-nullable": true + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "applicationGroupReferences": { + "readOnly": true, + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "appAttachPackageReferences": { + "readOnly": true, + "type": "array", + "description": "List of App Attach Package links.", + "items": { + "type": "string" + } + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type.", + "x-nullable": true + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group", + "x-nullable": false + }, + "startVMOnConnect": { + "type": "boolean", + "description": "The flag to turn on/off StartVMOnConnect feature.", + "x-nullable": true + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true, + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled", + "EnabledForSessionHostsOnly", + "EnabledForClientsOnly" + ], + "x-ms-enum": { + "name": "HostpoolPublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints", + "x-nullable": true + }, + "agentUpdate": { + "$ref": "#/definitions/AgentUpdateProperties", + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "x-nullable": true + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified resource", + "x-nullable": true + } + } + }, + "HostPoolPatch": { + "type": "object", + "description": "HostPool properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "HostPool properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolPatchProperties" + } + } + }, + "HostPoolPatchProperties": { + "description": "Properties of HostPool.", + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "format": "int32", + "description": "The max session limit of HostPool.", + "x-nullable": true + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool.", + "x-nullable": true + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer." + }, + "ring": { + "type": "integer", + "format": "int32", + "description": "The ring number of HostPool.", + "x-nullable": true + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment.", + "x-nullable": true + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfoPatch", + "description": "The registration info of HostPool.", + "x-nullable": true + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type.", + "x-nullable": true + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group" + }, + "startVMOnConnect": { + "type": "boolean", + "description": "The flag to turn on/off StartVMOnConnect feature.", + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled", + "EnabledForSessionHostsOnly", + "EnabledForClientsOnly" + ], + "x-ms-enum": { + "name": "HostpoolPublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled to allow this resource to be access from the public network", + "x-nullable": true + }, + "agentUpdate": { + "$ref": "#/definitions/AgentUpdatePatchProperties", + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "x-nullable": true + } + } + }, + "RegistrationInfo": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token.", + "x-nullable": true + }, + "token": { + "type": "string", + "description": "The registration token base64 encoded string." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token.", + "x-nullable": false + } + } + }, + "RegistrationInfoPatch": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token.", + "x-nullable": true + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token." + } + } + }, + "AgentUpdateProperties": { + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of maintenance for session host components.", + "enum": [ + "Default", + "Scheduled" + ], + "x-ms-enum": { + "name": "SessionHostComponentUpdateType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra." + }, + { + "value": "Scheduled", + "description": "TenantAdmin have opted in for Scheduled Component Update feature." + } + ] + } + }, + "useSessionHostLocalTime": { + "type": "boolean", + "description": "Whether to use localTime of the virtual machine." + }, + "maintenanceWindowTimeZone": { + "type": "string", + "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true." + }, + "maintenanceWindows": { + "type": "array", + "description": "List of maintenance windows. Maintenance windows are 2 hours long.", + "items": { + "$ref": "#/definitions/MaintenanceWindowProperties" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "MaintenanceWindowProperties": { + "description": "Maintenance window starting hour and day of week.", + "type": "object", + "properties": { + "hour": { + "format": "int32", + "type": "integer", + "description": "The update start hour of the day. (0 - 23)" + }, + "dayOfWeek": { + "type": "string", + "description": "Day of the week.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + } + }, + "AgentUpdatePatchProperties": { + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of maintenance for session host components.", + "enum": [ + "Default", + "Scheduled" + ], + "x-ms-enum": { + "name": "SessionHostComponentUpdateType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra." + }, + { + "value": "Scheduled", + "description": "TenantAdmin have opted in for Scheduled Component Update feature." + } + ] + } + }, + "useSessionHostLocalTime": { + "type": "boolean", + "description": "Whether to use localTime of the virtual machine." + }, + "maintenanceWindowTimeZone": { + "type": "string", + "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true." + }, + "maintenanceWindows": { + "type": "array", + "description": "List of maintenance windows. Maintenance windows are 2 hours long.", + "items": { + "$ref": "#/definitions/MaintenanceWindowPatchProperties" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "MaintenanceWindowPatchProperties": { + "description": "Maintenance window starting hour and day of week.", + "type": "object", + "properties": { + "hour": { + "format": "int32", + "type": "integer", + "description": "The update start hour of the day. (0 - 23)" + }, + "dayOfWeek": { + "type": "string", + "description": "Day of the week.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + } + }, + "SendMessage": { + "description": "Represents message sent to a UserSession.", + "type": "object", + "properties": { + "messageTitle": { + "type": "string", + "description": "Title of message." + }, + "messageBody": { + "type": "string", + "description": "Body of message." + } + } + }, + "HostPoolList": { + "type": "object", + "title": "HostPoolList", + "description": "List of HostPool definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of HostPool definitions.", + "items": { + "$ref": "#/definitions/HostPool" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXPackage": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackageProperties", + "x-nullable": false + } + } + }, + "MSIXPackageProperties": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "properties": { + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + } + }, + "version": { + "type": "string", + "description": "Package version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "MSIXPackagePatch": { + "type": "object", + "description": "MSIX Package properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackagePatchProperties" + } + } + }, + "MSIXPackagePatchProperties": { + "description": "MSIX Package properties that can be patched.", + "type": "object", + "properties": { + "isActive": { + "type": "boolean", + "description": "Set a version of the package to be active across hostpool. " + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Set Registration mode. Regular or Delayed." + }, + "displayName": { + "type": "string", + "description": "Display name for MSIX Package." + } + } + }, + "MsixPackageApplications": { + "description": "Schema for MSIX Package Application properties.", + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Package Application Id, found in appxmanifest.xml.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Description of Package Application.", + "x-nullable": false + }, + "appUserModelID": { + "type": "string", + "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.", + "x-nullable": false + }, + "friendlyName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "iconImageName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "rawIcon": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + }, + "rawPng": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "MsixPackageDependencies": { + "description": "Schema for MSIX Package Dependencies properties.", + "type": "object", + "properties": { + "dependencyName": { + "type": "string", + "description": "Name of package dependency.", + "x-nullable": false + }, + "publisher": { + "type": "string", + "description": "Name of dependency publisher.", + "x-nullable": false + }, + "minVersion": { + "type": "string", + "description": "Dependency version required.", + "x-nullable": false + } + } + }, + "MSIXPackageList": { + "type": "object", + "title": "MsixPackageList", + "description": "List of MSIX Package definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX Package definitions.", + "items": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "AppAttachPackage": { + "description": "Schema for App Attach Package properties.", + "type": "object", + "x-ms-client-flatten": false, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackageProperties", + "x-nullable": false + } + } + }, + "AppAttachPackagePatch": { + "description": "Schema for updatable App Attach Package properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackagePatchProperties", + "x-ms-client-flatten": false, + "x-nullable": false + } + } + }, + "AppAttachPackageList": { + "type": "object", + "title": "AppAttachPackageList", + "description": "List of App Attach Package definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of App Attach Package definitions.", + "items": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "AppAttachPackageProperties": { + "description": "Schema for App Attach Package properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of the App Attach Package." + }, + "image": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackageInfoProperties", + "x-nullable": false + }, + "hostPoolReferences": { + "type": "array", + "description": "List of Hostpool resource Ids.", + "items": { + "type": "string" + } + }, + "keyVaultURL": { + "type": "string", + "description": "URL path to certificate name located in keyVault" + }, + "failHealthCheckOnStagingFailure": { + "$ref": "#/definitions/FailHealthCheckOnStagingFailureEnum", + "description": "Parameter indicating how the health check should behave if this package fails staging" + } + } + }, + "AppAttachPackagePatchProperties": { + "description": "Schema for patchable fields on an App Attach Package.", + "type": "object", + "properties": { + "image": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackageInfoProperties" + }, + "hostPoolReferences": { + "type": "array", + "description": "List of Hostpool resource Ids.", + "items": { + "type": "string", + "format": "arm-id" + } + }, + "keyVaultURL": { + "type": "string", + "description": "URL path to certificate name located in keyVault" + }, + "failHealthCheckOnStagingFailure": { + "$ref": "#/definitions/FailHealthCheckOnStagingFailureEnum", + "description": "Parameter indicating how the health check should behave if this package fails staging" + } + } + }, + "AppAttachPackageInfoProperties": { + "description": "Schema for Import Package Information properties.", + "type": "object", + "properties": { + "packageAlias": { + "type": "string", + "description": "Alias of App Attach Package. Assigned at import time" + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "packageFullName": { + "type": "string", + "description": "Package Full Name from appxmanifest.xml. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + }, + "x-ms-identifiers": [], + "x-nullable": true + }, + "version": { + "type": "string", + "description": "Package version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-ms-identifiers": [], + "x-nullable": false + }, + "certificateName": { + "type": "string", + "description": "Certificate name found in the appxmanifest.xml. ", + "x-nullable": true + }, + "certificateExpiry": { + "format": "date-time", + "type": "string", + "description": "Date certificate expires, found in the appxmanifest.xml. ", + "x-nullable": true + }, + "isPackageTimestamped": { + "enum": [ + "Timestamped", + "NotTimestamped" + ], + "x-ms-enum": { + "name": "packageTimestamped", + "modelAsString": true + }, + "type": "string", + "description": "Is package timestamped so it can ignore the certificate expiry date", + "x-nullable": true + } + } + }, + "ImportPackageInfoRequest": { + "description": "Information to import app attach package", + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "URI to Image" + }, + "packageArchitecture": { + "enum": [ + "ARM", + "ARM64", + "x86", + "x64", + "Neutral", + "x86a64", + "ALL" + ], + "x-ms-enum": { + "name": "AppAttachPackageArchitectures", + "modelAsString": true + }, + "type": "string", + "description": "Possible device architectures that an app attach package can be configured for", + "x-nullable": true + } + } + }, + "FailHealthCheckOnStagingFailureEnum": { + "enum": [ + "Unhealthy", + "NeedsAssistance", + "DoNotFail" + ], + "x-ms-enum": { + "name": "failHealthCheckOnStagingFailure", + "modelAsString": true + }, + "type": "string", + "description": "Parameter indicating how the health check should behave if this package fails staging" + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Provisioning", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Application": { + "description": "Schema for Application properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "x-nullable": false + } + } + }, + "ApplicationProperties": { + "description": "Schema for Application properties.", + "type": "object", + "required": [ + "commandLineSetting" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Application. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.", + "x-nullable": false + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "ApplicationList": { + "type": "object", + "title": "ApplicationList", + "description": "List of Application definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Application definitions.", + "items": { + "$ref": "#/definitions/Application" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ApplicationPatch": { + "type": "object", + "description": "Application properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPatchProperties" + } + } + }, + "ApplicationPatchProperties": { + "description": "Application properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all." + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application." + } + } + }, + "Desktop": { + "description": "Schema for Desktop properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopProperties" + } + } + }, + "DesktopProperties": { + "description": "Schema for Desktop properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Desktop. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "The icon a 64 bit string as a byte array." + } + } + }, + "DesktopList": { + "type": "object", + "title": "DesktopList", + "description": "List of Desktop definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Desktop definitions.", + "items": { + "$ref": "#/definitions/Desktop" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "DesktopPatch": { + "type": "object", + "description": "Desktop properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopPatchProperties" + } + } + }, + "DesktopPatchProperties": { + "description": "Desktop properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + } + } + }, + "StartMenuItemProperties": { + "description": "Schema for StartMenuItem properties.", + "type": "object", + "properties": { + "appAlias": { + "type": "string", + "description": "Alias of StartMenuItem." + }, + "filePath": { + "type": "string", + "description": "Path to the file of StartMenuItem." + }, + "commandLineArguments": { + "type": "string", + "description": "Command line arguments for StartMenuItem." + }, + "iconPath": { + "type": "string", + "description": "Path to the icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + } + } + }, + "StartMenuItem": { + "type": "object", + "description": "Represents a StartMenuItem definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for StartMenuItem", + "x-ms-client-flatten": true, + "$ref": "#/definitions/StartMenuItemProperties" + } + } + }, + "StartMenuItemList": { + "type": "object", + "title": "StartMenuItemList", + "description": "List of StartMenuItem definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of StartMenuItem definitions.", + "items": { + "$ref": "#/definitions/StartMenuItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ExpandMsixImageProperties": { + "description": "Schema for Expand MSIX Image properties.", + "type": "object", + "properties": { + "packageAlias": { + "type": "string", + "description": "Alias of MSIX Package." + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "packageFullName": { + "type": "string", + "description": "Package Full Name from appxmanifest.xml. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + }, + "x-nullable": true + }, + "version": { + "type": "string", + "description": "Package version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + }, + "certificateName": { + "type": "string", + "description": "Certificate name found in the appxmanifest.xml. ", + "x-nullable": true + }, + "certificateExpiry": { + "format": "date-time", + "type": "string", + "description": "Date certificate expires, found in the appxmanifest.xml. ", + "x-nullable": true + } + } + }, + "ExpandMsixImage": { + "type": "object", + "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ExpandMsixImage", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpandMsixImageProperties" + } + } + }, + "ExpandMsixImageList": { + "type": "object", + "title": "ExpandMsixImageList", + "description": "List of MSIX package properties retrieved from MSIX Image expansion.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX package properties from give MSIX Image.", + "items": { + "$ref": "#/definitions/ExpandMsixImage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXImageURI": { + "description": "Represents URI referring to MSIX Image", + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "URI to Image" + } + } + }, + "SessionHost": { + "type": "object", + "description": "Represents a SessionHost definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostProperties" + } + } + }, + "SessionHostProperties": { + "description": "Schema for SessionHost properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of SessionHost. (internal use)", + "readOnly": true + }, + "lastHeartBeat": { + "format": "date-time", + "type": "string", + "description": "Last heart beat from SessionHost." + }, + "sessions": { + "type": "integer", + "format": "int32", + "description": "Number of sessions on SessionHost." + }, + "agentVersion": { + "type": "string", + "description": "Version of agent on SessionHost." + }, + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "virtualMachineId": { + "type": "string", + "description": "Virtual Machine Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Resource Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of SessionHost" + }, + "status": { + "enum": [ + "Available", + "Unavailable", + "Shutdown", + "Disconnected", + "Upgrading", + "UpgradeFailed", + "NoHeartbeat", + "NotJoinedToDomain", + "DomainTrustRelationshipLost", + "SxSStackListenerNotReady", + "FSLogixNotHealthy", + "NeedsAssistance" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "value": "Available", + "description": "Session Host has passed all the health checks and is available to handle connections." + }, + { + "value": "Unavailable", + "description": "Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status." + }, + { + "value": "Shutdown", + "description": "Session Host is shutdown - RD Agent reported session host to be stopped or deallocated." + }, + { + "value": "Disconnected", + "description": "The Session Host is unavailable because it is currently disconnected." + }, + { + "value": "Upgrading", + "description": "Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections." + }, + { + "value": "UpgradeFailed", + "description": "Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed." + }, + { + "value": "NoHeartbeat", + "description": "The Session Host is not heart beating." + }, + { + "value": "NotJoinedToDomain", + "description": "SessionHost is not joined to domain." + }, + { + "value": "DomainTrustRelationshipLost", + "description": "SessionHost's domain trust relationship lost" + }, + { + "value": "SxSStackListenerNotReady", + "description": "SxS stack installed on the SessionHost is not ready to receive connections." + }, + { + "value": "FSLogixNotHealthy", + "description": "FSLogix is in an unhealthy state on the session host." + }, + { + "value": "NeedsAssistance", + "description": "New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal." + } + ] + }, + "type": "string", + "description": "Status for a SessionHost." + }, + "statusTimestamp": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the status.", + "readOnly": true + }, + "osVersion": { + "type": "string", + "description": "The version of the OS on the session host." + }, + "sxSStackVersion": { + "type": "string", + "description": "The version of the side by side stack on the session host." + }, + "updateState": { + "enum": [ + "Initial", + "Pending", + "Started", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "UpdateState", + "modelAsString": true + }, + "type": "string", + "description": "Update state of a SessionHost." + }, + "lastUpdateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + }, + "updateErrorMessage": { + "type": "string", + "description": "The error message." + }, + "sessionHostHealthCheckResults": { + "type": "array", + "readOnly": true, + "description": "List of SessionHostHealthCheckReports", + "items": { + "$ref": "#/definitions/SessionHostHealthCheckReport" + } + } + } + }, + "SessionHostHealthCheckReport": { + "type": "object", + "description": "The report for session host information.", + "properties": { + "healthCheckName": { + "enum": [ + "DomainJoinedCheck", + "DomainTrustCheck", + "FSLogixHealthCheck", + "SxSStackListenerCheck", + "UrlsAccessibleCheck", + "MonitoringAgentCheck", + "DomainReachable", + "WebRTCRedirectorCheck", + "SupportedEncryptionCheck", + "MetaDataServiceCheck", + "AppAttachHealthCheck" + ], + "x-ms-enum": { + "name": "HealthCheckName", + "modelAsString": true, + "values": [ + { + "value": "DomainJoinedCheck", + "description": "Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. (Currently Enabled)" + }, + { + "value": "DomainTrustCheck", + "description": "Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. (Currently Enabled)" + }, + { + "value": "FSLogixHealthCheck", + "description": "Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. (Currently Disabled)" + }, + { + "value": "SxSStackListenerCheck", + "description": "Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. (Currently Enabled)" + }, + { + "value": "UrlsAccessibleCheck", + "description": "Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). (Currently Disabled)" + }, + { + "value": "MonitoringAgentCheck", + "description": "Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. (Currently Enabled)" + }, + { + "value": "DomainReachable", + "description": "Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. (Currently Disabled)" + }, + { + "value": "WebRTCRedirectorCheck", + "description": "Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. (Currently Disabled)" + }, + { + "value": "SupportedEncryptionCheck", + "description": "Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. (Currently Disabled)" + }, + { + "value": "MetaDataServiceCheck", + "description": "Verifies the metadata service is accessible and return compute properties. (Currently Enabled)" + }, + { + "value": "AppAttachHealthCheck", + "description": "Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. (Currently Enabled)" + } + ] + }, + "type": "string", + "description": "Represents the name of the health check operation performed.", + "readOnly": true + }, + "healthCheckResult": { + "enum": [ + "Unknown", + "HealthCheckSucceeded", + "HealthCheckFailed", + "SessionHostShutdown" + ], + "x-ms-enum": { + "name": "HealthCheckResult", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Health check result is not currently known." + }, + { + "value": "HealthCheckSucceeded", + "description": "Health check passed." + }, + { + "value": "HealthCheckFailed", + "description": "Health check failed." + }, + { + "value": "SessionHostShutdown", + "description": "We received a Shutdown notification." + } + ] + }, + "type": "string", + "description": "Represents the Health state of the health check we performed.", + "readOnly": true + }, + "additionalFailureDetails": { + "$ref": "#/definitions/SessionHostHealthCheckFailureDetails", + "description": "Additional detailed information on the failure.", + "readOnly": true + } + } + }, + "SessionHostHealthCheckFailureDetails": { + "type": "object", + "description": "Contains details on the failure.", + "properties": { + "message": { + "type": "string", + "description": "Failure message: hints on what is wrong and how to recover.", + "readOnly": true + }, + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code corresponding for the failure.", + "readOnly": true + }, + "lastHealthCheckDateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + } + } + }, + "SessionHostPatch": { + "type": "object", + "description": "SessionHost properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostPatchProperties" + } + } + }, + "SessionHostPatchProperties": { + "description": "SessionHost properties that can be patched.", + "type": "object", + "properties": { + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of SessionHost" + } + } + }, + "SessionHostList": { + "type": "object", + "title": "SessionHostList", + "description": "List of SessionHost definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of SessionHost definitions.", + "items": { + "$ref": "#/definitions/SessionHost" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "UserSession": { + "type": "object", + "description": "Represents a UserSession definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for UserSession", + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserSessionProperties" + } + } + }, + "UserSessionProperties": { + "description": "Schema for UserSession properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of user session. (internal use)", + "readOnly": true + }, + "userPrincipalName": { + "type": "string", + "description": "The user principal name." + }, + "applicationType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Application type of application." + }, + "sessionState": { + "enum": [ + "Unknown", + "Active", + "Disconnected", + "Pending", + "LogOff", + "UserProfileDiskMounted" + ], + "x-ms-enum": { + "name": "SessionState", + "modelAsString": true + }, + "type": "string", + "description": "State of user session." + }, + "activeDirectoryUserName": { + "type": "string", + "description": "The active directory user name." + }, + "createTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the user session create." + } + } + }, + "UserSessionList": { + "type": "object", + "title": "UserSessionList", + "description": "List of UserSession definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of UserSession definitions.", + "items": { + "$ref": "#/definitions/UserSession" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlan": { + "type": "object", + "title": "ScalingPlan", + "description": "Represents a scaling plan definition.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for scaling plan.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanProperties", + "x-nullable": false + } + } + }, + "ScalingPlanProperties": { + "type": "object", + "description": "Scaling plan properties.", + "required": [ + "timeZone" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of scaling plan. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + }, + "hostPoolType": { + "enum": [ + "Pooled" + ], + "x-ms-enum": { + "name": "ScalingHostPoolType", + "modelAsString": true, + "values": [ + { + "value": "Pooled", + "description": "Users get a new (random) SessionHost every time it connects to the HostPool." + } + ] + }, + "default": "Pooled", + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "schedules": { + "type": "array", + "description": "List of ScalingPlanPooledSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + "hostPoolReferences": { + "type": "array", + "description": "List of ScalingHostPoolReference definitions.", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + } + } + }, + "ScalingSchedule": { + "description": "A ScalingPlanPooledSchedule.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the ScalingPlanPooledSchedule." + }, + "daysOfWeek": { + "type": "array", + "description": "Set of days of the week on which this schedule is active.", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + } + }, + "rampUpStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp up period." + }, + "rampUpLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp up period." + }, + "rampUpMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp up period." + }, + "rampUpCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp up period." + }, + "peakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for peak period." + }, + "peakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for peak period." + }, + "rampDownStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp down period." + }, + "rampDownLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp down period." + }, + "rampDownMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp down period." + }, + "rampDownCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp down period." + }, + "rampDownForceLogoffUsers": { + "type": "boolean", + "description": "Should users be logged off forcefully from hosts." + }, + "rampDownStopHostsWhen": { + "enum": [ + "ZeroSessions", + "ZeroActiveSessions" + ], + "x-ms-enum": { + "name": "StopHostsWhen", + "modelAsString": true + }, + "type": "string", + "description": "Specifies when to stop hosts during ramp down period." + }, + "rampDownWaitTimeMinutes": { + "type": "integer", + "format": "int32", + "description": "Number of minutes to wait to stop hosts during ramp down period." + }, + "rampDownNotificationMessage": { + "type": "string", + "description": "Notification message for users during ramp down period." + }, + "offPeakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for off-peak period." + }, + "offPeakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for off-peak period." + } + } + }, + "ScalingPlanPooledSchedulePatch": { + "type": "object", + "description": "ScalingPlanPooledSchedule properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ScalingPlanPooledSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPooledScheduleProperties" + } + } + }, + "ScalingPlanPooledScheduleList": { + "type": "object", + "title": "ScalingPlanPooledScheduleList", + "description": "List of ScalingPlanPooledSchedule definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ScalingPlanPooledSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlanPooledSchedule": { + "type": "object", + "description": "Represents a ScalingPlanPooledSchedule definition.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for ScalingPlanPooledSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPooledScheduleProperties", + "x-nullable": false + } + } + }, + "ScalingPlanPooledScheduleProperties": { + "description": "A ScalingPlanPooledSchedule.", + "type": "object", + "properties": { + "daysOfWeek": { + "type": "array", + "description": "Set of days of the week on which this schedule is active.", + "items": { + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + } + }, + "rampUpStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp up period." + }, + "rampUpLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp up period." + }, + "rampUpMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp up period." + }, + "rampUpCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp up period." + }, + "peakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for peak period." + }, + "peakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for peak period." + }, + "rampDownStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp down period." + }, + "rampDownLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp down period." + }, + "rampDownMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp down period." + }, + "rampDownCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp down period." + }, + "rampDownForceLogoffUsers": { + "type": "boolean", + "description": "Should users be logged off forcefully from hosts." + }, + "rampDownStopHostsWhen": { + "enum": [ + "ZeroSessions", + "ZeroActiveSessions" + ], + "x-ms-enum": { + "name": "StopHostsWhen", + "modelAsString": true + }, + "type": "string", + "description": "Specifies when to stop hosts during ramp down period." + }, + "rampDownWaitTimeMinutes": { + "type": "integer", + "format": "int32", + "description": "Number of minutes to wait to stop hosts during ramp down period." + }, + "rampDownNotificationMessage": { + "type": "string", + "description": "Notification message for users during ramp down period." + }, + "offPeakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for off-peak period." + }, + "offPeakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for off-peak period." + } + } + }, + "Time": { + "description": "The time for a scaling action to occur.", + "required": [ + "hour", + "minute" + ], + "type": "object", + "properties": { + "hour": { + "format": "int32", + "description": "The hour.", + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "minute": { + "format": "int32", + "description": "The minute.", + "maximum": 59, + "minimum": 0, + "type": "integer" + } + } + }, + "ScalingHostPoolReference": { + "description": "Scaling plan reference to hostpool.", + "type": "object", + "properties": { + "hostPoolArmPath": { + "type": "string", + "description": "Arm path of referenced hostpool." + }, + "scalingPlanEnabled": { + "type": "boolean", + "description": "Is the scaling plan enabled for this hostpool." + } + } + }, + "ScalingPlanList": { + "type": "object", + "title": "ScalingPlanList", + "description": "List of scaling plan definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of scaling plan definitions.", + "items": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlanPatch": { + "type": "object", + "description": "Scaling plan properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for scaling plan", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPatchProperties" + } + } + }, + "ScalingPlanPatchProperties": { + "type": "object", + "description": "Scaling plan properties.", + "properties": { + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "schedules": { + "type": "array", + "description": "List of ScalingSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + "hostPoolReferences": { + "type": "array", + "description": "List of ScalingHostPoolReference definitions.", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + } + } + }, + "PrivateEndpointConnectionWithSystemData": { + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResultWithSystemData": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "ScalingPlanPersonalSchedulePatch": { + "type": "object", + "description": "ScalingPlanPersonalSchedule properties that can be patched.", + "properties": { + "properties": { + "description": "Detailed properties for ScalingPlanPersonalSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPersonalScheduleProperties" + } + } + }, + "ScalingPlanPersonalScheduleList": { + "type": "object", + "title": "ScalingPlanPersonalScheduleList", + "description": "List of ScalingPlanPersonalSchedule definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ScalingPlanPersonalSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlanPersonalSchedule": { + "type": "object", + "description": "Represents a ScalingPlanPersonalSchedule definition.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for ScalingPlanPersonalSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPersonalScheduleProperties", + "x-nullable": false + } + } + }, + "ScalingPlanPersonalScheduleProperties": { + "description": "A ScalingPlanPersonalSchedule.", + "type": "object", + "properties": { + "daysOfWeek": { + "type": "array", + "description": "Set of days of the week on which this schedule is active.", + "items": { + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + } + }, + "rampUpStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp up period." + }, + "rampUpAutoStartHosts": { + "enum": [ + "None", + "WithAssignedUser", + "All" + ], + "x-ms-enum": { + "name": "StartupBehavior", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts." + }, + { + "value": "WithAssignedUser", + "description": "Session hosts with an assigned user will be started during Ramp Up" + }, + { + "value": "All", + "description": "All personal session hosts in the hostpool will be started during ramp up." + } + ] + }, + "type": "string", + "description": "The desired startup behavior during the ramp up period for personal vms in the hostpool." + }, + "rampUpStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually." + }, + "rampUpActionOnDisconnect": { + "enum": [ + "None", + "Deallocate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp up period." + }, + "rampUpMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period." + }, + "rampUpActionOnLogoff": { + "enum": [ + "None", + "Deallocate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the ramp up period." + }, + "rampUpMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period." + }, + "peakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for peak period." + }, + "peakStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the peak phase." + }, + "peakActionOnDisconnect": { + "enum": [ + "None", + "Deallocate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the peak period." + }, + "peakMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period." + }, + "peakActionOnLogoff": { + "enum": [ + "None", + "Deallocate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the peak period." + }, + "peakMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period." + }, + "rampDownStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp down period." + }, + "rampDownStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp down phase." + }, + "rampDownActionOnDisconnect": { + "enum": [ + "None", + "Deallocate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp down period." + }, + "rampDownMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period." + }, + "rampDownActionOnLogoff": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the ramp down period." + }, + "rampDownMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period." + }, + "offPeakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for off-peak period." + }, + "offPeakStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the off-peak phase." + }, + "offPeakActionOnDisconnect": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the off-peak period." + }, + "offPeakMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period." + }, + "offPeakActionOnLogoff": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the off-peak period." + }, + "offPeakMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period." + } + } + } + }, + "parameters": { + "HostPoolNameParameter": { + "name": "hostPoolName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the host pool within the specified resource group", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXPackageFullNameParameter": { + "name": "msixPackageFullName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The version specific package full name of the MSIX package within specified hostpool", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "AppAttachPackageNameParameter": { + "name": "appAttachPackageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the App Attach package", + "maxLength": 100, + "minLength": 3, + "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$", + "x-ms-parameter-location": "method" + }, + "ApplicationGroupNameParameter": { + "name": "applicationGroupName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the application group", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the application within the specified application group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DesktopNameParameter": { + "name": "desktopName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the desktop within the specified desktop group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the workspace", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "SessionHostNameParameter": { + "name": "sessionHostName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the session host within the specified host pool", + "maxLength": 48, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "UserSessionIdParameter": { + "name": "userSessionId", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user session within the specified session host", + "maxLength": 24, + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "StartMenuItemNameParameter": { + "name": "startMenuItemName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the start menu item within the specified host pool", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXImageURIParameter": { + "name": "msixImageURI", + "in": "path", + "required": true, + "type": "string", + "description": "URI to the MSIX Image (VHD/CIM).", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ScalingPlanNameParameter": { + "name": "scalingPlanName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the scaling plan.", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ScalingPlanScheduleNameParameter": { + "name": "scalingPlanScheduleName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the ScalingPlanSchedule", + "maxLength": 64, + "minLength": 1, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackageInfo_Import_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackageInfo_Import_Post.json new file mode 100644 index 000000000000..7241c6f0dec4 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackageInfo_Import_Post.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-03", + "importPackageInfoRequest": { + "path": "imagepath", + "packageArchitecture": "x64" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + }, + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Create.json new file mode 100644 index 000000000000..1549dd755145 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Create.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "appAttachPackageName": "msixpackagefullname", + "appAttachPackage": { + "location": "southcentralus", + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + }, + "responses": { + "200": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + }, + "201": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Delete.json new file mode 100644 index 000000000000..e2a981de7d71 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Delete.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "appAttachPackageName": "packagefullname" + }, + "responses": { + "200": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Get.json new file mode 100644 index 000000000000..425697cce5ca --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Get.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "appAttachPackageName": "packagefullname" + }, + "responses": { + "200": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListByResourceGroup.json new file mode 100644 index 000000000000..bfdfa9bc0c36 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListByResourceGroup.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "$filter": "HostPoolName eq 'hostpool1'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + }, + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListBySubscription.json new file mode 100644 index 000000000000..3d78b29fad8d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_ListBySubscription.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-03", + "$filter": "HostPoolName eq 'hostpool1'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + }, + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Update.json new file mode 100644 index 000000000000..6d9a4ade0ae1 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/AppAttachPackage_Update.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "appAttachPackageName": "msixpackagefullname", + "appAttachPackage": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [ + "hostpool1", + "hostpool2" + ], + "keyVaultURL": "url", + "failHealthCheckOnStagingFailure": false + } + }, + "responses": { + "200": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Create.json new file mode 100644 index 000000000000..656dd122de1a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Create.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-03", + "applicationGroup": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "applicationGroupType": "RemoteApp", + "showInFeed": true + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + }, + "201": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Delete.json new file mode 100644 index 000000000000..a9eaca436ce2 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Delete.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Get.json new file mode 100644 index 000000000000..9e5295e73531 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListByResourceGroup.json new file mode 100644 index 000000000000..79734825c2fd --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "$filter": "applicationGroupType eq 'RailApplication'", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListBySubscription.json new file mode 100644 index 000000000000..962b940c70e1 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_ListBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-03", + "$filter": "applicationGroupType eq 'RailApplication'", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Update.json new file mode 100644 index 000000000000..7097288d1182 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ApplicationGroup_Update.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-03", + "applicationGroup": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "showInFeed": true + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Create.json new file mode 100644 index 000000000000..850937a19ab5 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Create.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-03", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1 + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "201": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Delete.json new file mode 100644 index 000000000000..32552ff0dba5 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Delete.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Get.json new file mode 100644 index 000000000000..cddb73bff853 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_List.json new file mode 100644 index 000000000000..28da036ec5c3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_List.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + { + "name": "applicationGroup1/application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des2", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Update.json new file mode 100644 index 000000000000..95e7995e0d1b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Application_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-03", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Get.json new file mode 100644 index 000000000000..5345146e6dff --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_List.json new file mode 100644 index 000000000000..7e63d4f73cb6 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Update.json new file mode 100644 index 000000000000..6caaf8c5453a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Desktop_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2024-04-03", + "desktop": { + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Create.json new file mode 100644 index 000000000000..692aef09e724 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Create.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03", + "hostPool": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "201": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Delete.json new file mode 100644 index 000000000000..1eb7a5d9a555 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Delete.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03", + "force": true + }, + "responses": { + "200": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Get.json new file mode 100644 index 000000000000..2356ab633532 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Get.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "default": { + "body": { + "error": { + "code": "hostPoolDoesNotExist", + "message": "Host Pool Does Not Exist" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_List.json new file mode 100644 index 000000000000..7c62b373f0d7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_List.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_ListByResourceGroup.json new file mode 100644 index 000000000000..ac6c2b3a2d93 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_ListByResourceGroup.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Update.json new file mode 100644 index 000000000000..fd8868c0ceeb --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPool_Update.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03", + "hostPool": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "personalDesktopAssignmentType": "Automatic", + "registrationInfo": { + "expirationTime": "2020-10-01T15:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "startVMOnConnect": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPools_RetrieveRegistrationToken_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPools_RetrieveRegistrationToken_Post.json new file mode 100644 index 000000000000..5c7978d1a149 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/HostPools_RetrieveRegistrationToken_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixImage_Expand_Post.json new file mode 100644 index 000000000000..8cb3689c4522 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixImage_Expand_Post.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-03", + "msixImageURI": { + "uri": "imagepath" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostpool1/expandMsixImage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias2", + "imagePath": "imagepath", + "packageName": "MsixPackageName2", + "packageFamilyName": "MsixPackage_FamilyName2", + "packageFullName": "MsixPackage_FullName2", + "displayName": "displayname2", + "packageRelativePath": "packagerelativepath2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackageDependency1", + "publisher": "PublisherName1", + "minVersion": "ver1" + }, + { + "dependencyName": "MsixPackageDependency2", + "publisher": "PublisherName2", + "minVersion": "ver2" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId1", + "description": "PackageApplicationDescription1", + "appUserModelID": "AppUserModelId1", + "friendlyName": "FriendlyName1", + "iconImageName": "Iconimagename1", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + }, + { + "appId": "AppId2", + "description": "PackageApplicationDescription2", + "appUserModelID": "AppUserModelId2", + "friendlyName": "FriendlyName2", + "iconImageName": "Iconimagename2", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Create.json new file mode 100644 index 000000000000..40a7bb531792 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Create.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-03", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "imagePath": "imagepath", + "isActive": false, + "isRegularRegistration": false, + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "description": "application-desc", + "appId": "ApplicationId", + "appUserModelID": "AppUserModelId", + "friendlyName": "friendlyname", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "packageDependencies": [ + { + "dependencyName": "MsixTest_Dependency_Name", + "minVersion": "version", + "publisher": "PublishedName" + } + ], + "packageFamilyName": "MsixPackage_FamilyName", + "packageName": "MsixPackage_name", + "packageRelativePath": "packagerelativepath", + "version": "version" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + }, + "201": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Delete.json new file mode 100644 index 000000000000..f62ac7eb80e0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Delete.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-03", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Get.json new file mode 100644 index 000000000000..ba6ebaea3fdf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-03", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_List.json new file mode 100644 index 000000000000..d8481d7e893a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_List.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + { + "name": "hostpool1/MsixPackageFullName2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath2", + "packageName": "MsixPackage_Name2", + "packageFamilyName": "MsixPackage_FamilyName2", + "displayName": "dis2", + "packageRelativePath": "MsixPackage_RelativePackageRoot2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name2", + "publisher": "MsixPackage_Dependency_Publisher2", + "minVersion": "packageDep_version2" + } + ], + "version": "version2", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id2", + "description": "desc2", + "appUserModelID": "Application_ModelID2", + "friendlyName": "fri2", + "iconImageName": "Apptile2", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Update.json new file mode 100644 index 000000000000..58ce1c33f1fc --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/MsixPackage_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-03", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "isActive": true, + "isRegularRegistration": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/OperationDescription_List.json new file mode 100644 index 000000000000..b71c15d3ec8a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/OperationDescription_List.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DesktopVirtualization/hostpools/read", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "hostpools", + "operation": "Read hostpool", + "description": "Read hostpool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.DesktopVirtualization/hostpools/write", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "hostpools", + "operation": "Write hostpool", + "description": "Write hostpool" + }, + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "", + "displayName": "" + }, + { + "name": "", + "displayName": "" + }, + { + "name": "", + "displayName": "" + } + ] + } + }, + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByHostPool.json new file mode 100644 index 000000000000..e6b608d77396 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByHostPool.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-03" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByWorkspace.json new file mode 100644 index 000000000000..f3693de84cfd --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_DeleteByWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-03" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByHostPool.json new file mode 100644 index 000000000000..30ec45808305 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByHostPool.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByWorkspace.json new file mode 100644 index 000000000000..aad67b451a5d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_GetByWorkspace.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByHostPool.json new file mode 100644 index 000000000000..88a53544c214 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByHostPool.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByWorkspace.json new file mode 100644 index 000000000000..32c42a5f5c5c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_ListByWorkspace.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByHostPool.json new file mode 100644 index 000000000000..f5e129f50c27 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByHostPool.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-03", + "connection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByWorkspace.json new file mode 100644 index 000000000000..dfaffaa7963c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateEndpointConnection_UpdateByWorkspace.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-03", + "connection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByHostPool.json new file mode 100644 index 000000000000..ca282c58317c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByHostPool.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateLinkResources/hostpool", + "type": "Microsoft.DesktopVirtualization/hostpools/privateLinkResources", + "properties": { + "groupId": "hostpool", + "requiredMembers": [ + "rdbroker", + "rddiagnostics", + "rdweb", + "rdgateway" + ], + "requiredZoneNames": [ + "privatelink.wvd.microsoft.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByWorkspace.json new file mode 100644 index 000000000000..d4c14cba6337 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/PrivateLinkResources_ListByWorkspace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateLinkResources/workspace", + "type": "Microsoft.DesktopVirtualization/workspaces/privateLinkResources", + "properties": { + "groupId": "workspace", + "requiredMembers": [ + "rdbroker", + "rddiagnostics", + "rdweb", + "rdgateway" + ], + "requiredZoneNames": [ + "privatelink.wvd.microsoft.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Create.json new file mode 100644 index 000000000000..423c60e11f63 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Create.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-03", + "scalingPlanSchedule": { + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + }, + "201": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "Deallocate", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Delete.json new file mode 100644 index 000000000000..d0b7e9a5c7a7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-03" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Get.json new file mode 100644 index 000000000000..cd6b30e6bc27 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Get.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "PersonalScalingPlan1", + "scalingPlanScheduleName": "PersonalScalingPlanSchedule", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "PersonalScalingPlanSchedule", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/PersonalScalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_List.json new file mode 100644 index 000000000000..bb673eea0f90 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_List.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlanScheduleWeekday", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + }, + { + "name": "scalingPlanScheduleWeekend", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekends1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Saturday", + "Sunday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 10, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "Deallocate", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 14, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "Deallocate", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 16, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "Deallocate", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Update.json new file mode 100644 index 000000000000..eb1ceb79437f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPersonalSchedule_Update.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-03", + "scalingPlanSchedule": { + "properties": { + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Disable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Disable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Create.json new file mode 100644 index 000000000000..df0980476111 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Create.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-03", + "scalingPlanSchedule": { + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + }, + "201": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Delete.json new file mode 100644 index 000000000000..d0b7e9a5c7a7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-03" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Get.json new file mode 100644 index 000000000000..7ba88505af4b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Get.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_List.json new file mode 100644 index 000000000000..46b14ff0dc6a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_List.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + }, + { + "name": "scalingPlanScheduleWeekends1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekends1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Saturday", + "Sunday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 10, + "rampUpCapacityThresholdPct": 90, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 0, + "rampDownCapacityThresholdPct": 100, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Update.json new file mode 100644 index 000000000000..8ca107d28134 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlanPooledSchedule_Update.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-03", + "scalingPlanSchedule": { + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownWaitTimeMinutes": 30 + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Create.json new file mode 100644 index 000000000000..b1662e21694a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Create.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-03", + "scalingPlan": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "201": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Delete.json new file mode 100644 index 000000000000..280ae6f80054 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Delete.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Get.json new file mode 100644 index 000000000000..08ed462db9b1 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Get.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of scaling plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByHostPool.json new file mode 100644 index 000000000000..7e85efd7b73d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByHostPool.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByResourceGroup.json new file mode 100644 index 000000000000..b735eea13900 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByResourceGroup.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + { + "name": "scalingPlan2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": false, + "rampDownStopHostsWhen": "ZeroSessions", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListBySubscription.json new file mode 100644 index 000000000000..3d021c44d56b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListBySubscription.json @@ -0,0 +1,158 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + { + "name": "scalingPlan2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": false, + "rampDownStopHostsWhen": "ZeroActiveSessions", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Update.json new file mode 100644 index 000000000000..0753cf192bdd --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Update.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-03", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Delete.json new file mode 100644 index 000000000000..f17ccbe64653 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Delete.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-03", + "force": true + }, + "responses": { + "200": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Get.json new file mode 100644 index 000000000000..ea31ff17b0b8 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_List.json new file mode 100644 index 000000000000..74ed4d1093ff --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_List.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + }, + { + "name": "sessionHost2.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user2@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Update.json new file mode 100644 index 000000000000..feb48611a982 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/SessionHost_Update.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-03", + "force": true, + "sessionHost": { + "properties": { + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2019-01-11T19:27:13.6108027Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2019-01-24T20:00:08.2893033Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/StartMenuItem_List.json new file mode 100644 index 000000000000..3620fca3a7f0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/StartMenuItem_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "word", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + }, + { + "name": "application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "excel", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Delete.json new file mode 100644 index 000000000000..dd410de873c7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Delete.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-03", + "force": true + }, + "responses": { + "200": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Disconnect_Post.json new file mode 100644 index 000000000000..ba523a9f47a5 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Disconnect_Post.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-03" + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Get.json new file mode 100644 index 000000000000..9ea8793db10c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_List.json new file mode 100644 index 000000000000..9b914786a039 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_List.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_ListByHostPool.json new file mode 100644 index 000000000000..ed609151e558 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_ListByHostPool.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-03", + "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_SendMessage_Post.json new file mode 100644 index 000000000000..ee4f94c56ecb --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/UserSession_SendMessage_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-03", + "sendMessage": { + "messageTitle": "title", + "messageBody": "body" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Create.json new file mode 100644 index 000000000000..fcff9b6b24af --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Create.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-03", + "workspace": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + }, + "201": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Delete.json new file mode 100644 index 000000000000..b67e2c7602b6 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Delete.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Get.json new file mode 100644 index 000000000000..b6fbe8141714 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-03" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListByResourceGroup.json new file mode 100644 index 000000000000..ea3853fc799c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListBySubscription.json new file mode 100644 index 000000000000..902479eda7bf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_ListBySubscription.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-03", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Update.json new file mode 100644 index 000000000000..7bb978038036 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/Workspace_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-03", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md index 817fe2e38454..54bad6e5fc53 100644 --- a/specification/desktopvirtualization/resource-manager/readme.md +++ b/specification/desktopvirtualization/resource-manager/readme.md @@ -26,15 +26,23 @@ These are the global settings for the DesktopVirtualizationClient API. ``` yaml openapi-type: arm -tag: package-preview-2024-03 +tag: package-2024-04 ``` +### Tag: package-2024-04 + +These settings apply only when `--tag=package-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-2024-04' +input-file: + - Microsoft.DesktopVirtualization/stable/2024-04-03/desktopvirtualization.json +``` ### Tag: package-preview-2024-03 These settings apply only when `--tag=package-preview-2024-03` is specified on the command line. -```yaml $(tag) == 'package-preview-2024-03' +``` yaml $(tag) == 'package-preview-2024-03' input-file: - Microsoft.DesktopVirtualization/preview/2024-03-06-preview/desktopvirtualization.json suppressions: @@ -42,6 +50,7 @@ suppressions: from: desktopvirtualization.json reason: Pattern restriction will be a breaking change. Update for next stable version. Work item to fix https://microsoft.visualstudio.com/OS/_workitems/edit/47527278 ``` + ### Tag: package-preview-2024-01 These settings apply only when `--tag=package-preview-2024-01` is specified on the command line. diff --git a/specification/desktopvirtualization/resource-manager/sdk-suppressions.yaml b/specification/desktopvirtualization/resource-manager/sdk-suppressions.yaml new file mode 100644 index 000000000000..1418b1ed5517 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/sdk-suppressions.yaml @@ -0,0 +1,21 @@ +suppressions: + azure-sdk-for-python: + - package: azure-mgmt-desktopvirtualization + breaking-changes: + - Parameter location of model ApplicationGroup is now required + - Parameter location of model HostPool is now required + - Parameter location of model ResourceModelWithAllowedPropertySet is now required + - Parameter location of model ScalingPlan is now required + - Parameter location of model Workspace is now required + azure-sdk-for-js: + - package: '@azure/arm-desktopvirtualization' + breaking-changes: + - Interface ApplicationGroup no longer has parameter systemData + - Interface HostPool no longer has parameter systemData + - Interface PrivateEndpointConnectionWithSystemData no longer has parameter systemData + - Interface ResourceModelWithAllowedPropertySet no longer has parameter id + - Interface ResourceModelWithAllowedPropertySet no longer has parameter name + - Interface ResourceModelWithAllowedPropertySet no longer has parameter type + - Interface ScalingPlan no longer has parameter systemData + - Interface ScalingPlanPersonalSchedule no longer has parameter systemData + - Interface Workspace no longer has parameter systemData From 30808361c7b7766a50cb86db1f450cc3e40b5360 Mon Sep 17 00:00:00 2001 From: Konrad Jamrozik Date: Fri, 3 May 2024 18:32:47 -0700 Subject: [PATCH 25/30] Update comment.yml --- .github/comment.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/comment.yml b/.github/comment.yml index d06097618c06..818c8abd876f 100644 --- a/.github/comment.yml +++ b/.github/comment.yml @@ -26,12 +26,14 @@ - rule: type: label label: ARMChangesRequested + booleanFilterExpression: "!NotReadyForARMReview" onLabeledRemoveLabels: - WaitForARMFeedback - rule: type: unlabeled label: ARMChangesRequested + booleanFilterExpression: "!NotReadyForARMReview" onUnlabeledAddLabels: - WaitForARMFeedback From 34077d86062b695fd7089310e3ed435e6c63dfe8 Mon Sep 17 00:00:00 2001 From: Konrad Jamrozik Date: Wed, 8 May 2024 19:13:55 -0700 Subject: [PATCH 26/30] Update TypeSpec-Requirement.ps1: sleep for 6 minutes --- eng/scripts/TypeSpec-Requirement.ps1 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/eng/scripts/TypeSpec-Requirement.ps1 b/eng/scripts/TypeSpec-Requirement.ps1 index f6b85d0b1e8e..292ee827b736 100644 --- a/eng/scripts/TypeSpec-Requirement.ps1 +++ b/eng/scripts/TypeSpec-Requirement.ps1 @@ -195,7 +195,14 @@ if ($pathsWithErrors.Count -gt 0) { foreach ($path in $pathsWithErrors) { LogErrorForFile $path "OpenAPI was not generated from TypeSpec, and spec appears to be new" } + + LogInfo "Sleeping for 6 minutes" + Start-Sleep -Seconds 60*6 + exit 1 } +LogInfo "Sleeping for 6 minutes" +Start-Sleep -Seconds 60*6 + exit 0 From ae267a1e0d62e095a48762835012afdff0dd6100 Mon Sep 17 00:00:00 2001 From: Konrad Jamrozik Date: Wed, 8 May 2024 19:19:02 -0700 Subject: [PATCH 27/30] Update TypeSpec-Requirement.ps1 --- eng/scripts/TypeSpec-Requirement.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/scripts/TypeSpec-Requirement.ps1 b/eng/scripts/TypeSpec-Requirement.ps1 index 292ee827b736..974ede2690f4 100644 --- a/eng/scripts/TypeSpec-Requirement.ps1 +++ b/eng/scripts/TypeSpec-Requirement.ps1 @@ -197,12 +197,12 @@ if ($pathsWithErrors.Count -gt 0) { } LogInfo "Sleeping for 6 minutes" - Start-Sleep -Seconds 60*6 + Start-Sleep -Seconds 360 exit 1 } LogInfo "Sleeping for 6 minutes" -Start-Sleep -Seconds 60*6 +Start-Sleep -Seconds 360 exit 0 From e10f903e6bb5ca07f24ac65cd4bc710f84df9437 Mon Sep 17 00:00:00 2001 From: Konrad Jamrozik Date: Wed, 8 May 2024 20:40:08 -0700 Subject: [PATCH 28/30] Update TypeSpec-Requirement.ps1 --- eng/scripts/TypeSpec-Requirement.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/scripts/TypeSpec-Requirement.ps1 b/eng/scripts/TypeSpec-Requirement.ps1 index 974ede2690f4..196714b409dc 100644 --- a/eng/scripts/TypeSpec-Requirement.ps1 +++ b/eng/scripts/TypeSpec-Requirement.ps1 @@ -196,13 +196,13 @@ if ($pathsWithErrors.Count -gt 0) { LogErrorForFile $path "OpenAPI was not generated from TypeSpec, and spec appears to be new" } - LogInfo "Sleeping for 6 minutes" - Start-Sleep -Seconds 360 + LogInfo "Sleeping for 10 minutes (kojamroz temp debug)" + Start-Sleep -Seconds 600 exit 1 } -LogInfo "Sleeping for 6 minutes" -Start-Sleep -Seconds 360 +LogInfo "Sleeping for 10 minutes (kojamroz temp debug)" +Start-Sleep -Seconds 600 exit 0 From eeaecff8cbb52f8552e26037a4df6441ed6ad28d Mon Sep 17 00:00:00 2001 From: xiaofeicao Date: Tue, 14 May 2024 11:35:43 +0800 Subject: [PATCH 29/30] test setup --- specificationRepositoryConfiguration.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specificationRepositoryConfiguration.json b/specificationRepositoryConfiguration.json index 0ddbbe026169..2255239a7803 100644 --- a/specificationRepositoryConfiguration.json +++ b/specificationRepositoryConfiguration.json @@ -9,7 +9,8 @@ }, "azure-sdk-for-java": { "integrationRepository": "azure-sdk/azure-sdk-for-java", - "mainRepository": "Azure/azure-sdk-for-java", + "mainRepository": "test-repo-billy/azure-sdk-for-java", + "mainBranch": "java_mgmt_tsp_deleteworkspace", "configFilePath": "eng/mgmt/automation/swagger_to_sdk_config.json" }, "azure-sdk-for-js": { From 935e8d5c4e3382f90879a6b914dabfdeb9b5a448 Mon Sep 17 00:00:00 2001 From: xiaofeicao Date: Tue, 14 May 2024 11:55:00 +0800 Subject: [PATCH 30/30] tsp configs for sphere --- specification/cognitiveservices/ContentSafety/main.tsp | 2 +- specification/sphere/Sphere.Management/tspconfig.yaml | 9 +++++++++ specification/sphere/resource-manager/readme.java.md | 2 +- specification/sphere/resource-manager/readme.md | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/specification/cognitiveservices/ContentSafety/main.tsp b/specification/cognitiveservices/ContentSafety/main.tsp index 0624fff0c638..c90283eddb6a 100644 --- a/specification/cognitiveservices/ContentSafety/main.tsp +++ b/specification/cognitiveservices/ContentSafety/main.tsp @@ -29,7 +29,7 @@ using Azure.Core; { @doc(""" Supported Cognitive Services endpoints (protocol and hostname, for example: -https://.cognitiveservices.azure.com). +https://.cognitiveservices.azure.com). """) endpoint: string, } diff --git a/specification/sphere/Sphere.Management/tspconfig.yaml b/specification/sphere/Sphere.Management/tspconfig.yaml index e00a4055bc40..a48451d0ba94 100644 --- a/specification/sphere/Sphere.Management/tspconfig.yaml +++ b/specification/sphere/Sphere.Management/tspconfig.yaml @@ -1,5 +1,8 @@ emit: - "@azure-tools/typespec-autorest" +parameters: + "service-dir": + default: "sdk/sphere" options: "@azure-tools/typespec-autorest": omit-unreachable-types: true @@ -7,6 +10,12 @@ options: azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azuresphere.json" examples-directory: "{project-root}/examples" + "@azure-tools/typespec-java": + package-dir: "azure-resourcemanager-sphere" + flavor: "azure" + namespace: "com.azure.resourcemanager.sphere" + service-name: "Azure Sphere" + examples-directory: "examples" "@azure-tools/cadl-python": "basic-setup-py": true "package-version": 3.0.0b6 diff --git a/specification/sphere/resource-manager/readme.java.md b/specification/sphere/resource-manager/readme.java.md index 102b388d6151..b8a522a956fd 100644 --- a/specification/sphere/resource-manager/readme.java.md +++ b/specification/sphere/resource-manager/readme.java.md @@ -1,6 +1,6 @@ ## Java -These settings apply only when `--java` is specified on the command line. +These settings apply only when `--java` is specified on the command line. ``` yaml $(java) service-name: AzureSphere diff --git a/specification/sphere/resource-manager/readme.md b/specification/sphere/resource-manager/readme.md index 1a7c9235c56a..16ab5e46903c 100644 --- a/specification/sphere/resource-manager/readme.md +++ b/specification/sphere/resource-manager/readme.md @@ -85,7 +85,7 @@ See configuration in [readme.csharp.md](./readme.csharp.md) See configuration in [readme.go.md](./readme.go.md) -## Java +## Java See configuration in [readme.java.md](./readme.java.md)