diff --git a/sdk/storage/arm-storage/src/models/blobContainersMappers.ts b/sdk/storage/arm-storage/src/models/blobContainersMappers.ts index d1f86abea61a..390726e105d0 100644 --- a/sdk/storage/arm-storage/src/models/blobContainersMappers.ts +++ b/sdk/storage/arm-storage/src/models/blobContainersMappers.ts @@ -51,6 +51,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LeaseContainerRequest, @@ -85,6 +86,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/blobInventoryPoliciesMappers.ts b/sdk/storage/arm-storage/src/models/blobInventoryPoliciesMappers.ts index 6664a25fa878..689952405db0 100644 --- a/sdk/storage/arm-storage/src/models/blobInventoryPoliciesMappers.ts +++ b/sdk/storage/arm-storage/src/models/blobInventoryPoliciesMappers.ts @@ -47,6 +47,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -78,6 +79,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/blobServicesMappers.ts b/sdk/storage/arm-storage/src/models/blobServicesMappers.ts index 3f2123c14c2d..937b1b0ada74 100644 --- a/sdk/storage/arm-storage/src/models/blobServicesMappers.ts +++ b/sdk/storage/arm-storage/src/models/blobServicesMappers.ts @@ -47,6 +47,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -77,6 +78,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/deletedAccountsMappers.ts b/sdk/storage/arm-storage/src/models/deletedAccountsMappers.ts index fc0e84e964a4..af3b012b51d5 100644 --- a/sdk/storage/arm-storage/src/models/deletedAccountsMappers.ts +++ b/sdk/storage/arm-storage/src/models/deletedAccountsMappers.ts @@ -48,6 +48,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -78,6 +79,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/encryptionScopesMappers.ts b/sdk/storage/arm-storage/src/models/encryptionScopesMappers.ts index 55c91db88eb3..e2afb20a5586 100644 --- a/sdk/storage/arm-storage/src/models/encryptionScopesMappers.ts +++ b/sdk/storage/arm-storage/src/models/encryptionScopesMappers.ts @@ -49,6 +49,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -79,6 +80,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/fileServicesMappers.ts b/sdk/storage/arm-storage/src/models/fileServicesMappers.ts index aacc90c637a1..1606d280c06d 100644 --- a/sdk/storage/arm-storage/src/models/fileServicesMappers.ts +++ b/sdk/storage/arm-storage/src/models/fileServicesMappers.ts @@ -47,6 +47,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -77,6 +78,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/fileSharesMappers.ts b/sdk/storage/arm-storage/src/models/fileSharesMappers.ts index 1644c26e254c..ee4c7480f456 100644 --- a/sdk/storage/arm-storage/src/models/fileSharesMappers.ts +++ b/sdk/storage/arm-storage/src/models/fileSharesMappers.ts @@ -48,6 +48,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -78,6 +79,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/index.ts b/sdk/storage/arm-storage/src/models/index.ts index b9bdc54c1db8..7e5696b09b33 100644 --- a/sdk/storage/arm-storage/src/models/index.ts +++ b/sdk/storage/arm-storage/src/models/index.ts @@ -255,6 +255,26 @@ export interface CustomDomain { useSubDomainName?: boolean; } +/** + * SasPolicy assigned to the storage account. + */ +export interface SasPolicy { + /** + * The SAS expiration period, DD.HH:MM:SS. + */ + sasExpirationPeriod: string; +} + +/** + * KeyPolicy assigned to the storage account. + */ +export interface KeyPolicy { + /** + * The key expiration period in days. + */ + keyExpirationPeriodInDays: number; +} + /** * A service that allows server-side encryption to be used. */ @@ -618,6 +638,14 @@ export interface StorageAccountCreateParameters { * The identity of the resource. */ identity?: Identity; + /** + * SasPolicy assigned to the storage account. + */ + sasPolicy?: SasPolicy; + /** + * KeyPolicy assigned to the storage account. + */ + keyPolicy?: KeyPolicy; /** * User domain assigned to the storage account. Name is the CNAME source. Only one custom domain * is supported per storage account at this time. To clear the existing custom domain, use an @@ -1083,6 +1111,21 @@ export interface StorageAccount extends TrackedResource { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly customDomain?: CustomDomain; + /** + * SasPolicy assigned to the storage account. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sasPolicy?: SasPolicy; + /** + * KeyPolicy assigned to the storage account. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly keyPolicy?: KeyPolicy; + /** + * Gets the list of storage account keys creation time. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly keyCreationTime?: { [propertyName: string]: Date } | { [propertyName: string]: string }; /** * Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object * from the secondary location of the storage account. Only available if the SKU name is @@ -1190,6 +1233,11 @@ export interface StorageAccountKey { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly permissions?: KeyPermission; + /** + * Creation time of the key, in round trip date format. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly creationTime?: Date; } /** @@ -1244,6 +1292,14 @@ export interface StorageAccountUpdateParameters { * Provides the encryption settings on the account. The default setting is unencrypted. */ encryption?: Encryption; + /** + * SasPolicy assigned to the storage account. + */ + sasPolicy?: SasPolicy; + /** + * KeyPolicy assigned to the storage account. + */ + keyPolicy?: KeyPolicy; /** * Required for storage accounts where kind = BlobStorage. The access tier used for billing. * Possible values include: 'Hot', 'Cool' diff --git a/sdk/storage/arm-storage/src/models/managementPoliciesMappers.ts b/sdk/storage/arm-storage/src/models/managementPoliciesMappers.ts index 5e8f10709e88..6c3d5cb38e1e 100644 --- a/sdk/storage/arm-storage/src/models/managementPoliciesMappers.ts +++ b/sdk/storage/arm-storage/src/models/managementPoliciesMappers.ts @@ -46,6 +46,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -76,6 +77,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/mappers.ts b/sdk/storage/arm-storage/src/models/mappers.ts index 211798a62138..626c58ad42d3 100644 --- a/sdk/storage/arm-storage/src/models/mappers.ts +++ b/sdk/storage/arm-storage/src/models/mappers.ts @@ -417,6 +417,49 @@ export const CustomDomain: msRest.CompositeMapper = { } }; +export const SasPolicy: msRest.CompositeMapper = { + serializedName: "SasPolicy", + type: { + name: "Composite", + className: "SasPolicy", + modelProperties: { + sasExpirationPeriod: { + required: true, + serializedName: "sasExpirationPeriod", + type: { + name: "String" + } + }, + expirationAction: { + required: true, + isConstant: true, + serializedName: "expirationAction", + defaultValue: 'Log', + type: { + name: "String" + } + } + } + } +}; + +export const KeyPolicy: msRest.CompositeMapper = { + serializedName: "KeyPolicy", + type: { + name: "Composite", + className: "KeyPolicy", + modelProperties: { + keyExpirationPeriodInDays: { + required: true, + serializedName: "keyExpirationPeriodInDays", + type: { + name: "Number" + } + } + } + } +}; + export const EncryptionService: msRest.CompositeMapper = { serializedName: "EncryptionService", type: { @@ -1007,6 +1050,20 @@ export const StorageAccountCreateParameters: msRest.CompositeMapper = { className: "Identity" } }, + sasPolicy: { + serializedName: "properties.sasPolicy", + type: { + name: "Composite", + className: "SasPolicy" + } + }, + keyPolicy: { + serializedName: "properties.keyPolicy", + type: { + name: "Composite", + className: "KeyPolicy" + } + }, customDomain: { serializedName: "properties.customDomain", type: { @@ -1686,6 +1743,34 @@ export const StorageAccount: msRest.CompositeMapper = { className: "CustomDomain" } }, + sasPolicy: { + readOnly: true, + serializedName: "properties.sasPolicy", + type: { + name: "Composite", + className: "SasPolicy" + } + }, + keyPolicy: { + readOnly: true, + serializedName: "properties.keyPolicy", + type: { + name: "Composite", + className: "KeyPolicy" + } + }, + keyCreationTime: { + readOnly: true, + serializedName: "properties.keyCreationTime", + type: { + name: "Dictionary", + value: { + type: { + name: "DateTime" + } + } + } + }, secondaryEndpoints: { readOnly: true, serializedName: "properties.secondaryEndpoints", @@ -1847,6 +1932,13 @@ export const StorageAccountKey: msRest.CompositeMapper = { "Full" ] } + }, + creationTime: { + readOnly: true, + serializedName: "creationTime", + type: { + name: "DateTime" + } } } } @@ -1937,6 +2029,20 @@ export const StorageAccountUpdateParameters: msRest.CompositeMapper = { className: "Encryption" } }, + sasPolicy: { + serializedName: "properties.sasPolicy", + type: { + name: "Composite", + className: "SasPolicy" + } + }, + keyPolicy: { + serializedName: "properties.keyPolicy", + type: { + name: "Composite", + className: "KeyPolicy" + } + }, accessTier: { serializedName: "properties.accessTier", type: { diff --git a/sdk/storage/arm-storage/src/models/objectReplicationPoliciesOperationsMappers.ts b/sdk/storage/arm-storage/src/models/objectReplicationPoliciesOperationsMappers.ts index a0f19e4ceb4a..b27e2c4c42ad 100644 --- a/sdk/storage/arm-storage/src/models/objectReplicationPoliciesOperationsMappers.ts +++ b/sdk/storage/arm-storage/src/models/objectReplicationPoliciesOperationsMappers.ts @@ -47,6 +47,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -78,6 +79,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/parameters.ts b/sdk/storage/arm-storage/src/models/parameters.ts index 06a29cb5a893..51266b79e45e 100644 --- a/sdk/storage/arm-storage/src/models/parameters.ts +++ b/sdk/storage/arm-storage/src/models/parameters.ts @@ -151,30 +151,11 @@ export const expand2: msRest.OperationQueryParameter = { mapper: { serializedName: "$expand", type: { - name: "Enum", - allowedValues: [ - "deleted", - "snapshots" - ] + name: "String" } } }; export const expand3: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "expand" - ], - mapper: { - serializedName: "$expand", - type: { - name: "Enum", - allowedValues: [ - "snapshots" - ] - } - } -}; -export const expand4: msRest.OperationQueryParameter = { parameterPath: [ "options", "expand" diff --git a/sdk/storage/arm-storage/src/models/privateEndpointConnectionsMappers.ts b/sdk/storage/arm-storage/src/models/privateEndpointConnectionsMappers.ts index b8411bdd6b8e..67e466fdb389 100644 --- a/sdk/storage/arm-storage/src/models/privateEndpointConnectionsMappers.ts +++ b/sdk/storage/arm-storage/src/models/privateEndpointConnectionsMappers.ts @@ -48,6 +48,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -79,6 +80,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/privateLinkResourcesMappers.ts b/sdk/storage/arm-storage/src/models/privateLinkResourcesMappers.ts index 3f84ea52d8b8..96cb999463a3 100644 --- a/sdk/storage/arm-storage/src/models/privateLinkResourcesMappers.ts +++ b/sdk/storage/arm-storage/src/models/privateLinkResourcesMappers.ts @@ -46,6 +46,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -77,6 +78,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/queueMappers.ts b/sdk/storage/arm-storage/src/models/queueMappers.ts index eef9bd41f116..6f820ee895aa 100644 --- a/sdk/storage/arm-storage/src/models/queueMappers.ts +++ b/sdk/storage/arm-storage/src/models/queueMappers.ts @@ -46,6 +46,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -77,6 +78,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/queueServicesMappers.ts b/sdk/storage/arm-storage/src/models/queueServicesMappers.ts index afdefe3bdb42..238ed11bf99b 100644 --- a/sdk/storage/arm-storage/src/models/queueServicesMappers.ts +++ b/sdk/storage/arm-storage/src/models/queueServicesMappers.ts @@ -46,6 +46,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -77,6 +78,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/storageAccountsMappers.ts b/sdk/storage/arm-storage/src/models/storageAccountsMappers.ts index 3a860478cd3a..20a92625793a 100644 --- a/sdk/storage/arm-storage/src/models/storageAccountsMappers.ts +++ b/sdk/storage/arm-storage/src/models/storageAccountsMappers.ts @@ -48,6 +48,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -80,6 +81,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, ServiceSasParameters, Sku, SmbSetting, diff --git a/sdk/storage/arm-storage/src/models/tableOperationsMappers.ts b/sdk/storage/arm-storage/src/models/tableOperationsMappers.ts index 4d420da49972..529c0846773a 100644 --- a/sdk/storage/arm-storage/src/models/tableOperationsMappers.ts +++ b/sdk/storage/arm-storage/src/models/tableOperationsMappers.ts @@ -46,6 +46,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -77,6 +78,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/models/tableServicesMappers.ts b/sdk/storage/arm-storage/src/models/tableServicesMappers.ts index d795e3086195..c21b3a4c3618 100644 --- a/sdk/storage/arm-storage/src/models/tableServicesMappers.ts +++ b/sdk/storage/arm-storage/src/models/tableServicesMappers.ts @@ -46,6 +46,7 @@ export { ImmutabilityPolicy, ImmutabilityPolicyProperties, IPRule, + KeyPolicy, KeyVaultProperties, LastAccessTimeTrackingPolicy, LegalHoldProperties, @@ -77,6 +78,7 @@ export { ResourceAccessRule, RestorePolicyProperties, RoutingPreference, + SasPolicy, Sku, SmbSetting, StorageAccount, diff --git a/sdk/storage/arm-storage/src/operations/fileShares.ts b/sdk/storage/arm-storage/src/operations/fileShares.ts index 796ed41d265e..fa6588607ea3 100644 --- a/sdk/storage/arm-storage/src/operations/fileShares.ts +++ b/sdk/storage/arm-storage/src/operations/fileShares.ts @@ -427,7 +427,7 @@ const createOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.expand3, + Parameters.expand2, Parameters.apiVersion ], headerParameters: [ @@ -498,7 +498,7 @@ const getOperationSpec: msRest.OperationSpec = { ], queryParameters: [ Parameters.apiVersion, - Parameters.expand4 + Parameters.expand3 ], headerParameters: [ Parameters.xMsSnapshot, diff --git a/sdk/storage/arm-storage/src/storageManagementClientContext.ts b/sdk/storage/arm-storage/src/storageManagementClientContext.ts index 0ec24efebf17..9a2c03553240 100644 --- a/sdk/storage/arm-storage/src/storageManagementClientContext.ts +++ b/sdk/storage/arm-storage/src/storageManagementClientContext.ts @@ -36,14 +36,14 @@ export class StorageManagementClientContext extends msRestAzure.AzureServiceClie if (!options) { options = {}; } - if (!options.userAgent) { + if(!options.userAgent) { const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; } super(credentials, options); - this.apiVersion = '2021-01-01'; + this.apiVersion = '2021-02-01'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; @@ -51,10 +51,10 @@ export class StorageManagementClientContext extends msRestAzure.AzureServiceClie this.credentials = credentials; this.subscriptionId = subscriptionId; - if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { this.acceptLanguage = options.acceptLanguage; } - if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; } }