Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5kYXRhcHJvdGVjdGlvbi9iYWNrdXB2YXVsdHMve30=/2025-01-01.xml (2,240 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<commandGroup name="dataprotection backup-vault">
<command name="show" version="2025-01-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<argGroup name="">
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Path.vaultName" options="vault-name v" required="True" group="" idPart="name">
<help short="The name of the backup vault."/>
</arg>
</argGroup>
<operation operationId="BackupVaults_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop type="string" name="eTag"/>
<prop readOnly="True" type="ResourceId" name="id"/>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type"/>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True">
<prop readOnly="True" type="string" name="bcdrSecurityLevel">
<enum>
<item value=""Excellent""/>
<item value=""Fair""/>
<item value=""Good""/>
<item value=""NotSupported""/>
<item value=""Poor""/>
</enum>
</prop>
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="boolean" name="isVaultProtectedByResourceGuard"/>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Failed""/>
<item value=""Provisioning""/>
<item value=""Succeeded""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<string>" name="replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="resourceMoveDetails">
<prop type="string" name="completionTimeUtc"/>
<prop type="string" name="operationId"/>
<prop type="string" name="sourceResourcePath"/>
<prop type="string" name="startTimeUtc"/>
<prop type="string" name="targetResourcePath"/>
</prop>
<prop readOnly="True" type="string" name="resourceMoveState">
<enum>
<item value=""CommitFailed""/>
<item value=""CommitTimedout""/>
<item value=""CriticalFailure""/>
<item value=""Failed""/>
<item value=""InProgress""/>
<item value=""MoveSucceeded""/>
<item value=""PartialSuccess""/>
<item value=""PrepareFailed""/>
<item value=""PrepareTimedout""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="secureScore">
<enum>
<item value=""Adequate""/>
<item value=""Maximum""/>
<item value=""Minimum""/>
<item value=""None""/>
<item value=""NotSupported""/>
</enum>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId"/>
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays"/>
<prop type="string" name="state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2025-01-01" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<argGroup name="">
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Path.vaultName" options="vault-name v" required="True" group="" idPart="name">
<help short="The name of the backup vault."/>
</arg>
</argGroup>
<operation operationId="BackupVaults_Delete">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="delete">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200"/>
<response statusCode="202"/>
<response statusCode="204"/>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2025-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Header.x-ms-authorization-auxiliary" options="x-ms-authorization-auxiliary" hide="True" group="">
<help short="."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Path.vaultName" options="vault-name v" required="True" group="" idPart="name">
<help short="The name of the backup vault."/>
</arg>
</argGroup>
<argGroup name="CrossRegionRestoreSettings">
<arg type="string" var="$parameters.properties.featureSettings.crossRegionRestoreSettings.state" options="cross-region-restore-state crr-state" group="CrossRegionRestoreSettings">
<help short="Set the CrossRegionRestore state. Once enabled, it cannot be set to disabled."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</argGroup>
<argGroup name="EncryptionSettings">
<arg type="string" var="$parameters.properties.securitySettings.encryptionSettings.infrastructureEncryption" options="cmk-infrastructure-encryption cmk-infra-encryption" group="EncryptionSettings">
<help short="Enable/Disable infrastructure encryption with CMK on this vault. Infrastructure encryption must be configured only when creating the vault."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityId" options="cmk-user-assigned-identity-id cmk-uami" group="EncryptionSettings">
<help short="This parameter is required if the identity type is UserAssigned. Add the user assigned managed identity id to be used which has access permissions to the Key Vault."/>
</arg>
<arg type="string" var="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityType" options="cmk-identity-type" group="EncryptionSettings">
<help short="The identity type to be used for CMK encryption - SystemAssigned or UserAssigned Identity."/>
<enum>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.securitySettings.encryptionSettings.keyVaultProperties.keyUri" options="cmk-encryption-key-uri" group="EncryptionSettings">
<help short="The Key URI of the CMK key to be used for encryption. To enable auto-rotation of keys, exclude the version component from the Key URI."/>
</arg>
<arg type="string" var="$parameters.properties.securitySettings.encryptionSettings.state" options="cmk-encryption-state" group="EncryptionSettings">
<help short="Enable CMK encryption state for a Backup Vault."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="Inconsistent" value=""Inconsistent""/>
</enum>
</arg>
</argGroup>
<argGroup name="FeatureSettings">
<arg type="string" var="$parameters.properties.featureSettings.crossSubscriptionRestoreSettings.state" options="cross-subscription-restore-state csr-state" group="FeatureSettings">
<help short="CrossSubscriptionRestore state"/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="PermanentlyDisabled" value=""PermanentlyDisabled""/>
</enum>
</arg>
</argGroup>
<argGroup name="Identity">
<arg type="string" var="$parameters.identity.systemAssigned" options="mi-system-assigned system-assigned" hide="True" group="Identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="string" var="$parameters.identity.type" options="type" group="Identity">
<help short="The identityType which can be "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" or "None""/>
</arg>
<arg type="array<string>" var="$parameters.identity.userAssigned" options="mi-user-assigned user-assigned" hide="True" group="Identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
<arg type="object" var="$parameters.identity.userAssignedIdentities" options="user-assigned-identities uami" group="Identity">
<help short="Gets or sets the user assigned identities."/>
<additionalProp>
<item type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Monitoring Settings Azure Monitor Alert Settings">
<arg type="string" var="$parameters.properties.monitoringSettings.azureMonitorAlertSettings.alertsForAllJobFailures" options="azure-monitor-alerts-for-job-failures job-failure-alerts" group="Monitoring Settings Azure Monitor Alert Settings">
<help short="Property that specifies whether built-in Azure Monitor alerts should be fired for all failed jobs."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg type="string" var="$parameters.eTag" options="e-tag" group="Parameters">
<help short="Optional ETag."/>
</arg>
<arg type="ResourceLocation" var="$parameters.location" options="location l" required="True" group="Parameters">
<help short="Location. Values from: `az account list-locations`. You can configure the default location using `az configure --defaults location=<location>`."/>
</arg>
<arg type="object" var="$parameters.tags" options="tags" group="Parameters">
<help short="Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="array<string>" var="$parameters.properties.replicatedRegions" options="replicated-regions" hide="True" group="Properties">
<help short="List of replicated regions for Backup Vault"/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$parameters.properties.resourceGuardOperationRequests" options="resource-guard-operation-requests" hide="True" group="Properties">
<help short="ResourceGuardOperationRequests on which LAC check will be performed"/>
<item type="string"/>
</arg>
<arg type="array<object>" var="$parameters.properties.storageSettings" options="storage-setting" required="True" group="Properties" singularOptions="storage-settings">
<help short="Storage Settings. Usage: --storage-setting "[{type:'LocallyRedundant',datastore-type:'VaultStore'}]"" lines=""--storage-settings" --storage-settings: --storage-setting. --storage-settings datastore-type=XX. --storage-setting compatibility. specified argument. parameter backwards Multiple actions updated command type=XX exists using Usage more than can one The for The for be by is"/>
<item type="object">
<arg type="string" var="$parameters.properties.storageSettings[].datastoreType" options="datastore-type">
<help short="Gets or sets the type of the datastore."/>
<enum>
<item name="ArchiveStore" value=""ArchiveStore""/>
<item name="OperationalStore" value=""OperationalStore""/>
<item name="VaultStore" value=""VaultStore""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.storageSettings[].type" options="type">
<help short="Gets or sets the type."/>
<enum>
<item name="GeoRedundant" value=""GeoRedundant""/>
<item name="LocallyRedundant" value=""LocallyRedundant""/>
<item name="ZoneRedundant" value=""ZoneRedundant""/>
</enum>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="SecuritySettings">
<arg type="string" var="$parameters.properties.securitySettings.immutabilitySettings.state" options="immutability-state" group="SecuritySettings">
<help short="Immutability state" lines="Use this parameter to configure immutability settings for the vault. Allowed values are Disabled, Unlocked and Locked. By default, immutability is "Disabled" for the vault. "Unlocked" means that immutability is enabled for the vault and can be reversed. "Locked" means that immutability is enabled for the vault and cannot be reversed."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Locked" value=""Locked""/>
<item name="Unlocked" value=""Unlocked""/>
</enum>
</arg>
</argGroup>
<argGroup name="SoftDeleteSettings">
<arg type="float64" var="$parameters.properties.securitySettings.softDeleteSettings.retentionDurationInDays" options="retention-duration-in-days soft-delete-retention" group="SoftDeleteSettings">
<help short="Soft delete retention duration"/>
<default value="14.0"/>
</arg>
<arg type="string" var="$parameters.properties.securitySettings.softDeleteSettings.state" options="soft-delete-state" group="SoftDeleteSettings">
<help short="State of soft delete"/>
<default value=""On""/>
<enum>
<item name="AlwaysOn" value=""AlwaysOn""/>
<item name="Off" value=""Off""/>
<item name="On" value=""On""/>
</enum>
</arg>
</argGroup>
<operation operationId="BackupVaults_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
<header>
<param type="string" name="x-ms-authorization-auxiliary" arg="$Header.x-ms-authorization-auxiliary"/>
</header>
<body>
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="string" name="eTag" arg="$parameters.eTag"/>
<prop type="IdentityObject" name="identity">
<prop type="string" name="type" arg="$parameters.identity.type"/>
<prop type="object" name="userAssignedIdentities" arg="$parameters.identity.userAssignedIdentities">
<additionalProp>
<item type="object"/>
</additionalProp>
</prop>
<userAssigned action="create" type="array<string>" name="userAssigned" arg="$parameters.identity.userAssigned">
<item action="create" type="string"/>
</userAssigned>
<systemAssigned action="create" type="string" name="systemAssigned" arg="$parameters.identity.systemAssigned"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location" required="True"/>
<prop type="object" name="properties" required="True">
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state" arg="$parameters.properties.featureSettings.crossRegionRestoreSettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state" arg="$parameters.properties.featureSettings.crossSubscriptionRestoreSettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures" arg="$parameters.properties.monitoringSettings.azureMonitorAlertSettings.alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<string>" name="replicatedRegions" arg="$parameters.properties.replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests" arg="$parameters.properties.resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption" arg="$parameters.properties.securitySettings.encryptionSettings.infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId" arg="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityId"/>
<prop type="string" name="identityType" arg="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri" arg="$parameters.properties.securitySettings.encryptionSettings.keyVaultProperties.keyUri"/>
</prop>
<prop type="string" name="state" arg="$parameters.properties.securitySettings.encryptionSettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state" arg="$parameters.properties.securitySettings.immutabilitySettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays" arg="$parameters.properties.securitySettings.softDeleteSettings.retentionDurationInDays"/>
<prop type="string" name="state" arg="$parameters.properties.securitySettings.softDeleteSettings.state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" arg="$parameters.properties.storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType" arg="$parameters.properties.storageSettings[].datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type" arg="$parameters.properties.storageSettings[].type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop type="string" name="eTag"/>
<prop readOnly="True" type="ResourceId" name="id"/>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type"/>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True">
<prop readOnly="True" type="string" name="bcdrSecurityLevel">
<enum>
<item value=""Excellent""/>
<item value=""Fair""/>
<item value=""Good""/>
<item value=""NotSupported""/>
<item value=""Poor""/>
</enum>
</prop>
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="boolean" name="isVaultProtectedByResourceGuard"/>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Failed""/>
<item value=""Provisioning""/>
<item value=""Succeeded""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<string>" name="replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="resourceMoveDetails">
<prop type="string" name="completionTimeUtc"/>
<prop type="string" name="operationId"/>
<prop type="string" name="sourceResourcePath"/>
<prop type="string" name="startTimeUtc"/>
<prop type="string" name="targetResourcePath"/>
</prop>
<prop readOnly="True" type="string" name="resourceMoveState">
<enum>
<item value=""CommitFailed""/>
<item value=""CommitTimedout""/>
<item value=""CriticalFailure""/>
<item value=""Failed""/>
<item value=""InProgress""/>
<item value=""MoveSucceeded""/>
<item value=""PartialSuccess""/>
<item value=""PrepareFailed""/>
<item value=""PrepareTimedout""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="secureScore">
<enum>
<item value=""Adequate""/>
<item value=""Maximum""/>
<item value=""Minimum""/>
<item value=""None""/>
<item value=""NotSupported""/>
</enum>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId"/>
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays"/>
<prop type="string" name="state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2025-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Header.x-ms-authorization-auxiliary" options="x-ms-authorization-auxiliary" hide="True" group="">
<help short="."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Path.vaultName" options="vault-name v" required="True" group="" idPart="name">
<help short="The name of the backup vault."/>
</arg>
</argGroup>
<argGroup name="CrossRegionRestoreSettings">
<arg nullable="True" type="string" var="$parameters.properties.featureSettings.crossRegionRestoreSettings.state" options="cross-region-restore-state crr-state" group="CrossRegionRestoreSettings">
<help short="Set the CrossRegionRestore state. Once enabled, it cannot be set to disabled."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</argGroup>
<argGroup name="EncryptionSettings">
<arg nullable="True" type="string" var="$parameters.properties.securitySettings.encryptionSettings.infrastructureEncryption" options="cmk-infrastructure-encryption cmk-infra-encryption" hide="True" group="EncryptionSettings">
<help short="Enable/Disable infrastructure encryption with CMK on this vault. Infrastructure encryption must be configured only when creating the vault."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityId" options="cmk-user-assigned-identity-id cmk-uami" group="EncryptionSettings">
<help short="This parameter is required if the identity type is UserAssigned. Add the user assigned managed identity id to be used which has access permissions to the Key Vault."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityType" options="cmk-identity-type" group="EncryptionSettings">
<help short="The identity type to be used for CMK encryption - SystemAssigned or UserAssigned Identity."/>
<enum>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.securitySettings.encryptionSettings.keyVaultProperties.keyUri" options="cmk-encryption-key-uri" group="EncryptionSettings">
<help short="The key uri of the Customer Managed Key"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.securitySettings.encryptionSettings.state" options="cmk-encryption-state" group="EncryptionSettings">
<help short="Enable CMK encryption state for a Backup Vault."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="Inconsistent" value=""Inconsistent""/>
</enum>
</arg>
</argGroup>
<argGroup name="FeatureSettings">
<arg nullable="True" type="string" var="$parameters.properties.featureSettings.crossSubscriptionRestoreSettings.state" options="cross-subscription-restore-state csr-state" group="FeatureSettings">
<help short="CrossSubscriptionRestore state"/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="PermanentlyDisabled" value=""PermanentlyDisabled""/>
</enum>
</arg>
</argGroup>
<argGroup name="Identity">
<arg nullable="True" type="string" var="$parameters.identity.type" options="type" group="Identity">
<help short="The identityType which can be "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" or "None""/>
</arg>
<arg nullable="True" type="object" var="$parameters.identity.userAssignedIdentities" options="user-assigned-identities uami" group="Identity">
<help short="Gets or sets the user assigned identities."/>
<additionalProp>
<item nullable="True" type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Monitoring Settings Azure Monitor Alert Settings">
<arg nullable="True" type="string" var="$parameters.properties.monitoringSettings.azureMonitorAlertSettings.alertsForAllJobFailures" options="azure-monitor-alerts-for-job-failures job-failure-alerts" group="Monitoring Settings Azure Monitor Alert Settings">
<help short="Property that specifies whether built-in Azure Monitor alerts should be fired for all failed jobs."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg nullable="True" type="string" var="$parameters.eTag" options="e-tag" hide="True" group="Parameters">
<help short="Optional ETag."/>
</arg>
<arg type="ResourceLocation" var="$parameters.location" options="location l" hide="True" group="Parameters">
<help short="Resource location."/>
</arg>
<arg nullable="True" type="object" var="$parameters.tags" options="tags" group="Parameters">
<help short="Resource tags."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="array<string>" var="$parameters.properties.replicatedRegions" options="replicated-regions" hide="True" group="Properties">
<help short="List of replicated regions for Backup Vault"/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.resourceGuardOperationRequests" options="resource-guard-operation-requests" group="Properties" singularOptions="operation-requests">
<help short="Critical operation request which is protected by the resourceGuard"/>
<item nullable="True" type="string"/>
</arg>
<arg type="array<object>" var="$parameters.properties.storageSettings" options="storage-settings" hide="True" group="Properties" singularOptions="storage-settings">
<help short="Storage Settings"/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.storageSettings[].datastoreType" options="datastore-type">
<help short="Gets or sets the type of the datastore."/>
<enum>
<item name="ArchiveStore" value=""ArchiveStore""/>
<item name="OperationalStore" value=""OperationalStore""/>
<item name="VaultStore" value=""VaultStore""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.storageSettings[].type" options="type">
<help short="Gets or sets the type."/>
<enum>
<item name="GeoRedundant" value=""GeoRedundant""/>
<item name="LocallyRedundant" value=""LocallyRedundant""/>
<item name="ZoneRedundant" value=""ZoneRedundant""/>
</enum>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="SecuritySettings">
<arg nullable="True" type="string" var="$parameters.properties.securitySettings.immutabilitySettings.state" options="immutability-state" group="SecuritySettings">
<help short="Immutability state" lines="Use this parameter to configure immutability settings for the vault. Allowed values are Disabled, Unlocked and Locked. By default, immutability is "Disabled" for the vault. "Unlocked" means that immutability is enabled for the vault and can be reversed. "Locked" means that immutability is enabled for the vault and cannot be reversed."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Locked" value=""Locked""/>
<item name="Unlocked" value=""Unlocked""/>
</enum>
</arg>
</argGroup>
<argGroup name="SoftDeleteSettings">
<arg nullable="True" type="float64" var="$parameters.properties.securitySettings.softDeleteSettings.retentionDurationInDays" options="retention-duration-in-days soft-delete-retention" group="SoftDeleteSettings">
<help short="Soft delete retention duration"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.securitySettings.softDeleteSettings.state" options="soft-delete-state" group="SoftDeleteSettings">
<help short="State of soft delete"/>
<enum>
<item name="AlwaysOn" value=""AlwaysOn""/>
<item name="Off" value=""Off""/>
<item name="On" value=""On""/>
</enum>
</arg>
</argGroup>
<operation operationId="BackupVaults_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="BackupVaultResource_read">
<prop type="string" name="eTag"/>
<prop readOnly="True" type="ResourceId" name="id"/>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type"/>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True">
<prop readOnly="True" type="string" name="bcdrSecurityLevel">
<enum>
<item value=""Excellent""/>
<item value=""Fair""/>
<item value=""Good""/>
<item value=""NotSupported""/>
<item value=""Poor""/>
</enum>
</prop>
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="boolean" name="isVaultProtectedByResourceGuard"/>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Failed""/>
<item value=""Provisioning""/>
<item value=""Succeeded""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<string>" name="replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="resourceMoveDetails">
<prop type="string" name="completionTimeUtc"/>
<prop type="string" name="operationId"/>
<prop type="string" name="sourceResourcePath"/>
<prop type="string" name="startTimeUtc"/>
<prop type="string" name="targetResourcePath"/>
</prop>
<prop readOnly="True" type="string" name="resourceMoveState">
<enum>
<item value=""CommitFailed""/>
<item value=""CommitTimedout""/>
<item value=""CriticalFailure""/>
<item value=""Failed""/>
<item value=""InProgress""/>
<item value=""MoveSucceeded""/>
<item value=""PartialSuccess""/>
<item value=""PrepareFailed""/>
<item value=""PrepareTimedout""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="secureScore">
<enum>
<item value=""Adequate""/>
<item value=""Maximum""/>
<item value=""Minimum""/>
<item value=""None""/>
<item value=""NotSupported""/>
</enum>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId"/>
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays"/>
<prop type="string" name="state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="string" name="eTag" arg="$parameters.eTag"/>
<prop type="IdentityObject" name="identity">
<prop type="string" name="type" arg="$parameters.identity.type"/>
<prop type="object" name="userAssignedIdentities" arg="$parameters.identity.userAssignedIdentities">
<additionalProp>
<item type="object"/>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location" required="True"/>
<prop type="object" name="properties" required="True">
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state" arg="$parameters.properties.featureSettings.crossRegionRestoreSettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state" arg="$parameters.properties.featureSettings.crossSubscriptionRestoreSettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures" arg="$parameters.properties.monitoringSettings.azureMonitorAlertSettings.alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<string>" name="replicatedRegions" arg="$parameters.properties.replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests" arg="$parameters.properties.resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption" arg="$parameters.properties.securitySettings.encryptionSettings.infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId" arg="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityId"/>
<prop type="string" name="identityType" arg="$parameters.properties.securitySettings.encryptionSettings.kekIdentity.identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri" arg="$parameters.properties.securitySettings.encryptionSettings.keyVaultProperties.keyUri"/>
</prop>
<prop type="string" name="state" arg="$parameters.properties.securitySettings.encryptionSettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state" arg="$parameters.properties.securitySettings.immutabilitySettings.state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays" arg="$parameters.properties.securitySettings.softDeleteSettings.retentionDurationInDays"/>
<prop type="string" name="state" arg="$parameters.properties.securitySettings.softDeleteSettings.state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" arg="$parameters.properties.storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType" arg="$parameters.properties.storageSettings[].datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type" arg="$parameters.properties.storageSettings[].type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="BackupVaults_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
<header>
<param type="string" name="x-ms-authorization-auxiliary" arg="$Header.x-ms-authorization-auxiliary"/>
</header>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@BackupVaultResource_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<commandGroup name="identity">
<command name="assign" version="2025-01-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" subresource="identity" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Header.x-ms-authorization-auxiliary" options="x-ms-authorization-auxiliary" hide="True" group="">
<help short="."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Path.vaultName" options="vault-name v" required="True" group="" idPart="name">
<help short="The name of the backup vault."/>
</arg>
</argGroup>
<argGroup name="Parameters.identity">
<arg type="string" var="$parameters.identity.systemAssigned" options="mi-system-assigned system-assigned" group="Parameters.identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="array<string>" var="$parameters.identity.userAssigned" options="mi-user-assigned user-assigned" group="Parameters.identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="BackupVaults_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="BackupVaultResource_read">
<prop type="string" name="eTag"/>
<prop readOnly="True" type="ResourceId" name="id"/>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type"/>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True">
<prop readOnly="True" type="string" name="bcdrSecurityLevel">
<enum>
<item value=""Excellent""/>
<item value=""Fair""/>
<item value=""Good""/>
<item value=""NotSupported""/>
<item value=""Poor""/>
</enum>
</prop>
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="boolean" name="isVaultProtectedByResourceGuard"/>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Failed""/>
<item value=""Provisioning""/>
<item value=""Succeeded""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<string>" name="replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="resourceMoveDetails">
<prop type="string" name="completionTimeUtc"/>
<prop type="string" name="operationId"/>
<prop type="string" name="sourceResourcePath"/>
<prop type="string" name="startTimeUtc"/>
<prop type="string" name="targetResourcePath"/>
</prop>
<prop readOnly="True" type="string" name="resourceMoveState">
<enum>
<item value=""CommitFailed""/>
<item value=""CommitTimedout""/>
<item value=""CriticalFailure""/>
<item value=""Failed""/>
<item value=""InProgress""/>
<item value=""MoveSucceeded""/>
<item value=""PartialSuccess""/>
<item value=""PrepareFailed""/>
<item value=""PrepareTimedout""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="secureScore">
<enum>
<item value=""Adequate""/>
<item value=""Maximum""/>
<item value=""Minimum""/>
<item value=""None""/>
<item value=""NotSupported""/>
</enum>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId"/>
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays"/>
<prop type="string" name="state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema action="assign" type="IdentityObject" name="parameters.identity" required="True">
<userAssigned action="assign" type="array<string>" name="userAssigned" arg="$parameters.identity.userAssigned">
<item action="assign" type="string"/>
</userAssigned>
<systemAssigned action="assign" type="string" name="systemAssigned" arg="$parameters.identity.systemAssigned"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="BackupVaults_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
<header>
<param type="string" name="x-ms-authorization-auxiliary" arg="$Header.x-ms-authorization-auxiliary"/>
</header>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@BackupVaultResource_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="remove" version="2025-01-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" subresource="identity" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Header.x-ms-authorization-auxiliary" options="x-ms-authorization-auxiliary" hide="True" group="">
<help short="."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Path.vaultName" options="vault-name v" required="True" group="" idPart="name">
<help short="The name of the backup vault."/>
</arg>
</argGroup>
<argGroup name="Parameters.identity">
<arg type="string" var="$parameters.identity.systemAssigned" options="mi-system-assigned system-assigned" group="Parameters.identity">
<blank value=""True""/>
<help short="Set the system managed identity."/>
</arg>
<arg type="array<string>" var="$parameters.identity.userAssigned" options="mi-user-assigned user-assigned" group="Parameters.identity">
<blank value="[]"/>
<help short="Set the user managed identities."/>
<item type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="BackupVaults_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="BackupVaultResource_read">
<prop type="string" name="eTag"/>
<prop readOnly="True" type="ResourceId" name="id"/>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type"/>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True">
<prop readOnly="True" type="string" name="bcdrSecurityLevel">
<enum>
<item value=""Excellent""/>
<item value=""Fair""/>
<item value=""Good""/>
<item value=""NotSupported""/>
<item value=""Poor""/>
</enum>
</prop>
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="boolean" name="isVaultProtectedByResourceGuard"/>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Failed""/>
<item value=""Provisioning""/>
<item value=""Succeeded""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<string>" name="replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="resourceMoveDetails">
<prop type="string" name="completionTimeUtc"/>
<prop type="string" name="operationId"/>
<prop type="string" name="sourceResourcePath"/>
<prop type="string" name="startTimeUtc"/>
<prop type="string" name="targetResourcePath"/>
</prop>
<prop readOnly="True" type="string" name="resourceMoveState">
<enum>
<item value=""CommitFailed""/>
<item value=""CommitTimedout""/>
<item value=""CriticalFailure""/>
<item value=""Failed""/>
<item value=""InProgress""/>
<item value=""MoveSucceeded""/>
<item value=""PartialSuccess""/>
<item value=""PrepareFailed""/>
<item value=""PrepareTimedout""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="secureScore">
<enum>
<item value=""Adequate""/>
<item value=""Maximum""/>
<item value=""Minimum""/>
<item value=""None""/>
<item value=""NotSupported""/>
</enum>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId"/>
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays"/>
<prop type="string" name="state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema action="remove" type="IdentityObject" name="parameters.identity" required="True">
<userAssigned action="remove" type="array<string>" name="userAssigned" arg="$parameters.identity.userAssigned">
<item action="remove" type="string"/>
</userAssigned>
<systemAssigned action="remove" type="string" name="systemAssigned" arg="$parameters.identity.systemAssigned"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="BackupVaults_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="put">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
<header>
<param type="string" name="x-ms-authorization-auxiliary" arg="$Header.x-ms-authorization-auxiliary"/>
</header>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@BackupVaultResource_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="show" version="2025-01-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.dataprotection/backupvaults/{}" version="2025-01-01" subresource="identity" swagger="mgmt-plane/dataprotection/ResourceProviders/Microsoft.DataProtection/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuRGF0YVByb3RlY3Rpb24vYmFja3VwVmF1bHRzL3t2YXVsdE5hbWV9/V/MjAyNS0wMS0wMQ=="/>
<argGroup name="">
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Path.vaultName" options="vault-name v" required="True" group="" idPart="name">
<help short="The name of the backup vault."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="object" name="identity"/>
</json>
</subresourceSelector>
<operation operationId="BackupVaults_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}">
<request method="get">
<path>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
<param type="string" name="vaultName" arg="$Path.vaultName" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-01-01""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="BackupVaultResource_read">
<prop type="string" name="eTag"/>
<prop readOnly="True" type="ResourceId" name="id"/>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="string" name="principalId"/>
<prop readOnly="True" type="string" name="tenantId"/>
<prop type="string" name="type"/>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" required="True">
<prop readOnly="True" type="string" name="bcdrSecurityLevel">
<enum>
<item value=""Excellent""/>
<item value=""Fair""/>
<item value=""Good""/>
<item value=""NotSupported""/>
<item value=""Poor""/>
</enum>
</prop>
<prop type="object" name="featureSettings">
<prop type="object" name="crossRegionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="crossSubscriptionRestoreSettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""PermanentlyDisabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="boolean" name="isVaultProtectedByResourceGuard"/>
<prop type="object" name="monitoringSettings">
<prop type="object" name="azureMonitorAlertSettings">
<prop type="string" name="alertsForAllJobFailures">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Failed""/>
<item value=""Provisioning""/>
<item value=""Succeeded""/>
<item value=""Unknown""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="array<string>" name="replicatedRegions">
<item type="string"/>
</prop>
<prop type="array<string>" name="resourceGuardOperationRequests">
<item type="string"/>
</prop>
<prop readOnly="True" type="object" name="resourceMoveDetails">
<prop type="string" name="completionTimeUtc"/>
<prop type="string" name="operationId"/>
<prop type="string" name="sourceResourcePath"/>
<prop type="string" name="startTimeUtc"/>
<prop type="string" name="targetResourcePath"/>
</prop>
<prop readOnly="True" type="string" name="resourceMoveState">
<enum>
<item value=""CommitFailed""/>
<item value=""CommitTimedout""/>
<item value=""CriticalFailure""/>
<item value=""Failed""/>
<item value=""InProgress""/>
<item value=""MoveSucceeded""/>
<item value=""PartialSuccess""/>
<item value=""PrepareFailed""/>
<item value=""PrepareTimedout""/>
<item value=""Unknown""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="secureScore">
<enum>
<item value=""Adequate""/>
<item value=""Maximum""/>
<item value=""Minimum""/>
<item value=""None""/>
<item value=""NotSupported""/>
</enum>
</prop>
<prop type="object" name="securitySettings">
<prop type="object" name="encryptionSettings">
<prop type="string" name="infrastructureEncryption">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="object" name="kekIdentity">
<prop type="string" name="identityId"/>
<prop type="string" name="identityType">
<enum>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyUri"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Inconsistent""/>
</enum>
</prop>
</prop>
<prop type="object" name="immutabilitySettings">
<prop type="string" name="state">
<enum>
<item value=""Disabled""/>
<item value=""Locked""/>
<item value=""Unlocked""/>
</enum>
</prop>
</prop>
<prop type="object" name="softDeleteSettings">
<prop type="float64" name="retentionDurationInDays"/>
<prop type="string" name="state">
<enum>
<item value=""AlwaysOn""/>
<item value=""Off""/>
<item value=""On""/>
</enum>
</prop>
</prop>
</prop>
<prop type="array<object>" name="storageSettings" required="True">
<item type="object">
<prop type="string" name="datastoreType">
<enum>
<item value=""ArchiveStore""/>
<item value=""OperationalStore""/>
<item value=""VaultStore""/>
</enum>
</prop>
<prop type="string" name="type">
<enum>
<item value=""GeoRedundant""/>
<item value=""LocallyRedundant""/>
<item value=""ZoneRedundant""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
</commandGroup>
</CodeGen>