{"files":{"SKILL.md":"---\nname: storagemanagementclient\ndescription: \"StorageManagementClient API skill. Use when working with StorageManagementClient for providers, subscriptions. Covers 19 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# StorageManagementClient\nAPI version: 2019-04-01\n\n## Auth\nOAuth2\n\n## Base URL\nhttps://management.azure.com\n\n## Setup\n1. Configure auth: OAuth2\n2. GET /providers/Microsoft.Storage/operations -- lists all of the available storage rest api operations.\n3. POST /subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability -- create first checkNameAvailability\n\n## Endpoints\n19 endpoints across 2 groups. See references/api-spec.lap for full details.\n\n### Providers\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /providers/Microsoft.Storage/operations | Lists all of the available Storage Rest API operations. |\n\n### Subscriptions\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus | Lists the available SKUs supported by Microsoft.Storage for given subscription. |\n| POST | /subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability | Checks that the storage account name is valid and is not already in use. |\n| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} | Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the account properties will be updated. If an account is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed. |\n| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} | Deletes a storage account in Microsoft Azure. |\n| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} | Returns the properties for the specified storage account including but not limited to name, SKU name, location, and account status. The ListKeys operation should be used to retrieve storage keys. |\n| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} | The update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. It can also be used to map the account to a custom domain. Only one custom domain is supported per storage account; the replacement/change of custom domain is not supported. In order to replace an old custom domain, the old value must be cleared/unregistered before a new value can be set. The update of multiple properties is supported. This call does not change the storage keys for the account. If you want to change the storage account keys, use the regenerate keys operation. The location and name of the storage account cannot be changed after creation. |\n| GET | /subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts | Lists all the storage accounts available under the subscription. Note that storage keys are not returned; use the ListKeys operation for this. |\n| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts | Lists all the storage accounts available under the given resource group. Note that storage keys are not returned; use the ListKeys operation for this. |\n| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys | Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account. |\n| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey | Regenerates one of the access keys or Kerberos keys for the specified storage account. |\n| GET | /subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages | Gets the current usage count and the limit for the resources of the location under the subscription. |\n| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas | List SAS credentials of a storage account. |\n| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas | List service SAS credentials of a specific resource. |\n| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover | Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover. |\n| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName} | Gets the managementpolicy associated with the specified storage account. |\n| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName} | Sets the managementpolicy to the specified storage account. |\n| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName} | Deletes the managementpolicy associated with the specified storage account. |\n| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys | Revoke user delegation keys. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all operations?\" -> GET /providers/Microsoft.Storage/operations\n- \"List all skus?\" -> GET /subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus\n- \"Create a checkNameAvailability?\" -> POST /subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability\n- \"Update a storageAccount?\" -> PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n- \"Delete a storageAccount?\" -> DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n- \"Get storageAccount details?\" -> GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n- \"Partially update a storageAccount?\" -> PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n- \"List all storageAccounts?\" -> GET /subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts\n- \"Create a listKey?\" -> POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys\n- \"Create a regenerateKey?\" -> POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey\n- \"List all usages?\" -> GET /subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages\n- \"Create a ListAccountSa?\" -> POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas\n- \"Create a ListServiceSa?\" -> POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas\n- \"Create a failover?\" -> POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover\n- \"Get managementPolicy details?\" -> GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}\n- \"Update a managementPolicy?\" -> PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}\n- \"Delete a managementPolicy?\" -> DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}\n- \"Create a revokeUserDelegationKey?\" -> POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api StorageManagementClient\n@base https://management.azure.com\n@version 2019-04-01\n@auth OAuth2\n@endpoints 19\n@toc providers(1), subscriptions(18)\n\n@group providers\n@endpoint GET /providers/Microsoft.Storage/operations\n@desc Lists all of the available Storage Rest API operations.\n@returns(200) OK. The request has succeeded.\n\n@endgroup\n\n@group subscriptions\n@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus\n@desc Lists the available SKUs supported by Microsoft.Storage for given subscription.\n@returns(200) OK -- List of storage SKUs in the given subscription retrieved and returned successfully.\n\n@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability\n@desc Checks that the storage account name is valid and is not already in use.\n@required {accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.}\n@returns(200) OK -- Operation to check the storage account name availability was successful.\n\n@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n@desc Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the account properties will be updated. If an account is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., parameters: any # The parameters to provide for the created account.}\n@returns(200) OK -- returned when the storage account was already created from a previous request with the same properties specified in the request body.\n@returns(202) Accepted -- Create or update request accepted; operation will complete asynchronously.\n\n@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n@desc Deletes a storage account in Microsoft Azure.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.}\n@returns(200) OK -- storage account deleted successfully.\n@returns(204) NoContent -- account does not exist in the subscription.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n@desc Returns the properties for the specified storage account including but not limited to name, SKU name, location, and account status. The ListKeys operation should be used to retrieve storage keys.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.}\n@optional {$expand: any # May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats.}\n@returns(200) OK -- properties retrieved successfully for the storage account.\n\n@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}\n@desc The update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. It can also be used to map the account to a custom domain. Only one custom domain is supported per storage account; the replacement/change of custom domain is not supported. In order to replace an old custom domain, the old value must be cleared/unregistered before a new value can be set. The update of multiple properties is supported. This call does not change the storage keys for the account. If you want to change the storage account keys, use the regenerate keys operation. The location and name of the storage account cannot be changed after creation.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., parameters: any # The parameters to provide for the updated account.}\n@returns(200) OK -- storage account properties updated successfully.\n\n@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts\n@desc Lists all the storage accounts available under the subscription. Note that storage keys are not returned; use the ListKeys operation for this.\n@returns(200) OK -- List of storage accounts was retrieved and returned successfully.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts\n@desc Lists all the storage accounts available under the given resource group. Note that storage keys are not returned; use the ListKeys operation for this.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive.}\n@returns(200) OK -- List of storage accounts in the given resource group retrieved and returned successfully.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys\n@desc Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.}\n@optional {$expand: any # Specifies type of the key to be listed. Possible value is kerb.}\n@returns(200) OK -- list of keys retrieved and returned successfully.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey\n@desc Regenerates one of the access keys or Kerberos keys for the specified storage account.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., regenerateKey: any # Specifies name of the key which should be regenerated -- key1, key2, kerb1, kerb2.}\n@returns(200) OK -- specified key regenerated successfully.\n\n@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages\n@desc Gets the current usage count and the limit for the resources of the location under the subscription.\n@required {location: any # The location of the Azure Storage resource.}\n@returns(200) OK -- current usage count and limit retrieved and returned successfully.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas\n@desc List SAS credentials of a storage account.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., parameters: any # The parameters to provide to list SAS credentials for the storage account.}\n@returns(200) OK -- returned the account SAS created for the storage account requested.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas\n@desc List service SAS credentials of a specific resource.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., parameters: any # The parameters to provide to list service SAS credentials.}\n@returns(200) OK -- returned the service SAS created for the storage service requested.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover\n@desc Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.}\n@returns(200) OK -- Returned when the storage account failover is completed, and the secondary cluster has become primary.\n@returns(202) Accepted -- Failover request accepted; operation will complete asynchronously.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}\n@desc Gets the managementpolicy associated with the specified storage account.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., managementPolicyName: any # The name of the Storage Account Management Policy. It should always be 'default'}\n@returns(200) OK -- Get the managementpolicy successfully.\n\n@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}\n@desc Sets the managementpolicy to the specified storage account.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., managementPolicyName: any # The name of the Storage Account Management Policy. It should always be 'default', properties: any # The ManagementPolicy set to a storage account.}\n@returns(200) OK -- Put managementpolicy successfully.\n\n@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}\n@desc Deletes the managementpolicy associated with the specified storage account.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only., managementPolicyName: any # The name of the Storage Account Management Policy. It should always be 'default'}\n@returns(200) OK -- Delete the managementpolicy successfully.\n@returns(204) No Content -- The managementpolicy does not exist.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys\n@desc Revoke user delegation keys.\n@required {resourceGroupName: any # The name of the resource group within the user's subscription. The name is case insensitive., accountName: any # The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.}\n@returns(200) OK -- revoke user delegation keys succeeded.\n\n@endgroup\n\n@end\n"}}