建立或更新復原服務保存庫。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}?api-version=2026-07-01
URI 參數
| 名稱 |
位於 |
必要 |
類型 |
Description |
|
resourceGroupName
|
path |
True
|
string
minLength: 1 maxLength: 90
|
資源群組的名稱。 名稱不區分大小寫。
|
|
subscriptionId
|
path |
True
|
string
minLength: 1
|
目標訂用帳戶的標識碼。
|
|
vaultName
|
path |
True
|
string
|
Vault 的名稱
|
|
api-version
|
query |
True
|
string
minLength: 1
|
用於此作業的 API 版本。
|
| 名稱 |
必要 |
類型 |
Description |
|
x-ms-authorization-auxiliary
|
|
string
|
|
要求本文
| 名稱 |
必要 |
類型 |
Description |
|
location
|
True
|
string
|
資源所在的地理位置
|
|
etag
|
|
string
|
etag 的資源。
|
|
identity
|
|
IdentityData
|
資源的身分識別。
|
|
properties
|
|
VaultProperties
|
保存庫的屬性。
|
|
sku
|
|
Sku
|
識別每個 Azure 資源的唯一系統識別碼。
|
|
tags
|
|
object
|
資源標籤。
|
回應
| 名稱 |
類型 |
Description |
|
200 OK
|
Vault
|
資源“Vault”更新作成功
|
|
201 Created
|
Vault
|
資源“Vault”創建作成功
標題
- Location: string
- Retry-After: integer
|
|
Other Status Codes
|
CloudError
|
未預期的錯誤回應。
|
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
| 名稱 |
Description |
|
user_impersonation
|
冒用您的使用者帳戶
|
範例
Create or Update Recovery Services vault
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault.json
*/
/**
* Sample code: Create or Update Recovery Services vault.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateRecoveryServicesVault(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withPublicNetworkAccess(PublicNetworkAccess.ENABLED))
.withIdentity(new IdentityData().withType(ResourceIdentityType.SYSTEM_ASSIGNED))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {"publicNetworkAccess": "Enabled"},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateRecoveryServicesVault() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("3137d6c7-5d6c-411c-b934-7a2a729ee247"),
// TenantID: to.Ptr("d676e86e-2206-4a7c-999c-ece52c144b5b"),
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameRS0),
// Tier: to.Ptr("Standard"),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault.json
*/
async function createOrUpdateRecoveryServicesVault() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: { type: "SystemAssigned" },
location: "West US",
properties: { publicNetworkAccess: "Enabled" },
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
}
},
"location": "West US",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
}
},
"publicNetworkAccess": "Enabled",
"resourceGuardOperationRequests": [
"/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourcegroups/ankurResourceGuard1/providers/Microsoft.DataProtection/resourceGuards/ResourceGuard38-1/modifyEncryptionSettings/default"
]
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.CmkKekIdentity;
import com.azure.resourcemanager.recoveryservices.models.CmkKeyVaultProperties;
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.InfrastructureEncryptionState;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.UserIdentity;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import com.azure.resourcemanager.recoveryservices.models.VaultPropertiesEncryption;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_ResourceGuardEnabled.json
*/
/**
* Sample code: Create or Update Vault performing critical operation With MUA.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultPerformingCriticalOperationWithMUA(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withEncryption(new VaultPropertiesEncryption()
.withKeyVaultProperties(new CmkKeyVaultProperties().withKeyUri("fakeTokenPlaceholder"))
.withKekIdentity(new CmkKekIdentity().withUserAssignedIdentity(
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"))
.withInfrastructureEncryption(InfrastructureEncryptionState.ENABLED))
.withPublicNetworkAccess(PublicNetworkAccess.ENABLED)
.withResourceGuardOperationRequests(Arrays.asList(
"/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourcegroups/ankurResourceGuard1/providers/Microsoft.DataProtection/resourceGuards/ResourceGuard38-1/modifyEncryptionSettings/default")))
.withIdentity(new IdentityData().withType(ResourceIdentityType.USER_ASSIGNED)
.withUserAssignedIdentities(mapOf(
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
new UserIdentity())))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_resource_guard_enabled.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
},
},
"location": "West US",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
},
},
"publicNetworkAccess": "Enabled",
"resourceGuardOperationRequests": [
"/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourcegroups/ankurResourceGuard1/providers/Microsoft.DataProtection/resourceGuards/ResourceGuard38-1/modifyEncryptionSettings/default"
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_ResourceGuardEnabled.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_ResourceGuardEnabled.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultPerformingCriticalOperationWithMua() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeUserAssigned),
UserAssignedIdentities: map[string]*armrecoveryservices.UserIdentity{
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {},
},
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
Encryption: &armrecoveryservices.VaultPropertiesEncryption{
InfrastructureEncryption: to.Ptr(armrecoveryservices.InfrastructureEncryptionStateEnabled),
KekIdentity: &armrecoveryservices.CmkKekIdentity{
UserAssignedIdentity: to.Ptr("/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"),
},
KeyVaultProperties: &armrecoveryservices.CmkKeyVaultProperties{
KeyURI: to.Ptr("https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"),
},
},
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
ResourceGuardOperationRequests: []*string{
to.Ptr("/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourcegroups/ankurResourceGuard1/providers/Microsoft.DataProtection/resourceGuards/ResourceGuard38-1/modifyEncryptionSettings/default"),
},
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeUserAssigned),
// UserAssignedIdentities: map[string]*armrecoveryservices.UserIdentity{
// "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": &armrecoveryservices.UserIdentity{
// ClientID: to.Ptr("fbe75b66-01c5-4f87-a220-233af3270436"),
// PrincipalID: to.Ptr("075a0ca6-43f6-4434-9abf-c9b1b79f9219"),
// },
// },
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// Encryption: &armrecoveryservices.VaultPropertiesEncryption{
// InfrastructureEncryption: to.Ptr(armrecoveryservices.InfrastructureEncryptionStateEnabled),
// KekIdentity: &armrecoveryservices.CmkKekIdentity{
// UseSystemAssignedIdentity: to.Ptr(false),
// UserAssignedIdentity: to.Ptr("/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"),
// },
// KeyVaultProperties: &armrecoveryservices.CmkKeyVaultProperties{
// KeyURI: to.Ptr("https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"),
// },
// },
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameStandard),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_ResourceGuardEnabled.json
*/
async function createOrUpdateVaultPerformingCriticalOperationWithMUA() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: {
type: "UserAssigned",
userAssignedIdentities: {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi":
{},
},
},
location: "West US",
properties: {
encryption: {
infrastructureEncryption: "Enabled",
kekIdentity: {
userAssignedIdentity:
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
},
keyVaultProperties: {
keyUri: "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3",
},
},
publicNetworkAccess: "Enabled",
resourceGuardOperationRequests: [
"/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourcegroups/ankurResourceGuard1/providers/Microsoft.DataProtection/resourceGuards/ResourceGuard38-1/modifyEncryptionSettings/default",
],
},
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"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"
}
}
},
"location": "westus",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"useSystemAssignedIdentity": false,
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
}
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Azure-AsyncOperation: /subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2026-07-01
Retry-After: 10
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
}
},
"location": "westus",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"useSystemAssignedIdentity": false,
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
}
},
"provisioningState": "Provisioning",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault With Cost Management Settings
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"properties": {
"costManagementSettings": {
"granularityLevel": "ProtectedItemLevel"
},
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.CostManagementSettings;
import com.azure.resourcemanager.recoveryservices.models.GranularityLevel;
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithCostManagementSettings.json
*/
/**
* Sample code: Create or Update Vault With Cost Management Settings.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithCostManagementSettings(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(
new VaultProperties().withPublicNetworkAccess(PublicNetworkAccess.ENABLED).withCostManagementSettings(
new CostManagementSettings().withGranularityLevel(GranularityLevel.PROTECTED_ITEM_LEVEL)))
.withIdentity(new IdentityData().withType(ResourceIdentityType.SYSTEM_ASSIGNED))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_cost_management_settings.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {
"costManagementSettings": {"granularityLevel": "ProtectedItemLevel"},
"publicNetworkAccess": "Enabled",
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithCostManagementSettings.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithCostManagementSettings.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithCostManagementSettings() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
CostManagementSettings: &armrecoveryservices.CostManagementSettings{
GranularityLevel: to.Ptr(armrecoveryservices.GranularityLevelProtectedItemLevel),
},
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("3137d6c7-5d6c-411c-b934-7a2a729ee247"),
// TenantID: to.Ptr("d676e86e-2206-4a7c-999c-ece52c144b5b"),
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// CostManagementSettings: &armrecoveryservices.CostManagementSettings{
// GranularityLevel: to.Ptr(armrecoveryservices.GranularityLevelProtectedItemLevel),
// },
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameRS0),
// Tier: to.Ptr("Standard"),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithCostManagementSettings.json
*/
async function createOrUpdateVaultWithCostManagementSettings() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: { type: "SystemAssigned" },
location: "West US",
properties: {
costManagementSettings: { granularityLevel: "ProtectedItemLevel" },
publicNetworkAccess: "Enabled",
},
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"costManagementSettings": {
"granularityLevel": "ProtectedItemLevel"
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"costManagementSettings": {
"granularityLevel": "ProtectedItemLevel"
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault with CustomerManagedKeys
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
}
},
"location": "West US",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
}
},
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.CmkKekIdentity;
import com.azure.resourcemanager.recoveryservices.models.CmkKeyVaultProperties;
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.InfrastructureEncryptionState;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.UserIdentity;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import com.azure.resourcemanager.recoveryservices.models.VaultPropertiesEncryption;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithCMK.json
*/
/**
* Sample code: Create or Update Vault with CustomerManagedKeys.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithCustomerManagedKeys(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withEncryption(new VaultPropertiesEncryption()
.withKeyVaultProperties(new CmkKeyVaultProperties().withKeyUri("fakeTokenPlaceholder"))
.withKekIdentity(new CmkKekIdentity().withUserAssignedIdentity(
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"))
.withInfrastructureEncryption(InfrastructureEncryptionState.ENABLED))
.withPublicNetworkAccess(PublicNetworkAccess.ENABLED))
.withIdentity(new IdentityData().withType(ResourceIdentityType.USER_ASSIGNED)
.withUserAssignedIdentities(mapOf(
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
new UserIdentity())))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_cmk.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
},
},
"location": "West US",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
},
},
"publicNetworkAccess": "Enabled",
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithCMK.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithCMK.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithCustomerManagedKeys() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeUserAssigned),
UserAssignedIdentities: map[string]*armrecoveryservices.UserIdentity{
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {},
},
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
Encryption: &armrecoveryservices.VaultPropertiesEncryption{
InfrastructureEncryption: to.Ptr(armrecoveryservices.InfrastructureEncryptionStateEnabled),
KekIdentity: &armrecoveryservices.CmkKekIdentity{
UserAssignedIdentity: to.Ptr("/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"),
},
KeyVaultProperties: &armrecoveryservices.CmkKeyVaultProperties{
KeyURI: to.Ptr("https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"),
},
},
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeUserAssigned),
// UserAssignedIdentities: map[string]*armrecoveryservices.UserIdentity{
// "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": &armrecoveryservices.UserIdentity{
// ClientID: to.Ptr("fbe75b66-01c5-4f87-a220-233af3270436"),
// PrincipalID: to.Ptr("075a0ca6-43f6-4434-9abf-c9b1b79f9219"),
// },
// },
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// Encryption: &armrecoveryservices.VaultPropertiesEncryption{
// InfrastructureEncryption: to.Ptr(armrecoveryservices.InfrastructureEncryptionStateEnabled),
// KekIdentity: &armrecoveryservices.CmkKekIdentity{
// UseSystemAssignedIdentity: to.Ptr(false),
// UserAssignedIdentity: to.Ptr("/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"),
// },
// KeyVaultProperties: &armrecoveryservices.CmkKeyVaultProperties{
// KeyURI: to.Ptr("https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"),
// },
// },
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameStandard),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithCMK.json
*/
async function createOrUpdateVaultWithCustomerManagedKeys() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: {
type: "UserAssigned",
userAssignedIdentities: {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi":
{},
},
},
location: "West US",
properties: {
encryption: {
infrastructureEncryption: "Enabled",
kekIdentity: {
userAssignedIdentity:
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
},
keyVaultProperties: {
keyUri: "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3",
},
},
publicNetworkAccess: "Enabled",
},
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"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"
}
}
},
"location": "westus",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"useSystemAssignedIdentity": false,
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
}
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Azure-AsyncOperation: /subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2026-07-01
Retry-After: 10
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
}
},
"location": "westus",
"properties": {
"encryption": {
"infrastructureEncryption": "Enabled",
"kekIdentity": {
"useSystemAssignedIdentity": false,
"userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
},
"keyVaultProperties": {
"keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
}
},
"provisioningState": "Provisioning",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault With Immutability Config
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"properties": {
"securitySettings": {
"immutabilitySettings": {
"state": "Unlocked",
"configuration": {
"type": "TimeBased",
"durationInDays": 30
}
}
},
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.ImmutabilityConfiguration;
import com.azure.resourcemanager.recoveryservices.models.ImmutabilitySettings;
import com.azure.resourcemanager.recoveryservices.models.ImmutabilityState;
import com.azure.resourcemanager.recoveryservices.models.ImmutabilityType;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.SecuritySettings;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithImmutabilityConfig.json
*/
/**
* Sample code: Create or Update Vault With Immutability Config.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithImmutabilityConfig(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withPublicNetworkAccess(PublicNetworkAccess.ENABLED)
.withSecuritySettings(new SecuritySettings().withImmutabilitySettings(
new ImmutabilitySettings().withState(ImmutabilityState.UNLOCKED).withConfiguration(
new ImmutabilityConfiguration().withType(ImmutabilityType.TIME_BASED).withDurationInDays(30)))))
.withIdentity(new IdentityData().withType(ResourceIdentityType.SYSTEM_ASSIGNED))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_immutability_config.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled",
"securitySettings": {
"immutabilitySettings": {
"configuration": {"durationInDays": 30, "type": "TimeBased"},
"state": "Unlocked",
}
},
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithImmutabilityConfig.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithImmutabilityConfig.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithImmutabilityConfig() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
SecuritySettings: &armrecoveryservices.SecuritySettings{
ImmutabilitySettings: &armrecoveryservices.ImmutabilitySettings{
State: to.Ptr(armrecoveryservices.ImmutabilityStateUnlocked),
Configuration: &armrecoveryservices.ImmutabilityConfiguration{
Type: to.Ptr(armrecoveryservices.ImmutabilityTypeTimeBased),
DurationInDays: to.Ptr[int32](30),
},
},
},
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("3137d6c7-5d6c-411c-b934-7a2a729ee247"),
// TenantID: to.Ptr("d676e86e-2206-4a7c-999c-ece52c144b5b"),
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// SecuritySettings: &armrecoveryservices.SecuritySettings{
// ImmutabilitySettings: &armrecoveryservices.ImmutabilitySettings{
// State: to.Ptr(armrecoveryservices.ImmutabilityStateUnlocked),
// Configuration: &armrecoveryservices.ImmutabilityConfiguration{
// Type: to.Ptr(armrecoveryservices.ImmutabilityTypeTimeBased),
// DurationInDays: to.Ptr[int32](30),
// },
// },
// },
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameRS0),
// Tier: to.Ptr("Standard"),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithImmutabilityConfig.json
*/
async function createOrUpdateVaultWithImmutabilityConfig() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: { type: "SystemAssigned" },
location: "West US",
properties: {
securitySettings: {
immutabilitySettings: {
state: "Unlocked",
configuration: { type: "TimeBased", durationInDays: 30 },
},
},
publicNetworkAccess: "Enabled",
},
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"securitySettings": {
"immutabilitySettings": {
"state": "Unlocked",
"configuration": {
"type": "TimeBased",
"durationInDays": 30
}
}
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"securitySettings": {
"immutabilitySettings": {
"state": "Unlocked",
"configuration": {
"type": "TimeBased",
"durationInDays": 30
}
}
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault With Monitoring Setting
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"properties": {
"monitoringSettings": {
"azureMonitorAlertSettings": {
"alertsForAllFailoverIssues": "Disabled",
"alertsForAllJobFailures": "Enabled",
"alertsForAllReplicationIssues": "Enabled"
},
"classicAlertSettings": {
"alertsForCriticalOperations": "Disabled",
"emailNotificationsForSiteRecovery": "Enabled"
}
},
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.AlertsState;
import com.azure.resourcemanager.recoveryservices.models.AzureMonitorAlertSettings;
import com.azure.resourcemanager.recoveryservices.models.ClassicAlertSettings;
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.MonitoringSettings;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithMonitoringSettings.json
*/
/**
* Sample code: Create or Update Vault With Monitoring Setting.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithMonitoringSetting(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup(
"Default-RecoveryServices-ResourceGroup")
.withProperties(
new VaultProperties()
.withPublicNetworkAccess(
PublicNetworkAccess.ENABLED)
.withMonitoringSettings(new MonitoringSettings().withAzureMonitorAlertSettings(
new AzureMonitorAlertSettings().withAlertsForAllJobFailures(AlertsState.ENABLED)
.withAlertsForAllReplicationIssues(AlertsState.ENABLED)
.withAlertsForAllFailoverIssues(AlertsState.DISABLED))
.withClassicAlertSettings(
new ClassicAlertSettings().withAlertsForCriticalOperations(AlertsState.DISABLED)
.withEmailNotificationsForSiteRecovery(AlertsState.ENABLED))))
.withIdentity(new IdentityData().withType(ResourceIdentityType.SYSTEM_ASSIGNED))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_monitoring_settings.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {
"monitoringSettings": {
"azureMonitorAlertSettings": {
"alertsForAllFailoverIssues": "Disabled",
"alertsForAllJobFailures": "Enabled",
"alertsForAllReplicationIssues": "Enabled",
},
"classicAlertSettings": {
"alertsForCriticalOperations": "Disabled",
"emailNotificationsForSiteRecovery": "Enabled",
},
},
"publicNetworkAccess": "Enabled",
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithMonitoringSettings.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithMonitoringSettings.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithMonitoringSetting() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
MonitoringSettings: &armrecoveryservices.MonitoringSettings{
AzureMonitorAlertSettings: &armrecoveryservices.AzureMonitorAlertSettings{
AlertsForAllFailoverIssues: to.Ptr(armrecoveryservices.AlertsStateDisabled),
AlertsForAllJobFailures: to.Ptr(armrecoveryservices.AlertsStateEnabled),
AlertsForAllReplicationIssues: to.Ptr(armrecoveryservices.AlertsStateEnabled),
},
ClassicAlertSettings: &armrecoveryservices.ClassicAlertSettings{
AlertsForCriticalOperations: to.Ptr(armrecoveryservices.AlertsStateDisabled),
EmailNotificationsForSiteRecovery: to.Ptr(armrecoveryservices.AlertsStateEnabled),
},
},
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("3137d6c7-5d6c-411c-b934-7a2a729ee247"),
// TenantID: to.Ptr("d676e86e-2206-4a7c-999c-ece52c144b5b"),
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// MonitoringSettings: &armrecoveryservices.MonitoringSettings{
// AzureMonitorAlertSettings: &armrecoveryservices.AzureMonitorAlertSettings{
// AlertsForAllFailoverIssues: to.Ptr(armrecoveryservices.AlertsStateDisabled),
// AlertsForAllJobFailures: to.Ptr(armrecoveryservices.AlertsStateEnabled),
// AlertsForAllReplicationIssues: to.Ptr(armrecoveryservices.AlertsStateEnabled),
// },
// ClassicAlertSettings: &armrecoveryservices.ClassicAlertSettings{
// AlertsForCriticalOperations: to.Ptr(armrecoveryservices.AlertsStateDisabled),
// EmailNotificationsForSiteRecovery: to.Ptr(armrecoveryservices.AlertsStateEnabled),
// },
// },
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameRS0),
// Tier: to.Ptr("Standard"),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithMonitoringSettings.json
*/
async function createOrUpdateVaultWithMonitoringSetting() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: { type: "SystemAssigned" },
location: "West US",
properties: {
monitoringSettings: {
azureMonitorAlertSettings: {
alertsForAllFailoverIssues: "Disabled",
alertsForAllJobFailures: "Enabled",
alertsForAllReplicationIssues: "Enabled",
},
classicAlertSettings: {
alertsForCriticalOperations: "Disabled",
emailNotificationsForSiteRecovery: "Enabled",
},
},
publicNetworkAccess: "Enabled",
},
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"monitoringSettings": {
"azureMonitorAlertSettings": {
"alertsForAllFailoverIssues": "Disabled",
"alertsForAllJobFailures": "Enabled",
"alertsForAllReplicationIssues": "Enabled"
},
"classicAlertSettings": {
"alertsForCriticalOperations": "Disabled",
"emailNotificationsForSiteRecovery": "Enabled"
}
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"monitoringSettings": {
"azureMonitorAlertSettings": {
"alertsForAllFailoverIssues": "Disabled",
"alertsForAllJobFailures": "Enabled",
"alertsForAllReplicationIssues": "Enabled"
},
"classicAlertSettings": {
"alertsForCriticalOperations": "Disabled",
"emailNotificationsForSiteRecovery": "Enabled"
}
},
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault With Redundancy Setting
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled",
"redundancySettings": {
"crossRegionRestore": "Enabled",
"standardTierStorageRedundancy": "GeoRedundant"
}
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.CrossRegionRestore;
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.StandardTierStorageRedundancy;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import com.azure.resourcemanager.recoveryservices.models.VaultPropertiesRedundancySettings;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithRedundancySettings.json
*/
/**
* Sample code: Create or Update Vault With Redundancy Setting.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithRedundancySetting(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withPublicNetworkAccess(PublicNetworkAccess.ENABLED)
.withRedundancySettings(new VaultPropertiesRedundancySettings()
.withStandardTierStorageRedundancy(StandardTierStorageRedundancy.GEO_REDUNDANT)
.withCrossRegionRestore(CrossRegionRestore.ENABLED)))
.withIdentity(new IdentityData().withType(ResourceIdentityType.SYSTEM_ASSIGNED))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_redundancy_settings.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled",
"redundancySettings": {
"crossRegionRestore": "Enabled",
"standardTierStorageRedundancy": "GeoRedundant",
},
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithRedundancySettings.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithRedundancySettings.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithRedundancySetting() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
RedundancySettings: &armrecoveryservices.VaultPropertiesRedundancySettings{
CrossRegionRestore: to.Ptr(armrecoveryservices.CrossRegionRestoreEnabled),
StandardTierStorageRedundancy: to.Ptr(armrecoveryservices.StandardTierStorageRedundancyGeoRedundant),
},
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("3137d6c7-5d6c-411c-b934-7a2a729ee247"),
// TenantID: to.Ptr("d676e86e-2206-4a7c-999c-ece52c144b5b"),
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// RedundancySettings: &armrecoveryservices.VaultPropertiesRedundancySettings{
// CrossRegionRestore: to.Ptr(armrecoveryservices.CrossRegionRestoreEnabled),
// StandardTierStorageRedundancy: to.Ptr(armrecoveryservices.StandardTierStorageRedundancyGeoRedundant),
// },
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameRS0),
// Tier: to.Ptr("Standard"),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithRedundancySettings.json
*/
async function createOrUpdateVaultWithRedundancySetting() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: { type: "SystemAssigned" },
location: "West US",
properties: {
publicNetworkAccess: "Enabled",
redundancySettings: {
crossRegionRestore: "Enabled",
standardTierStorageRedundancy: "GeoRedundant",
},
},
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"redundancySettings": {
"crossRegionRestore": "Enabled",
"standardTierStorageRedundancy": "GeoRedundant"
}
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"redundancySettings": {
"crossRegionRestore": "Enabled",
"standardTierStorageRedundancy": "GeoRedundant"
}
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault With Region Of Choice Settings
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled",
"regionOfChoiceSettings": {
"status": "Enabled"
}
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.RegionOfChoiceSettings;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.State;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithRegionOfChoiceSettings.json
*/
/**
* Sample code: Create or Update Vault With Region Of Choice Settings.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithRegionOfChoiceSettings(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withPublicNetworkAccess(PublicNetworkAccess.ENABLED)
.withRegionOfChoiceSettings(new RegionOfChoiceSettings().withStatus(State.ENABLED)))
.withIdentity(new IdentityData().withType(ResourceIdentityType.SYSTEM_ASSIGNED))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_region_of_choice_settings.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {"publicNetworkAccess": "Enabled", "regionOfChoiceSettings": {"status": "Enabled"}},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithRegionOfChoiceSettings.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithRegionOfChoiceSettings.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithRegionOfChoiceSettings() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
RegionOfChoiceSettings: &armrecoveryservices.RegionOfChoiceSettings{
Status: to.Ptr(armrecoveryservices.StateEnabled),
},
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("3137d6c7-5d6c-411c-b934-7a2a729ee247"),
// TenantID: to.Ptr("d676e86e-2206-4a7c-999c-ece52c144b5b"),
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// RegionOfChoiceSettings: &armrecoveryservices.RegionOfChoiceSettings{
// Status: to.Ptr(armrecoveryservices.StateEnabled),
// },
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameRS0),
// Tier: to.Ptr("Standard"),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithRegionOfChoiceSettings.json
*/
async function createOrUpdateVaultWithRegionOfChoiceSettings() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: { type: "SystemAssigned" },
location: "West US",
properties: { publicNetworkAccess: "Enabled", regionOfChoiceSettings: { status: "Enabled" } },
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"regionOfChoiceSettings": {
"status": "Enabled"
}
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247",
"tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b"
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"regionOfChoiceSettings": {
"status": "Enabled"
}
},
"sku": {
"name": "RS0",
"tier": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault with Source scan configuration
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled",
"securitySettings": {
"sourceScanConfiguration": {
"sourceScanIdentity": {
"operationIdentityType": "SystemAssigned"
},
"state": "Enabled"
}
}
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.AssociatedIdentity;
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.IdentityType;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.SecuritySettings;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.SourceScanConfiguration;
import com.azure.resourcemanager.recoveryservices.models.State;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithSourceScanConfiguration.json
*/
/**
* Sample code: Create or Update Vault with Source scan configuration.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithSourceScanConfiguration(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withPublicNetworkAccess(PublicNetworkAccess.ENABLED)
.withSecuritySettings(new SecuritySettings().withSourceScanConfiguration(
new SourceScanConfiguration().withState(State.ENABLED).withSourceScanIdentity(
new AssociatedIdentity().withOperationIdentityType(IdentityType.SYSTEM_ASSIGNED)))))
.withIdentity(new IdentityData().withType(ResourceIdentityType.SYSTEM_ASSIGNED))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_source_scan_configuration.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled",
"securitySettings": {
"sourceScanConfiguration": {
"sourceScanIdentity": {"operationIdentityType": "SystemAssigned"},
"state": "Enabled",
}
},
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithSourceScanConfiguration.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithSourceScanConfiguration.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithSourceScanConfiguration() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
SecuritySettings: &armrecoveryservices.SecuritySettings{
SourceScanConfiguration: &armrecoveryservices.SourceScanConfiguration{
SourceScanIdentity: &armrecoveryservices.AssociatedIdentity{
OperationIdentityType: to.Ptr(armrecoveryservices.IdentityTypeSystemAssigned),
},
State: to.Ptr(armrecoveryservices.StateEnabled),
},
},
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2025-02-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("1be097b0-eb5e-4927-bac2-b24ee8716f64"),
// TenantID: to.Ptr("72f988bf-86f1-41af-91ab-2d7cd011db47"),
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// SecuritySettings: &armrecoveryservices.SecuritySettings{
// SourceScanConfiguration: &armrecoveryservices.SourceScanConfiguration{
// SourceScanIdentity: &armrecoveryservices.AssociatedIdentity{
// OperationIdentityType: to.Ptr(armrecoveryservices.IdentityTypeSystemAssigned),
// },
// State: to.Ptr(armrecoveryservices.StateEnabled),
// },
// },
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameStandard),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithSourceScanConfiguration.json
*/
async function createOrUpdateVaultWithSourceScanConfiguration() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: { type: "SystemAssigned" },
location: "West US",
properties: {
publicNetworkAccess: "Enabled",
securitySettings: {
sourceScanConfiguration: {
sourceScanIdentity: { operationIdentityType: "SystemAssigned" },
state: "Enabled",
},
},
},
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2025-02-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "1be097b0-eb5e-4927-bac2-b24ee8716f64",
"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"securitySettings": {
"sourceScanConfiguration": {
"sourceScanIdentity": {
"operationIdentityType": "SystemAssigned"
},
"state": "Enabled"
}
}
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Azure-AsyncOperation: /subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2026-07-01
Retry-After: 10
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "SystemAssigned",
"principalId": "1be097b0-eb5e-4927-bac2-b24ee8716f64",
"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
},
"location": "westus",
"properties": {
"provisioningState": "Provisioning",
"publicNetworkAccess": "Enabled",
"securitySettings": {
"sourceScanConfiguration": {
"sourceScanIdentity": {
"operationIdentityType": "SystemAssigned"
},
"state": "Enabled"
}
}
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Create or Update Vault with User Assigned Identity
範例要求
PUT https://management.azure.com/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample?api-version=2026-07-01
{
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
}
},
"location": "West US",
"properties": {
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
}
}
import com.azure.resourcemanager.recoveryservices.models.IdentityData;
import com.azure.resourcemanager.recoveryservices.models.PublicNetworkAccess;
import com.azure.resourcemanager.recoveryservices.models.ResourceIdentityType;
import com.azure.resourcemanager.recoveryservices.models.Sku;
import com.azure.resourcemanager.recoveryservices.models.SkuName;
import com.azure.resourcemanager.recoveryservices.models.UserIdentity;
import com.azure.resourcemanager.recoveryservices.models.VaultProperties;
import java.util.HashMap;
import java.util.Map;
/**
* Samples for Vaults CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2026-07-01/PUTVault_WithUserAssignedIdentity.json
*/
/**
* Sample code: Create or Update Vault with User Assigned Identity.
*
* @param manager Entry point to RecoveryServicesManager.
*/
public static void createOrUpdateVaultWithUserAssignedIdentity(
com.azure.resourcemanager.recoveryservices.RecoveryServicesManager manager) {
manager.vaults().define("swaggerExample").withRegion("West US")
.withExistingResourceGroup("Default-RecoveryServices-ResourceGroup")
.withProperties(new VaultProperties().withPublicNetworkAccess(PublicNetworkAccess.ENABLED))
.withIdentity(new IdentityData().withType(ResourceIdentityType.USER_ASSIGNED)
.withUserAssignedIdentities(mapOf(
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
new UserIdentity())))
.withSku(new Sku().withName(SkuName.STANDARD)).create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservices import RecoveryServicesClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-recoveryservices
# USAGE
python put_vault_with_user_assigned_identity.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = RecoveryServicesClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.vaults.begin_create_or_update(
resource_group_name="Default-RecoveryServices-ResourceGroup",
vault_name="swaggerExample",
vault={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
},
},
"location": "West US",
"properties": {"publicNetworkAccess": "Enabled"},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2026-07-01/PUTVault_WithUserAssignedIdentity.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armrecoveryservices_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservices/v3"
)
// Generated from example definition: 2026-07-01/PUTVault_WithUserAssignedIdentity.json
func ExampleVaultsClient_BeginCreateOrUpdate_createOrUpdateVaultWithUserAssignedIdentity() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armrecoveryservices.NewClientFactory("77777777-b0c6-47a2-b37c-d8e65a629c18", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewVaultsClient().BeginCreateOrUpdate(ctx, "Default-RecoveryServices-ResourceGroup", "swaggerExample", armrecoveryservices.Vault{
Identity: &armrecoveryservices.IdentityData{
Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeUserAssigned),
UserAssignedIdentities: map[string]*armrecoveryservices.UserIdentity{
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {},
},
},
Location: to.Ptr("West US"),
Properties: &armrecoveryservices.VaultProperties{
PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
},
SKU: &armrecoveryservices.SKU{
Name: to.Ptr(armrecoveryservices.SKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armrecoveryservices.VaultsClientCreateOrUpdateResponse{
// Vault: armrecoveryservices.Vault{
// Name: to.Ptr("swaggerExample"),
// Type: to.Ptr("Microsoft.RecoveryServices/vaults"),
// Etag: to.Ptr("W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\""),
// ID: to.Ptr("/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample"),
// Identity: &armrecoveryservices.IdentityData{
// Type: to.Ptr(armrecoveryservices.ResourceIdentityTypeUserAssigned),
// UserAssignedIdentities: map[string]*armrecoveryservices.UserIdentity{
// "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": &armrecoveryservices.UserIdentity{
// ClientID: to.Ptr("fbe75b66-01c5-4f87-a220-233af3270436"),
// PrincipalID: to.Ptr("075a0ca6-43f6-4434-9abf-c9b1b79f9219"),
// },
// },
// },
// Location: to.Ptr("westus"),
// Properties: &armrecoveryservices.VaultProperties{
// ProvisioningState: to.Ptr("Succeeded"),
// PublicNetworkAccess: to.Ptr(armrecoveryservices.PublicNetworkAccessEnabled),
// },
// SKU: &armrecoveryservices.SKU{
// Name: to.Ptr(armrecoveryservices.SKUNameStandard),
// },
// Tags: map[string]*string{
// "TestUpdatedKey": to.Ptr("TestUpdatedValue"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { RecoveryServicesClient } = require("@azure/arm-recoveryservices");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a Recovery Services vault.
*
* @summary creates or updates a Recovery Services vault.
* x-ms-original-file: 2026-07-01/PUTVault_WithUserAssignedIdentity.json
*/
async function createOrUpdateVaultWithUserAssignedIdentity() {
const credential = new DefaultAzureCredential();
const subscriptionId = "77777777-b0c6-47a2-b37c-d8e65a629c18";
const client = new RecoveryServicesClient(credential, subscriptionId);
const result = await client.vaults.createOrUpdate(
"Default-RecoveryServices-ResourceGroup",
"swaggerExample",
{
identity: {
type: "UserAssigned",
userAssignedIdentities: {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi":
{},
},
},
location: "West US",
properties: { publicNetworkAccess: "Enabled" },
sku: { name: "Standard" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"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"
}
}
},
"location": "westus",
"properties": {
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
Azure-AsyncOperation: /subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2026-07-01
Retry-After: 10
{
"name": "swaggerExample",
"type": "Microsoft.RecoveryServices/vaults",
"etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
"id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {}
}
},
"location": "westus",
"properties": {
"provisioningState": "Provisioning",
"publicNetworkAccess": "Enabled"
},
"sku": {
"name": "Standard"
},
"tags": {
"TestUpdatedKey": "TestUpdatedValue"
}
}
定義
AlertsState
列舉型別
| 值 |
Description |
|
Enabled
|
|
|
Disabled
|
|
AssociatedIdentity
Object
要用於作業的身分識別詳細數據
| 名稱 |
類型 |
Description |
|
operationIdentityType
|
IdentityType
|
應該用於作業的識別類型。
|
|
userAssignedIdentity
|
string
|
如果 operationIdentityType 為 UserAssigned,則使用者指派的身分識別要用於作業。
|
AzureMonitorAlertSettings
Object
Azure 監視器型警示的設定
BackupStorageVersion
列舉型別
備份記憶體版本
| 值 |
Description |
|
V1
|
|
|
V2
|
|
|
Unassigned
|
|
BCDRSecurityLevel
列舉型別
適用於商務持續性和災害復原的復原服務保存庫安全性層級
| 值 |
Description |
|
Poor
|
|
|
Fair
|
|
|
Good
|
|
|
Excellent
|
|
ClassicAlertSettings
Object
傳統警示的設定
CloudError
Object
來自 Azure 備份的錯誤回應。
| 名稱 |
類型 |
Description |
|
error
|
Error
|
資源管理錯誤回應。
|
CmkKekIdentity
Object
CMK 所使用的身分識別詳細數據
| 名稱 |
類型 |
Description |
|
useSystemAssignedIdentity
|
boolean
|
表示應該使用系統指派的身分識別。 與 'userAssignedIdentity' 字段互斥
|
|
userAssignedIdentity
|
string
|
使用者指派的身分識別,用來授與許可權,以防使用的身分識別類型為UserAssigned
|
CmkKeyVaultProperties
Object
承載 CMK 的 金鑰保存庫 的物業
| 名稱 |
類型 |
Description |
|
keyUri
|
string
|
客戶管理金鑰的金鑰 URI
|
CostManagementSettings
Object
保險庫的成本管理設定
createdByType
列舉型別
建立此資源的身分識別類型。
| 值 |
Description |
|
User
|
|
|
Application
|
|
|
ManagedIdentity
|
|
|
Key
|
|
CrossRegionRestore
列舉型別
旗標,以顯示是否在保存庫上啟用跨區域還原
| 值 |
Description |
|
Enabled
|
|
|
Disabled
|
|
CrossSubscriptionRestoreSettings
Object
跨訂用帳戶還原設定的設定
CrossSubscriptionRestoreState
列舉型別
| 值 |
Description |
|
Enabled
|
|
|
Disabled
|
|
|
PermanentlyDisabled
|
|
EnhancedSecurityState
列舉型別
| 值 |
Description |
|
Invalid
|
|
|
Enabled
|
|
|
Disabled
|
|
|
AlwaysON
|
|
Error
Object
資源管理錯誤回應。
| 名稱 |
類型 |
Description |
|
additionalInfo
|
ErrorAdditionalInfo[]
|
錯誤的其他資訊。
|
|
code
|
string
|
錯誤碼。
|
|
details
|
Error[]
|
錯誤詳情
|
|
message
|
string
|
錯誤訊息。
|
|
target
|
string
|
錯誤目標。
|
ErrorAdditionalInfo
Object
資源管理錯誤其他資訊。
| 名稱 |
類型 |
Description |
|
info
|
object
|
其他資訊。
|
|
type
|
string
|
其他信息類型。
|
GranularityLevel
列舉型別
| 值 |
Description |
|
VaultLevel
|
|
|
ProtectedItemLevel
|
|
|
ProtectedItemWithParentTag
|
|
IdentityData
Object
資源的身分識別。
| 名稱 |
類型 |
Description |
|
principalId
|
string
|
資源識別的主要標識碼。
|
|
tenantId
|
string
|
資源的租用戶標識碼。
|
|
type
|
ResourceIdentityType
|
所使用的受控識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 將會移除任何身分識別。
|
|
userAssignedIdentities
|
<string,
UserIdentity>
|
與資源相關聯的使用者指派身分識別清單。 使用者指派的身份字典金鑰將是 ARM 資源 ID,格式為:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft。ManagedIdentity/userAssignedIdentities/{identityName}'.
|
IdentityType
列舉型別
應該用於作業的識別類型。
| 值 |
Description |
|
SystemAssigned
|
|
|
UserAssigned
|
|
ImmutabilityConfiguration
Object
保險庫的不可變性配置。
| 名稱 |
類型 |
Description |
|
durationInDays
|
integer
(int32)
minimum: 30 maximum: 36135
|
以天為單位的持續時間。 Typed 為 TimeBased 時必須,AsPerPolicy 時省略。
|
|
type
|
ImmutabilityType
|
不可變性類型。 「AsPerPolicy」繼承自備份政策的持續時間;「TimeBased」需要明確的 DurationInDays。
|
ImmutabilitySettings
Object
保存庫的不變性設定
ImmutabilityState
列舉型別
| 值 |
Description |
|
Disabled
|
|
|
Unlocked
|
|
|
Locked
|
|
ImmutabilityType
列舉型別
不可變性設定類型。
| 值 |
Description |
|
AsPerPolicy
|
不可變性受政策規範。
|
|
TimeBased
|
不變性持續時間是基於時間的。
|
InfrastructureEncryptionState
列舉型別
啟用/停用雙重加密狀態
| 值 |
Description |
|
Enabled
|
|
|
Disabled
|
|
MonitoringSettings
Object
保存庫的監視設定
MultiUserAuthorization
列舉型別
保存庫的 MUA 設定
| 值 |
Description |
|
Invalid
|
|
|
Enabled
|
|
|
Disabled
|
|
PrivateEndpoint
Object
連結到私人端點連線的私人端點網路資源。
| 名稱 |
類型 |
Description |
|
id
|
string
|
取得或設定標識碼。
|
PrivateEndpointConnection
Object
私人端點連線回應屬性。
PrivateEndpointConnectionStatus
列舉型別
取得或設定狀態。
| 值 |
Description |
|
Pending
|
|
|
Approved
|
|
|
Rejected
|
|
|
Disconnected
|
|
PrivateEndpointConnectionVaultProperties
Object
要儲存在保存庫屬性中作為 privateEndpointConnections List 元素的資訊。
| 名稱 |
類型 |
Description |
|
id
|
string
|
標識符訂用帳戶的格式/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft。[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}。
|
|
location
|
string
|
私人端點連線的位置
|
|
name
|
string
|
私人端點連線的名稱
|
|
properties
|
PrivateEndpointConnection
|
私人端點連線回應屬性。
|
|
type
|
string
|
類型,格式為 Microsoft.RecoveryServices/vaults/privateEndpointConnections
|
PrivateLinkServiceConnectionState
Object
取得或設定私人連結服務連線狀態。
ProvisioningState
列舉型別
取得或設定私人端點連線的布建狀態。
| 值 |
Description |
|
Succeeded
|
|
|
Deleting
|
|
|
Failed
|
|
|
Pending
|
|
PublicNetworkAccess
列舉型別
屬性,可啟用或停用來自公用客戶端的資源提供者輸入網路流量
| 值 |
Description |
|
Enabled
|
|
|
Disabled
|
|
RegionOfChoiceSettings
Object
保險庫層級的選擇區域設定。
此設定允許客戶為不同區域的資料來源設定備份。
| 名稱 |
類型 |
Description |
|
status
|
State
|
選擇區域設定狀態 - 啟用或停用。
|
ResourceIdentityType
列舉型別
所使用的受控識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 將會移除任何身分識別。
| 值 |
Description |
|
SystemAssigned
|
|
|
None
|
|
|
UserAssigned
|
|
|
SystemAssigned, UserAssigned
|
|
ResourceMoveState
列舉型別
移動作業之後的資源狀態
| 值 |
Description |
|
Unknown
|
|
|
InProgress
|
|
|
PrepareFailed
|
|
|
CommitFailed
|
|
|
PrepareTimedout
|
|
|
CommitTimedout
|
|
|
MoveSucceeded
|
|
|
Failure
|
|
|
CriticalFailure
|
|
|
PartialSuccess
|
|
RestoreSettings
Object
還原保存庫的設定
SecureScoreLevel
列舉型別
復原服務保存庫的安全分數
| 值 |
Description |
|
None
|
|
|
Minimum
|
|
|
Adequate
|
|
|
Maximum
|
|
SecuritySettings
Object
保存庫的安全性設定
Sku
Object
識別每個 Azure 資源的唯一系統識別碼。
| 名稱 |
類型 |
Description |
|
capacity
|
string
|
SKU 容量
|
|
family
|
string
|
SKU 系列
|
|
name
|
SkuName
|
SKU 的名稱是 RS0(復原服務第 0 版),而該層是標準層。 它們不會影響後端記憶體備援或任何其他保存庫設定。 若要管理記憶體備援,請使用backupstorageconfig
|
|
size
|
string
|
SKU 大小
|
|
tier
|
string
|
Sku 層。
|
SkuName
列舉型別
SKU 的名稱是 RS0(復原服務第 0 版),而該層是標準層。 它們不會影響後端記憶體備援或任何其他保存庫設定。 若要管理記憶體備援,請使用backupstorageconfig
| 值 |
Description |
|
Standard
|
|
|
RS0
|
|
SoftDeleteSettings
Object
保存庫的虛刪除設定
SoftDeleteState
列舉型別
| 值 |
Description |
|
Invalid
|
|
|
Enabled
|
|
|
Disabled
|
|
|
AlwaysON
|
|
SourceScanConfiguration
Object
保存庫的來源掃描組態
StandardTierStorageRedundancy
列舉型別
保存庫的記憶體備援設定
| 值 |
Description |
|
Invalid
|
|
|
LocallyRedundant
|
|
|
GeoRedundant
|
|
|
ZoneRedundant
|
|
State
列舉型別
| 值 |
Description |
|
Invalid
|
|
|
Enabled
|
|
|
Disabled
|
|
systemData
Object
與建立和上次修改資源相關的元數據。
| 名稱 |
類型 |
Description |
|
createdAt
|
string
(date-time)
|
資源建立的時間戳(UTC)。
|
|
createdBy
|
string
|
建立此資源的身分。
|
|
createdByType
|
createdByType
|
建立此資源的身分識別類型。
|
|
lastModifiedAt
|
string
(date-time)
|
上次修改的資源時間戳 (UTC)
|
|
lastModifiedBy
|
string
|
上次修改資源的身分識別。
|
|
lastModifiedByType
|
createdByType
|
上次修改資源的身分識別類型。
|
TriggerType
列舉型別
觸發保存庫升級的方式。
| 值 |
Description |
|
UserTriggered
|
|
|
ForcedUpgrade
|
|
UpgradeDetails
Object
升級保存庫的詳細數據。
| 名稱 |
類型 |
Description |
|
endTimeUtc
|
string
(date-time)
|
升級作業結束的 UTC 時間。
|
|
lastUpdatedTimeUtc
|
string
(date-time)
|
上次更新升級作業狀態的UTC時間。
|
|
message
|
string
|
訊息給使用者,其中包含升級作業的相關信息。
|
|
operationId
|
string
|
保存庫升級作業的標識碼。
|
|
previousResourceId
|
string
|
升級前保存庫的資源標識碼。
|
|
startTimeUtc
|
string
(date-time)
|
升級作業已啟動的UTC時間。
|
|
status
|
VaultUpgradeState
|
保存庫升級作業的狀態。
|
|
triggerType
|
TriggerType
|
觸發保存庫升級的方式。
|
|
upgradedResourceId
|
string
|
已升級保存庫的資源標識碼。
|
UserIdentity
Object
由服務使用者管理的資源識別。
| 名稱 |
類型 |
Description |
|
clientId
|
string
|
使用者指派身分識別的用戶端標識碼。
|
|
principalId
|
string
|
使用者指派身分識別的主體標識碼。
|
Vault
Object
資源資訊,如資源提供者所傳回。
| 名稱 |
類型 |
Description |
|
etag
|
string
|
etag 的資源。
|
|
id
|
string
|
資源的完整資源標識碼。 範例 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
|
identity
|
IdentityData
|
資源的身分識別。
|
|
location
|
string
|
資源所在的地理位置
|
|
name
|
string
|
資源的名稱
|
|
properties
|
VaultProperties
|
保存庫的屬性。
|
|
sku
|
Sku
|
識別每個 Azure 資源的唯一系統識別碼。
|
|
systemData
|
systemData
|
包含 createdBy 和 modifiedBy 資訊的 Azure Resource Manager 元數據。
|
|
tags
|
object
|
資源標籤。
|
|
type
|
string
|
資源的類型。 例如:「Microsoft.Compute/virtualMachines」或「Microsoft.Storage/storageAccounts」
|
VaultPrivateEndpointState
列舉型別
用於備份的私人端點狀態。
| 值 |
Description |
|
None
|
|
|
Enabled
|
|
VaultProperties
Object
保存庫的屬性。
VaultPropertiesEncryption
Object
客戶管理的資源金鑰詳細數據。
VaultPropertiesMoveDetails
Object
最新在 Azure Resource 上執行的移動操作細節
| 名稱 |
類型 |
Description |
|
completionTimeUtc
|
string
(date-time)
|
資源移動作業的結束時間
|
|
operationId
|
string
|
資源移動作業的 OperationId
|
|
sourceResourceId
|
string
|
資源移動作業的來源資源
|
|
startTimeUtc
|
string
(date-time)
|
資源移動作業的開始時間
|
|
targetResourceId
|
string
|
資源移動作業的目標資源
|
VaultPropertiesRedundancySettings
Object
保存庫的備援設定
VaultSubResourceType
列舉型別
保存庫 AzureBackup、AzureBackup_secondary 或 AzureSiteRecovery 的子資源類型
| 值 |
Description |
|
AzureBackup
|
|
|
AzureBackup_secondary
|
|
|
AzureSiteRecovery
|
|
VaultUpgradeState
列舉型別
保存庫升級作業的狀態。
| 值 |
Description |
|
Unknown
|
|
|
InProgress
|
|
|
Upgraded
|
|
|
Failed
|
|