diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/BlobInventoryPoliciesOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/BlobInventoryPoliciesOperations.cs index 514892185703..2f89cd1d1c77 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/BlobInventoryPoliciesOperations.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/BlobInventoryPoliciesOperations.cs @@ -69,7 +69,7 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) /// /// The cancellation token. /// - /// + /// /// Thrown when the operation returned an invalid status code /// /// @@ -228,13 +228,14 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) string _responseContent = null; if ((int)_statusCode != 200) { - var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { + ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } @@ -244,6 +245,10 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } if (_shouldTrace) { ServiceClientTracing.Error(_invocationId, ex); @@ -312,7 +317,7 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) /// /// The cancellation token. /// - /// + /// /// Thrown when the operation returned an invalid status code /// /// @@ -492,13 +497,14 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) string _responseContent = null; if ((int)_statusCode != 200) { - var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { + ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } @@ -508,6 +514,10 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } if (_shouldTrace) { ServiceClientTracing.Error(_invocationId, ex); @@ -571,7 +581,7 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) /// /// The cancellation token. /// - /// + /// /// Thrown when the operation returned an invalid status code /// /// @@ -727,13 +737,14 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) string _responseContent = null; if ((int)_statusCode != 200 && (int)_statusCode != 204) { - var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); if (_errorBody != null) { + ex = new CloudException(_errorBody.Message); ex.Body = _errorBody; } } @@ -743,6 +754,10 @@ internal BlobInventoryPoliciesOperations(StorageManagementClient client) } ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_httpResponse.Headers.Contains("x-ms-request-id")) + { + ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } if (_shouldTrace) { ServiceClientTracing.Error(_invocationId, ex); diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/IBlobInventoryPoliciesOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/IBlobInventoryPoliciesOperations.cs index 30c8d14b77ec..b8eb9ef5a868 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/IBlobInventoryPoliciesOperations.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/IBlobInventoryPoliciesOperations.cs @@ -42,7 +42,7 @@ public partial interface IBlobInventoryPoliciesOperations /// /// The cancellation token. /// - /// + /// /// Thrown when the operation returned an invalid status code /// /// @@ -76,7 +76,7 @@ public partial interface IBlobInventoryPoliciesOperations /// /// The cancellation token. /// - /// + /// /// Thrown when the operation returned an invalid status code /// /// @@ -105,7 +105,7 @@ public partial interface IBlobInventoryPoliciesOperations /// /// The cancellation token. /// - /// + /// /// Thrown when the operation returned an invalid status code /// /// diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ILocalUsersOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ILocalUsersOperations.cs index 38a2ad3eef88..960f4192eccb 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ILocalUsersOperations.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ILocalUsersOperations.cs @@ -50,7 +50,7 @@ public partial interface ILocalUsersOperations /// /// Thrown when a required parameter is null /// - Task> ListWithHttpMessagesAsync(string resourceGroupName, string accountName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task>> ListWithHttpMessagesAsync(string resourceGroupName, string accountName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Get the local user of the storage account by username. /// diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ISKUsOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ISkusOperations.cs similarity index 100% rename from sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ISKUsOperations.cs rename to sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ISkusOperations.cs diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ITableOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ITableOperations.cs index 8c14dca02583..f3bf32eafa69 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ITableOperations.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/ITableOperations.cs @@ -42,6 +42,9 @@ public partial interface ITableOperations /// alphanumeric characters and it cannot begin with a numeric /// character. /// + /// + /// List of stored access policies specified on the table. + /// /// /// The headers that will be added to request. /// @@ -57,7 +60,7 @@ public partial interface ITableOperations /// /// Thrown when a required parameter is null /// - Task> CreateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task> CreateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Creates a new table with the specified table name, under the /// specified account. @@ -77,6 +80,9 @@ public partial interface ITableOperations /// alphanumeric characters and it cannot begin with a numeric /// character. /// + /// + /// List of stored access policies specified on the table. + /// /// /// The headers that will be added to request. /// @@ -92,7 +98,7 @@ public partial interface ITableOperations /// /// Thrown when a required parameter is null /// - Task> UpdateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + Task> UpdateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); /// /// Gets the table with the specified table name, under the specified /// account if it exists. diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperations.cs index e3579854451f..9bb1b91ed935 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperations.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperations.cs @@ -83,7 +83,7 @@ internal LocalUsersOperations(StorageManagementClient client) /// /// A response object containing the response body and response headers. /// - public async Task> ListWithHttpMessagesAsync(string resourceGroupName, string accountName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task>> ListWithHttpMessagesAsync(string resourceGroupName, string accountName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { @@ -252,7 +252,7 @@ internal LocalUsersOperations(StorageManagementClient client) throw ex; } // Create Result - var _result = new AzureOperationResponse(); + var _result = new AzureOperationResponse>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) @@ -265,7 +265,7 @@ internal LocalUsersOperations(StorageManagementClient client) _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); } catch (JsonException ex) { diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperationsExtensions.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperationsExtensions.cs index d066a0a71a01..3a662e2d6bc6 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperationsExtensions.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/LocalUsersOperationsExtensions.cs @@ -13,6 +13,8 @@ namespace Microsoft.Azure.Management.Storage using Microsoft.Rest; using Microsoft.Rest.Azure; using Models; + using System.Collections; + using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -36,7 +38,7 @@ public static partial class LocalUsersOperationsExtensions /// Storage account names must be between 3 and 24 characters in length and use /// numbers and lower-case letters only. /// - public static LocalUsers List(this ILocalUsersOperations operations, string resourceGroupName, string accountName) + public static IEnumerable List(this ILocalUsersOperations operations, string resourceGroupName, string accountName) { return operations.ListAsync(resourceGroupName, accountName).GetAwaiter().GetResult(); } @@ -59,7 +61,7 @@ public static LocalUsers List(this ILocalUsersOperations operations, string reso /// /// The cancellation token. /// - public static async Task ListAsync(this ILocalUsersOperations operations, string resourceGroupName, string accountName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task> ListAsync(this ILocalUsersOperations operations, string resourceGroupName, string accountName, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ListWithHttpMessagesAsync(resourceGroupName, accountName, null, cancellationToken).ConfigureAwait(false)) { diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccessTier.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccessTier.cs index 7f89b9f22a38..d3019675a9ed 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccessTier.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccessTier.cs @@ -24,7 +24,9 @@ public enum AccessTier [EnumMember(Value = "Hot")] Hot, [EnumMember(Value = "Cool")] - Cool + Cool, + [EnumMember(Value = "Premium")] + Premium } internal static class AccessTierEnumExtension { @@ -41,6 +43,8 @@ internal static string ToSerializedValue(this AccessTier value) return "Hot"; case AccessTier.Cool: return "Cool"; + case AccessTier.Premium: + return "Premium"; } return null; } @@ -53,6 +57,8 @@ internal static string ToSerializedValue(this AccessTier value) return AccessTier.Hot; case "Cool": return AccessTier.Cool; + case "Premium": + return AccessTier.Premium; } return null; } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccountImmutabilityPolicyProperties.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccountImmutabilityPolicyProperties.cs index e95cfdb45214..9d9c09d190bf 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccountImmutabilityPolicyProperties.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/AccountImmutabilityPolicyProperties.cs @@ -102,16 +102,13 @@ public AccountImmutabilityPolicyProperties() /// public virtual void Validate() { - if (ImmutabilityPeriodSinceCreationInDays != null) + if (ImmutabilityPeriodSinceCreationInDays > 146000) { - if (ImmutabilityPeriodSinceCreationInDays > 146000) - { - throw new ValidationException(ValidationRules.InclusiveMaximum, "ImmutabilityPeriodSinceCreationInDays", 146000); - } - if (ImmutabilityPeriodSinceCreationInDays < 1) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "ImmutabilityPeriodSinceCreationInDays", 1); - } + throw new ValidationException(ValidationRules.InclusiveMaximum, "ImmutabilityPeriodSinceCreationInDays", 146000); + } + if (ImmutabilityPeriodSinceCreationInDays < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "ImmutabilityPeriodSinceCreationInDays", 1); } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyDefinition.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyDefinition.cs index c20ac540e4c8..1ae0eb8068de 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyDefinition.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyDefinition.cs @@ -52,13 +52,26 @@ public BlobInventoryPolicyDefinition() /// Content-Length, Content-MD5, BlobType, AccessTier, /// AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, /// hdi_isfolder, Owner, Group, Permissions, Acl, Snapshot, VersionId, - /// IsCurrentVersion, Metadata, LastAccessTime'. The valid values for - /// 'Container' definition.objectType include 'Name, Last-Modified, - /// Metadata, LeaseStatus, LeaseState, LeaseDuration, PublicAccess, - /// HasImmutabilityPolicy, HasLegalHold'. Schema field values - /// 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl' are - /// valid only for Hns enabled accounts.'Tags' field is only valid for - /// non Hns accounts + /// IsCurrentVersion, Metadata, LastAccessTime, Tags, Etag, + /// ContentType, ContentEncoding, ContentLanguage, ContentCRC64, + /// CacheControl, ContentDisposition, LeaseStatus, LeaseState, + /// LeaseDuration, ServerEncrypted, Deleted, DeletionId, DeletedTime, + /// RemainingRetentionDays, ImmutabilityPolicyUntilDate, + /// ImmutabilityPolicyMode, LegalHold, CopyId, CopyStatus, CopySource, + /// CopyProgress, CopyCompletionTime, CopyStatusDescription, + /// CustomerProvidedKeySha256, RehydratePriority, ArchiveStatus, + /// XmsBlobSequenceNumber, EncryptionScope, IncrementalCopy, TagCount'. + /// For Blob object type schema field value 'DeletedTime' is applicable + /// only for Hns enabled accounts. The valid values for 'Container' + /// definition.objectType include 'Name, Last-Modified, Metadata, + /// LeaseStatus, LeaseState, LeaseDuration, PublicAccess, + /// HasImmutabilityPolicy, HasLegalHold, Etag, DefaultEncryptionScope, + /// DenyEncryptionScopeOverride, ImmutableStorageWithVersioningEnabled, + /// Deleted, Version, DeletedTime, RemainingRetentionDays'. Schema + /// field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, + /// Acl, DeletionId' are valid only for Hns enabled accounts.Schema + /// field values 'Tags, TagCount' are only valid for Non-Hns + /// accounts. /// An object that defines the filter /// set. public BlobInventoryPolicyDefinition(string format, string schedule, string objectType, IList schemaFields, BlobInventoryPolicyFilter filters = default(BlobInventoryPolicyFilter)) @@ -114,13 +127,25 @@ public BlobInventoryPolicyDefinition() /// Content-MD5, BlobType, AccessTier, AccessTierChangeTime, /// AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, /// Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, - /// LastAccessTime'. The valid values for 'Container' - /// definition.objectType include 'Name, Last-Modified, Metadata, - /// LeaseStatus, LeaseState, LeaseDuration, PublicAccess, - /// HasImmutabilityPolicy, HasLegalHold'. Schema field values - /// 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl' are - /// valid only for Hns enabled accounts.'Tags' field is only valid for - /// non Hns accounts + /// LastAccessTime, Tags, Etag, ContentType, ContentEncoding, + /// ContentLanguage, ContentCRC64, CacheControl, ContentDisposition, + /// LeaseStatus, LeaseState, LeaseDuration, ServerEncrypted, Deleted, + /// DeletionId, DeletedTime, RemainingRetentionDays, + /// ImmutabilityPolicyUntilDate, ImmutabilityPolicyMode, LegalHold, + /// CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, + /// CopyStatusDescription, CustomerProvidedKeySha256, + /// RehydratePriority, ArchiveStatus, XmsBlobSequenceNumber, + /// EncryptionScope, IncrementalCopy, TagCount'. For Blob object type + /// schema field value 'DeletedTime' is applicable only for Hns enabled + /// accounts. The valid values for 'Container' definition.objectType + /// include 'Name, Last-Modified, Metadata, LeaseStatus, LeaseState, + /// LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold, + /// Etag, DefaultEncryptionScope, DenyEncryptionScopeOverride, + /// ImmutableStorageWithVersioningEnabled, Deleted, Version, + /// DeletedTime, RemainingRetentionDays'. Schema field values + /// 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, + /// DeletionId' are valid only for Hns enabled accounts.Schema field + /// values 'Tags, TagCount' are only valid for Non-Hns accounts. /// [JsonProperty(PropertyName = "schemaFields")] public IList SchemaFields { get; set; } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyFilter.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyFilter.cs index 748e3c64d414..2fabaa42898f 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyFilter.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicyFilter.cs @@ -34,8 +34,10 @@ public BlobInventoryPolicyFilter() /// /// Initializes a new instance of the BlobInventoryPolicyFilter class. /// - /// An array of strings for blob prefixes to - /// be matched. + /// An array of strings with maximum 10 blob + /// prefixes to be included in the inventory. + /// An array of strings with maximum 10 + /// blob prefixes to be excluded from the inventory. /// An array of predefined enum values. Valid /// values include blockBlob, appendBlob, pageBlob. Hns accounts does /// not support pageBlobs. This field is required when @@ -48,12 +50,22 @@ public BlobInventoryPolicyFilter() /// inventory when value is set to true. The definition.schemaFields /// value 'Snapshot' is required if this property is set to true, else /// it must be excluded. - public BlobInventoryPolicyFilter(IList prefixMatch = default(IList), IList blobTypes = default(IList), bool? includeBlobVersions = default(bool?), bool? includeSnapshots = default(bool?)) + /// For 'Container' definition.objectType + /// the definition.schemaFields must include 'Deleted, Version, + /// DeletedTime and RemainingRetentionDays'. For 'Blob' + /// definition.objectType and HNS enabled storage accounts the + /// definition.schemaFields must include 'DeletionId, Deleted, + /// DeletedTime and RemainingRetentionDays' and for Hns disabled + /// accounts the definition.schemaFields must include 'Deleted and + /// RemainingRetentionDays', else it must be excluded. + public BlobInventoryPolicyFilter(IList prefixMatch = default(IList), IList excludePrefix = default(IList), IList blobTypes = default(IList), bool? includeBlobVersions = default(bool?), bool? includeSnapshots = default(bool?), bool? includeDeleted = default(bool?)) { PrefixMatch = prefixMatch; + ExcludePrefix = excludePrefix; BlobTypes = blobTypes; IncludeBlobVersions = includeBlobVersions; IncludeSnapshots = includeSnapshots; + IncludeDeleted = includeDeleted; CustomInit(); } @@ -63,11 +75,19 @@ public BlobInventoryPolicyFilter() partial void CustomInit(); /// - /// Gets or sets an array of strings for blob prefixes to be matched. + /// Gets or sets an array of strings with maximum 10 blob prefixes to + /// be included in the inventory. /// [JsonProperty(PropertyName = "prefixMatch")] public IList PrefixMatch { get; set; } + /// + /// Gets or sets an array of strings with maximum 10 blob prefixes to + /// be excluded from the inventory. + /// + [JsonProperty(PropertyName = "excludePrefix")] + public IList ExcludePrefix { get; set; } + /// /// Gets or sets an array of predefined enum values. Valid values /// include blockBlob, appendBlob, pageBlob. Hns accounts does not @@ -94,5 +114,18 @@ public BlobInventoryPolicyFilter() [JsonProperty(PropertyName = "includeSnapshots")] public bool? IncludeSnapshots { get; set; } + /// + /// Gets or sets for 'Container' definition.objectType the + /// definition.schemaFields must include 'Deleted, Version, DeletedTime + /// and RemainingRetentionDays'. For 'Blob' definition.objectType and + /// HNS enabled storage accounts the definition.schemaFields must + /// include 'DeletionId, Deleted, DeletedTime and + /// RemainingRetentionDays' and for Hns disabled accounts the + /// definition.schemaFields must include 'Deleted and + /// RemainingRetentionDays', else it must be excluded. + /// + [JsonProperty(PropertyName = "includeDeleted")] + public bool? IncludeDeleted { get; set; } + } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicySchema.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicySchema.cs index f683bcd19953..797f9b5a9dce 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicySchema.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/BlobInventoryPolicySchema.cs @@ -35,9 +35,13 @@ public BlobInventoryPolicySchema() /// Policy is enabled if set to true. /// The storage account blob inventory policy /// rules. The rule is applied when it is enabled. - public BlobInventoryPolicySchema(bool enabled, IList rules) + /// Deprecated Property from API version + /// 2021-04-01 onwards, the required destination container name must be + /// specified at the rule level 'policy.rule.destination' + public BlobInventoryPolicySchema(bool enabled, IList rules, string destination = default(string)) { Enabled = enabled; + Destination = destination; Rules = rules; CustomInit(); } @@ -60,6 +64,14 @@ static BlobInventoryPolicySchema() [JsonProperty(PropertyName = "enabled")] public bool Enabled { get; set; } + /// + /// Gets deprecated Property from API version 2021-04-01 onwards, the + /// required destination container name must be specified at the rule + /// level 'policy.rule.destination' + /// + [JsonProperty(PropertyName = "destination")] + public string Destination { get; private set; } + /// /// Gets or sets the storage account blob inventory policy rules. The /// rule is applied when it is enabled. diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/ChangeFeed.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/ChangeFeed.cs index 0c6b719765ee..2368b152208f 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/ChangeFeed.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/ChangeFeed.cs @@ -72,16 +72,13 @@ public ChangeFeed() /// public virtual void Validate() { - if (RetentionInDays != null) + if (RetentionInDays > 146000) { - if (RetentionInDays > 146000) - { - throw new ValidationException(ValidationRules.InclusiveMaximum, "RetentionInDays", 146000); - } - if (RetentionInDays < 1) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "RetentionInDays", 1); - } + throw new ValidationException(ValidationRules.InclusiveMaximum, "RetentionInDays", 146000); + } + if (RetentionInDays < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "RetentionInDays", 1); } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterCreation.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterCreation.cs index 09ea0105dceb..d0550629cdb0 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterCreation.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterCreation.cs @@ -15,7 +15,7 @@ namespace Microsoft.Azure.Management.Storage.Models using System.Linq; /// - /// Object to define the number of days after creation. + /// Object to define snapshot and version action conditions. /// public partial class DateAfterCreation { @@ -32,9 +32,16 @@ public DateAfterCreation() /// /// Value indicating the age /// in days after creation - public DateAfterCreation(double daysAfterCreationGreaterThan) + /// Value indicating + /// the age in days after last blob tier change time. This property is + /// only applicable for tierToArchive actions and requires + /// daysAfterCreationGreaterThan to be set for snapshots and blob + /// version based actions. The blob will be archived if both the + /// conditions are satisfied. + public DateAfterCreation(double daysAfterCreationGreaterThan, double? daysAfterLastTierChangeGreaterThan = default(double?)) { DaysAfterCreationGreaterThan = daysAfterCreationGreaterThan; + DaysAfterLastTierChangeGreaterThan = daysAfterLastTierChangeGreaterThan; CustomInit(); } @@ -49,6 +56,16 @@ public DateAfterCreation(double daysAfterCreationGreaterThan) [JsonProperty(PropertyName = "daysAfterCreationGreaterThan")] public double DaysAfterCreationGreaterThan { get; set; } + /// + /// Gets or sets value indicating the age in days after last blob tier + /// change time. This property is only applicable for tierToArchive + /// actions and requires daysAfterCreationGreaterThan to be set for + /// snapshots and blob version based actions. The blob will be archived + /// if both the conditions are satisfied. + /// + [JsonProperty(PropertyName = "daysAfterLastTierChangeGreaterThan")] + public double? DaysAfterLastTierChangeGreaterThan { get; set; } + /// /// Validate the object. /// @@ -65,6 +82,14 @@ public virtual void Validate() { throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterCreationGreaterThan", 1); } + if (DaysAfterLastTierChangeGreaterThan < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "DaysAfterLastTierChangeGreaterThan", 0); + } + if (DaysAfterLastTierChangeGreaterThan % 1 != 0) + { + throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterLastTierChangeGreaterThan", 1); + } } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterModification.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterModification.cs index 2a6bdd42c43c..21f767374d8d 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterModification.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DateAfterModification.cs @@ -15,9 +15,13 @@ namespace Microsoft.Azure.Management.Storage.Models using System.Linq; /// - /// Object to define the number of days after object last modification Or - /// last access. Properties daysAfterModificationGreaterThan and - /// daysAfterLastAccessTimeGreaterThan are mutually exclusive. + /// Object to define the base blob action conditions. Properties + /// daysAfterModificationGreaterThan, daysAfterLastAccessTimeGreaterThan + /// and daysAfterCreationGreaterThan are mutually exclusive. The + /// daysAfterLastTierChangeGreaterThan property is only applicable for + /// tierToArchive actions which requires daysAfterModificationGreaterThan + /// to be set, also it cannot be used in conjunction with + /// daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. /// public partial class DateAfterModification { @@ -37,10 +41,20 @@ public DateAfterModification() /// Value indicating /// the age in days after last blob access. This property can only be /// used in conjunction with last access time tracking policy - public DateAfterModification(double? daysAfterModificationGreaterThan = default(double?), double? daysAfterLastAccessTimeGreaterThan = default(double?)) + /// Value indicating + /// the age in days after last blob tier change time. This property is + /// only applicable for tierToArchive actions and requires + /// daysAfterModificationGreaterThan to be set for baseBlobs based + /// actions. The blob will be archived if both the conditions are + /// satisfied. + /// Value indicating the age + /// in days after blob creation. + public DateAfterModification(double? daysAfterModificationGreaterThan = default(double?), double? daysAfterLastAccessTimeGreaterThan = default(double?), double? daysAfterLastTierChangeGreaterThan = default(double?), double? daysAfterCreationGreaterThan = default(double?)) { DaysAfterModificationGreaterThan = daysAfterModificationGreaterThan; DaysAfterLastAccessTimeGreaterThan = daysAfterLastAccessTimeGreaterThan; + DaysAfterLastTierChangeGreaterThan = daysAfterLastTierChangeGreaterThan; + DaysAfterCreationGreaterThan = daysAfterCreationGreaterThan; CustomInit(); } @@ -64,6 +78,22 @@ public DateAfterModification() [JsonProperty(PropertyName = "daysAfterLastAccessTimeGreaterThan")] public double? DaysAfterLastAccessTimeGreaterThan { get; set; } + /// + /// Gets or sets value indicating the age in days after last blob tier + /// change time. This property is only applicable for tierToArchive + /// actions and requires daysAfterModificationGreaterThan to be set for + /// baseBlobs based actions. The blob will be archived if both the + /// conditions are satisfied. + /// + [JsonProperty(PropertyName = "daysAfterLastTierChangeGreaterThan")] + public double? DaysAfterLastTierChangeGreaterThan { get; set; } + + /// + /// Gets or sets value indicating the age in days after blob creation. + /// + [JsonProperty(PropertyName = "daysAfterCreationGreaterThan")] + public double? DaysAfterCreationGreaterThan { get; set; } + /// /// Validate the object. /// @@ -72,27 +102,37 @@ public DateAfterModification() /// public virtual void Validate() { - if (DaysAfterModificationGreaterThan != null) + if (DaysAfterModificationGreaterThan < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "DaysAfterModificationGreaterThan", 0); + } + if (DaysAfterModificationGreaterThan % 1 != 0) + { + throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterModificationGreaterThan", 1); + } + if (DaysAfterLastAccessTimeGreaterThan < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "DaysAfterLastAccessTimeGreaterThan", 0); + } + if (DaysAfterLastAccessTimeGreaterThan % 1 != 0) + { + throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterLastAccessTimeGreaterThan", 1); + } + if (DaysAfterLastTierChangeGreaterThan < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "DaysAfterLastTierChangeGreaterThan", 0); + } + if (DaysAfterLastTierChangeGreaterThan % 1 != 0) + { + throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterLastTierChangeGreaterThan", 1); + } + if (DaysAfterCreationGreaterThan < 0) { - if (DaysAfterModificationGreaterThan < 0) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "DaysAfterModificationGreaterThan", 0); - } - if (DaysAfterModificationGreaterThan % 1 != 0) - { - throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterModificationGreaterThan", 1); - } + throw new ValidationException(ValidationRules.InclusiveMinimum, "DaysAfterCreationGreaterThan", 0); } - if (DaysAfterLastAccessTimeGreaterThan != null) + if (DaysAfterCreationGreaterThan % 1 != 0) { - if (DaysAfterLastAccessTimeGreaterThan < 0) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "DaysAfterLastAccessTimeGreaterThan", 0); - } - if (DaysAfterLastAccessTimeGreaterThan % 1 != 0) - { - throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterLastAccessTimeGreaterThan", 1); - } + throw new ValidationException(ValidationRules.MultipleOf, "DaysAfterCreationGreaterThan", 1); } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DeleteRetentionPolicy.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DeleteRetentionPolicy.cs index 26e5d6dc8208..1b6183698f0e 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DeleteRetentionPolicy.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DeleteRetentionPolicy.cs @@ -35,10 +35,16 @@ public DeleteRetentionPolicy() /// Indicates the number of days that the deleted /// item should be retained. The minimum specified value can be 1 and /// the maximum value can be 365. - public DeleteRetentionPolicy(bool? enabled = default(bool?), int? days = default(int?)) + /// This property when set to true + /// allows deletion of the soft deleted blob versions and snapshots. + /// This property cannot be used blob restore policy. This property + /// only applies to blob service and does not apply to containers or + /// file share. + public DeleteRetentionPolicy(bool? enabled = default(bool?), int? days = default(int?), bool? allowPermanentDelete = default(bool?)) { Enabled = enabled; Days = days; + AllowPermanentDelete = allowPermanentDelete; CustomInit(); } @@ -61,6 +67,15 @@ public DeleteRetentionPolicy() [JsonProperty(PropertyName = "days")] public int? Days { get; set; } + /// + /// Gets or sets this property when set to true allows deletion of the + /// soft deleted blob versions and snapshots. This property cannot be + /// used blob restore policy. This property only applies to blob + /// service and does not apply to containers or file share. + /// + [JsonProperty(PropertyName = "allowPermanentDelete")] + public bool? AllowPermanentDelete { get; set; } + /// /// Validate the object. /// @@ -69,16 +84,13 @@ public DeleteRetentionPolicy() /// public virtual void Validate() { - if (Days != null) + if (Days > 365) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Days", 365); + } + if (Days < 1) { - if (Days > 365) - { - throw new ValidationException(ValidationRules.InclusiveMaximum, "Days", 365); - } - if (Days < 1) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "Days", 1); - } + throw new ValidationException(ValidationRules.InclusiveMinimum, "Days", 1); } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DnsEndpointType.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DnsEndpointType.cs new file mode 100644 index 000000000000..97f63360f76d --- /dev/null +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/DnsEndpointType.cs @@ -0,0 +1,22 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. +// + +namespace Microsoft.Azure.Management.Storage.Models +{ + + /// + /// Defines values for DnsEndpointType. + /// + public static class DnsEndpointType + { + public const string Standard = "Standard"; + public const string AzureDnsZone = "AzureDnsZone"; + } +} diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShare.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShare.cs index e62683bc92eb..18f51af3a8a1 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShare.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShare.cs @@ -248,16 +248,13 @@ public FileShare() /// public virtual void Validate() { - if (ShareQuota != null) + if (ShareQuota > 102400) { - if (ShareQuota > 102400) - { - throw new ValidationException(ValidationRules.InclusiveMaximum, "ShareQuota", 102400); - } - if (ShareQuota < 1) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "ShareQuota", 1); - } + throw new ValidationException(ValidationRules.InclusiveMaximum, "ShareQuota", 102400); + } + if (ShareQuota < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "ShareQuota", 1); } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShareItem.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShareItem.cs index da5a4d9bcbf2..f0449e1da84c 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShareItem.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/FileShareItem.cs @@ -247,16 +247,13 @@ public FileShareItem() /// public virtual void Validate() { - if (ShareQuota != null) + if (ShareQuota > 102400) { - if (ShareQuota > 102400) - { - throw new ValidationException(ValidationRules.InclusiveMaximum, "ShareQuota", 102400); - } - if (ShareQuota < 1) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "ShareQuota", 1); - } + throw new ValidationException(ValidationRules.InclusiveMaximum, "ShareQuota", 102400); + } + if (ShareQuota < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "ShareQuota", 1); } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/IpRule.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/IPRule.cs similarity index 100% rename from sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/IpRule.cs rename to sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/IPRule.cs diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/KeyVaultProperties.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/KeyVaultProperties.cs index 13a2cee5efaf..b46b36d4ecf3 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/KeyVaultProperties.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/KeyVaultProperties.cs @@ -36,13 +36,17 @@ public KeyVaultProperties() /// of the current versioned Key Vault Key in use. /// Timestamp of last rotation /// of the Key Vault Key. - public KeyVaultProperties(string keyName = default(string), string keyVersion = default(string), string keyVaultUri = default(string), string currentVersionedKeyIdentifier = default(string), System.DateTime? lastKeyRotationTimestamp = default(System.DateTime?)) + /// This is a read + /// only property that represents the expiration time of the current + /// version of the customer managed key used for encryption. + public KeyVaultProperties(string keyName = default(string), string keyVersion = default(string), string keyVaultUri = default(string), string currentVersionedKeyIdentifier = default(string), System.DateTime? lastKeyRotationTimestamp = default(System.DateTime?), System.DateTime? currentVersionedKeyExpirationTimestamp = default(System.DateTime?)) { KeyName = keyName; KeyVersion = keyVersion; KeyVaultUri = keyVaultUri; CurrentVersionedKeyIdentifier = currentVersionedKeyIdentifier; LastKeyRotationTimestamp = lastKeyRotationTimestamp; + CurrentVersionedKeyExpirationTimestamp = currentVersionedKeyExpirationTimestamp; CustomInit(); } @@ -82,5 +86,13 @@ public KeyVaultProperties() [JsonProperty(PropertyName = "lastKeyRotationTimestamp")] public System.DateTime? LastKeyRotationTimestamp { get; private set; } + /// + /// Gets this is a read only property that represents the expiration + /// time of the current version of the customer managed key used for + /// encryption. + /// + [JsonProperty(PropertyName = "currentVersionedKeyExpirationTimestamp")] + public System.DateTime? CurrentVersionedKeyExpirationTimestamp { get; private set; } + } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/LocalUsers.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/LocalUsers.cs deleted file mode 100644 index 7480e76c78c5..000000000000 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/LocalUsers.cs +++ /dev/null @@ -1,54 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.Management.Storage.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// List storage account local users. - /// - public partial class LocalUsers - { - /// - /// Initializes a new instance of the LocalUsers class. - /// - public LocalUsers() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the LocalUsers class. - /// - /// The local users associated with the storage - /// account. - public LocalUsers(IList value = default(IList)) - { - Value = value; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the local users associated with the storage account. - /// - [JsonProperty(PropertyName = "value")] - public IList Value { get; set; } - - } -} diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/RestorePolicyProperties.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/RestorePolicyProperties.cs index 8f6eef161321..55a39da16715 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/RestorePolicyProperties.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/RestorePolicyProperties.cs @@ -86,16 +86,13 @@ public RestorePolicyProperties() /// public virtual void Validate() { - if (Days != null) + if (Days > 365) { - if (Days > 365) - { - throw new ValidationException(ValidationRules.InclusiveMaximum, "Days", 365); - } - if (Days < 1) - { - throw new ValidationException(ValidationRules.InclusiveMinimum, "Days", 1); - } + throw new ValidationException(ValidationRules.InclusiveMaximum, "Days", 365); + } + if (Days < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Days", 1); } } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/signedResource.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/SignedResource.cs similarity index 100% rename from sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/signedResource.cs rename to sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/SignedResource.cs diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/SkuConversionStatus.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/SkuConversionStatus.cs new file mode 100644 index 000000000000..84c454ba5dfc --- /dev/null +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/SkuConversionStatus.cs @@ -0,0 +1,23 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. +// + +namespace Microsoft.Azure.Management.Storage.Models +{ + + /// + /// Defines values for SkuConversionStatus. + /// + public static class SkuConversionStatus + { + public const string InProgress = "InProgress"; + public const string Succeeded = "Succeeded"; + public const string Failed = "Failed"; + } +} diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccount.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccount.cs index c151bf6f3f27..6b78e390e5e9 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccount.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccount.cs @@ -93,8 +93,11 @@ public StorageAccount() /// Encryption settings to be used for /// server-side encryption for the storage account. /// Required for storage accounts where kind = - /// BlobStorage. The access tier used for billing. Possible values - /// include: 'Hot', 'Cool' + /// BlobStorage. The access tier is used for billing. The 'Premium' + /// access tier is the default value for premium block blobs storage + /// account type and it cannot be changed for the premium block blobs + /// storage account type. Possible values include: 'Hot', 'Cool', + /// 'Premium' /// Provides the /// identity based authentication settings for Azure Files. /// Allows https traffic only to @@ -149,7 +152,16 @@ public StorageAccount() /// Restrict copy to and from Storage /// Accounts within an AAD tenant or with Private Links to the same /// VNet. Possible values include: 'PrivateLink', 'AAD' - public StorageAccount(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary tags = default(IDictionary), Sku sku = default(Sku), string kind = default(string), Identity identity = default(Identity), ExtendedLocation extendedLocation = default(ExtendedLocation), ProvisioningState? provisioningState = default(ProvisioningState?), Endpoints primaryEndpoints = default(Endpoints), string primaryLocation = default(string), AccountStatus? statusOfPrimary = default(AccountStatus?), System.DateTime? lastGeoFailoverTime = default(System.DateTime?), string secondaryLocation = default(string), AccountStatus? statusOfSecondary = default(AccountStatus?), System.DateTime? creationTime = default(System.DateTime?), CustomDomain customDomain = default(CustomDomain), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), KeyCreationTime keyCreationTime = default(KeyCreationTime), Endpoints secondaryEndpoints = default(Endpoints), Encryption encryption = default(Encryption), AccessTier? accessTier = default(AccessTier?), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), bool? isHnsEnabled = default(bool?), GeoReplicationStats geoReplicationStats = default(GeoReplicationStats), bool? failoverInProgress = default(bool?), string largeFileSharesState = default(string), IList privateEndpointConnections = default(IList), RoutingPreference routingPreference = default(RoutingPreference), BlobRestoreStatus blobRestoreStatus = default(BlobRestoreStatus), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? enableNfsV3 = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), string publicNetworkAccess = default(string), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount), string allowedCopyScope = default(string)) + /// This property is + /// readOnly and is set by server during asynchronous storage account + /// sku conversion operations. + /// Allows you to specify the type of + /// endpoint. Set this to AzureDNSZone to create a large number of + /// accounts in a single subscription, which creates accounts in an + /// Azure DNS Zone and the endpoint URL will have an alphanumeric DNS + /// Zone identifier. Possible values include: 'Standard', + /// 'AzureDnsZone' + public StorageAccount(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary tags = default(IDictionary), Sku sku = default(Sku), string kind = default(string), Identity identity = default(Identity), ExtendedLocation extendedLocation = default(ExtendedLocation), ProvisioningState? provisioningState = default(ProvisioningState?), Endpoints primaryEndpoints = default(Endpoints), string primaryLocation = default(string), AccountStatus? statusOfPrimary = default(AccountStatus?), System.DateTime? lastGeoFailoverTime = default(System.DateTime?), string secondaryLocation = default(string), AccountStatus? statusOfSecondary = default(AccountStatus?), System.DateTime? creationTime = default(System.DateTime?), CustomDomain customDomain = default(CustomDomain), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), KeyCreationTime keyCreationTime = default(KeyCreationTime), Endpoints secondaryEndpoints = default(Endpoints), Encryption encryption = default(Encryption), AccessTier? accessTier = default(AccessTier?), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), bool? isHnsEnabled = default(bool?), GeoReplicationStats geoReplicationStats = default(GeoReplicationStats), bool? failoverInProgress = default(bool?), string largeFileSharesState = default(string), IList privateEndpointConnections = default(IList), RoutingPreference routingPreference = default(RoutingPreference), BlobRestoreStatus blobRestoreStatus = default(BlobRestoreStatus), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? enableNfsV3 = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), string publicNetworkAccess = default(string), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount), string allowedCopyScope = default(string), StorageAccountSkuConversionStatus storageAccountSkuConversionStatus = default(StorageAccountSkuConversionStatus), string dnsEndpointType = default(string)) : base(location, id, name, type, tags) { Sku = sku; @@ -192,6 +204,8 @@ public StorageAccount() PublicNetworkAccess = publicNetworkAccess; ImmutableStorageWithVersioning = immutableStorageWithVersioning; AllowedCopyScope = allowedCopyScope; + StorageAccountSkuConversionStatus = storageAccountSkuConversionStatus; + DnsEndpointType = dnsEndpointType; CustomInit(); } @@ -330,8 +344,10 @@ public StorageAccount() /// /// Gets required for storage accounts where kind = BlobStorage. The - /// access tier used for billing. Possible values include: 'Hot', - /// 'Cool' + /// access tier is used for billing. The 'Premium' access tier is the + /// default value for premium block blobs storage account type and it + /// cannot be changed for the premium block blobs storage account type. + /// Possible values include: 'Hot', 'Cool', 'Premium' /// [JsonProperty(PropertyName = "properties.accessTier")] public AccessTier? AccessTier { get; private set; } @@ -487,6 +503,23 @@ public StorageAccount() [JsonProperty(PropertyName = "properties.allowedCopyScope")] public string AllowedCopyScope { get; set; } + /// + /// Gets or sets this property is readOnly and is set by server during + /// asynchronous storage account sku conversion operations. + /// + [JsonProperty(PropertyName = "properties.storageAccountSkuConversionStatus")] + public StorageAccountSkuConversionStatus StorageAccountSkuConversionStatus { get; set; } + + /// + /// Gets or sets allows you to specify the type of endpoint. Set this + /// to AzureDNSZone to create a large number of accounts in a single + /// subscription, which creates accounts in an Azure DNS Zone and the + /// endpoint URL will have an alphanumeric DNS Zone identifier. + /// Possible values include: 'Standard', 'AzureDnsZone' + /// + [JsonProperty(PropertyName = "properties.dnsEndpointType")] + public string DnsEndpointType { get; set; } + /// /// Validate the object. /// diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountCreateParameters.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountCreateParameters.cs index ac16080c65dd..811fceb0a193 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountCreateParameters.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountCreateParameters.cs @@ -77,8 +77,11 @@ public StorageAccountCreateParameters() /// server-side encryption for the storage account. /// Network rule set /// Required for storage accounts where kind = - /// BlobStorage. The access tier used for billing. Possible values - /// include: 'Hot', 'Cool' + /// BlobStorage. The access tier is used for billing. The 'Premium' + /// access tier is the default value for premium block blobs storage + /// account type and it cannot be changed for the premium block blobs + /// storage account type. Possible values include: 'Hot', 'Cool', + /// 'Premium' /// Provides the /// identity based authentication settings for Azure Files. /// Allows https traffic only to @@ -120,7 +123,13 @@ public StorageAccountCreateParameters() /// immutable and can only be set to true at the account creation time. /// When set to true, it enables object level immutability for all the /// new containers in the account by default. - public StorageAccountCreateParameters(Sku sku, string kind, string location, ExtendedLocation extendedLocation = default(ExtendedLocation), IDictionary tags = default(IDictionary), Identity identity = default(Identity), string allowedCopyScope = default(string), string publicNetworkAccess = default(string), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), AccessTier? accessTier = default(AccessTier?), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), bool? isHnsEnabled = default(bool?), string largeFileSharesState = default(string), RoutingPreference routingPreference = default(RoutingPreference), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? enableNfsV3 = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount)) + /// Allows you to specify the type of + /// endpoint. Set this to AzureDNSZone to create a large number of + /// accounts in a single subscription, which creates accounts in an + /// Azure DNS Zone and the endpoint URL will have an alphanumeric DNS + /// Zone identifier. Possible values include: 'Standard', + /// 'AzureDnsZone' + public StorageAccountCreateParameters(Sku sku, string kind, string location, ExtendedLocation extendedLocation = default(ExtendedLocation), IDictionary tags = default(IDictionary), Identity identity = default(Identity), string allowedCopyScope = default(string), string publicNetworkAccess = default(string), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), AccessTier? accessTier = default(AccessTier?), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), bool? isHnsEnabled = default(bool?), string largeFileSharesState = default(string), RoutingPreference routingPreference = default(RoutingPreference), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? enableNfsV3 = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount), string dnsEndpointType = default(string)) { Sku = sku; Kind = kind; @@ -150,6 +159,7 @@ public StorageAccountCreateParameters() AllowCrossTenantReplication = allowCrossTenantReplication; DefaultToOAuthAuthentication = defaultToOAuthAuthentication; ImmutableStorageWithVersioning = immutableStorageWithVersioning; + DnsEndpointType = dnsEndpointType; CustomInit(); } @@ -260,8 +270,11 @@ public StorageAccountCreateParameters() /// /// Gets or sets required for storage accounts where kind = - /// BlobStorage. The access tier used for billing. Possible values - /// include: 'Hot', 'Cool' + /// BlobStorage. The access tier is used for billing. The 'Premium' + /// access tier is the default value for premium block blobs storage + /// account type and it cannot be changed for the premium block blobs + /// storage account type. Possible values include: 'Hot', 'Cool', + /// 'Premium' /// [JsonProperty(PropertyName = "properties.accessTier")] public AccessTier? AccessTier { get; set; } @@ -369,6 +382,16 @@ public StorageAccountCreateParameters() [JsonProperty(PropertyName = "properties.immutableStorageWithVersioning")] public ImmutableStorageAccount ImmutableStorageWithVersioning { get; set; } + /// + /// Gets or sets allows you to specify the type of endpoint. Set this + /// to AzureDNSZone to create a large number of accounts in a single + /// subscription, which creates accounts in an Azure DNS Zone and the + /// endpoint URL will have an alphanumeric DNS Zone identifier. + /// Possible values include: 'Standard', 'AzureDnsZone' + /// + [JsonProperty(PropertyName = "properties.dnsEndpointType")] + public string DnsEndpointType { get; set; } + /// /// Validate the object. /// diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountSkuConversionStatus.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountSkuConversionStatus.cs new file mode 100644 index 000000000000..75e29c5761d7 --- /dev/null +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountSkuConversionStatus.cs @@ -0,0 +1,91 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. +// + +namespace Microsoft.Azure.Management.Storage.Models +{ + using Newtonsoft.Json; + using System.Linq; + + /// + /// This defines the sku conversion status object for asynchronous sku + /// conversions. + /// + public partial class StorageAccountSkuConversionStatus + { + /// + /// Initializes a new instance of the StorageAccountSkuConversionStatus + /// class. + /// + public StorageAccountSkuConversionStatus() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the StorageAccountSkuConversionStatus + /// class. + /// + /// This property indicates the + /// current sku conversion status. Possible values include: + /// 'InProgress', 'Succeeded', 'Failed' + /// This property represents the target sku + /// name to which the account sku is being converted asynchronously. + /// Possible values include: 'Standard_LRS', 'Standard_GRS', + /// 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', 'Premium_ZRS', + /// 'Standard_GZRS', 'Standard_RAGZRS' + /// This property represents the sku conversion + /// start time. + /// This property represents the sku conversion + /// end time. + public StorageAccountSkuConversionStatus(string skuConversionStatus = default(string), string targetSkuName = default(string), string startTime = default(string), string endTime = default(string)) + { + SkuConversionStatus = skuConversionStatus; + TargetSkuName = targetSkuName; + StartTime = startTime; + EndTime = endTime; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets this property indicates the current sku conversion status. + /// Possible values include: 'InProgress', 'Succeeded', 'Failed' + /// + [JsonProperty(PropertyName = "skuConversionStatus")] + public string SkuConversionStatus { get; private set; } + + /// + /// Gets or sets this property represents the target sku name to which + /// the account sku is being converted asynchronously. Possible values + /// include: 'Standard_LRS', 'Standard_GRS', 'Standard_RAGRS', + /// 'Standard_ZRS', 'Premium_LRS', 'Premium_ZRS', 'Standard_GZRS', + /// 'Standard_RAGZRS' + /// + [JsonProperty(PropertyName = "targetSkuName")] + public string TargetSkuName { get; set; } + + /// + /// Gets this property represents the sku conversion start time. + /// + [JsonProperty(PropertyName = "startTime")] + public string StartTime { get; private set; } + + /// + /// Gets this property represents the sku conversion end time. + /// + [JsonProperty(PropertyName = "endTime")] + public string EndTime { get; private set; } + + } +} diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountUpdateParameters.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountUpdateParameters.cs index 115719843dc1..228c53fbeeb5 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountUpdateParameters.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/StorageAccountUpdateParameters.cs @@ -61,8 +61,11 @@ public StorageAccountUpdateParameters() /// KeyPolicy assigned to the storage /// account. /// Required for storage accounts where kind = - /// BlobStorage. The access tier used for billing. Possible values - /// include: 'Hot', 'Cool' + /// BlobStorage. The access tier is used for billing. The 'Premium' + /// access tier is the default value for premium block blobs storage + /// account type and it cannot be changed for the premium block blobs + /// storage account type. Possible values include: 'Hot', 'Cool', + /// 'Premium' /// Provides the /// identity based authentication settings for Azure Files. /// Allows https traffic only to @@ -107,11 +110,17 @@ public StorageAccountUpdateParameters() /// Restrict copy to and from Storage /// Accounts within an AAD tenant or with Private Links to the same /// VNet. Possible values include: 'PrivateLink', 'AAD' + /// Allows you to specify the type of + /// endpoint. Set this to AzureDNSZone to create a large number of + /// accounts in a single subscription, which creates accounts in an + /// Azure DNS Zone and the endpoint URL will have an alphanumeric DNS + /// Zone identifier. Possible values include: 'Standard', + /// 'AzureDnsZone' /// Optional. Indicates the type of storage account. /// Currently only StorageV2 value supported by server. Possible values /// include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', /// 'BlockBlobStorage' - public StorageAccountUpdateParameters(Sku sku = default(Sku), IDictionary tags = default(IDictionary), Identity identity = default(Identity), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), AccessTier? accessTier = default(AccessTier?), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), string largeFileSharesState = default(string), RoutingPreference routingPreference = default(RoutingPreference), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), string publicNetworkAccess = default(string), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount), string allowedCopyScope = default(string), string kind = default(string)) + public StorageAccountUpdateParameters(Sku sku = default(Sku), IDictionary tags = default(IDictionary), Identity identity = default(Identity), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), AccessTier? accessTier = default(AccessTier?), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), string largeFileSharesState = default(string), RoutingPreference routingPreference = default(RoutingPreference), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), string publicNetworkAccess = default(string), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount), string allowedCopyScope = default(string), string dnsEndpointType = default(string), string kind = default(string)) { Sku = sku; Tags = tags; @@ -136,6 +145,7 @@ public StorageAccountUpdateParameters() PublicNetworkAccess = publicNetworkAccess; ImmutableStorageWithVersioning = immutableStorageWithVersioning; AllowedCopyScope = allowedCopyScope; + DnsEndpointType = dnsEndpointType; Kind = kind; CustomInit(); } @@ -199,8 +209,11 @@ public StorageAccountUpdateParameters() /// /// Gets or sets required for storage accounts where kind = - /// BlobStorage. The access tier used for billing. Possible values - /// include: 'Hot', 'Cool' + /// BlobStorage. The access tier is used for billing. The 'Premium' + /// access tier is the default value for premium block blobs storage + /// account type and it cannot be changed for the premium block blobs + /// storage account type. Possible values include: 'Hot', 'Cool', + /// 'Premium' /// [JsonProperty(PropertyName = "properties.accessTier")] public AccessTier? AccessTier { get; set; } @@ -318,6 +331,16 @@ public StorageAccountUpdateParameters() [JsonProperty(PropertyName = "properties.allowedCopyScope")] public string AllowedCopyScope { get; set; } + /// + /// Gets or sets allows you to specify the type of endpoint. Set this + /// to AzureDNSZone to create a large number of accounts in a single + /// subscription, which creates accounts in an Azure DNS Zone and the + /// endpoint URL will have an alphanumeric DNS Zone identifier. + /// Possible values include: 'Standard', 'AzureDnsZone' + /// + [JsonProperty(PropertyName = "properties.dnsEndpointType")] + public string DnsEndpointType { get; set; } + /// /// Gets or sets optional. Indicates the type of storage account. /// Currently only StorageV2 value supported by server. Possible values diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/Table.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/Table.cs index b6f3cecde32b..204c8fe01032 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/Table.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/Table.cs @@ -13,6 +13,8 @@ namespace Microsoft.Azure.Management.Storage.Models using Microsoft.Rest; using Microsoft.Rest.Serialization; using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; using System.Linq; /// @@ -40,10 +42,13 @@ public Table() /// "Microsoft.Storage/storageAccounts" /// Table name under the specified /// account - public Table(string id = default(string), string name = default(string), string type = default(string), string tableName = default(string)) + /// List of stored access policies + /// specified on the table. + public Table(string id = default(string), string name = default(string), string type = default(string), string tableName = default(string), IList signedIdentifiers = default(IList)) : base(id, name, type) { TableName = tableName; + SignedIdentifiers = signedIdentifiers; CustomInit(); } @@ -58,5 +63,11 @@ public Table() [JsonProperty(PropertyName = "properties.tableName")] public string TableName { get; private set; } + /// + /// Gets or sets list of stored access policies specified on the table. + /// + [JsonProperty(PropertyName = "properties.signedIdentifiers")] + public IList SignedIdentifiers { get; set; } + } } diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/TableAccessPolicy.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/TableAccessPolicy.cs new file mode 100644 index 000000000000..9e46f1c963cd --- /dev/null +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/TableAccessPolicy.cs @@ -0,0 +1,83 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. +// + +namespace Microsoft.Azure.Management.Storage.Models +{ + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Table Access Policy Properties Object. + /// + public partial class TableAccessPolicy + { + /// + /// Initializes a new instance of the TableAccessPolicy class. + /// + public TableAccessPolicy() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the TableAccessPolicy class. + /// + /// Required. List of abbreviated permissions. + /// Supported permission values include 'r','a','u','d' + /// Start time of the access policy + /// Expiry time of the access policy + public TableAccessPolicy(string permission, System.DateTime? startTime = default(System.DateTime?), System.DateTime? expiryTime = default(System.DateTime?)) + { + StartTime = startTime; + ExpiryTime = expiryTime; + Permission = permission; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets start time of the access policy + /// + [JsonProperty(PropertyName = "startTime")] + public System.DateTime? StartTime { get; set; } + + /// + /// Gets or sets expiry time of the access policy + /// + [JsonProperty(PropertyName = "expiryTime")] + public System.DateTime? ExpiryTime { get; set; } + + /// + /// Gets or sets required. List of abbreviated permissions. Supported + /// permission values include 'r','a','u','d' + /// + [JsonProperty(PropertyName = "permission")] + public string Permission { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Permission == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Permission"); + } + } + } +} diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/TableSignedIdentifier.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/TableSignedIdentifier.cs new file mode 100644 index 000000000000..dcbed2c2e61f --- /dev/null +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/Models/TableSignedIdentifier.cs @@ -0,0 +1,78 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. +// + +namespace Microsoft.Azure.Management.Storage.Models +{ + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Object to set Table Access Policy. + /// + public partial class TableSignedIdentifier + { + /// + /// Initializes a new instance of the TableSignedIdentifier class. + /// + public TableSignedIdentifier() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the TableSignedIdentifier class. + /// + /// unique-64-character-value of the stored access + /// policy. + /// Access policy + public TableSignedIdentifier(string id, TableAccessPolicy accessPolicy = default(TableAccessPolicy)) + { + Id = id; + AccessPolicy = accessPolicy; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets unique-64-character-value of the stored access policy. + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Gets or sets access policy + /// + [JsonProperty(PropertyName = "accessPolicy")] + public TableAccessPolicy AccessPolicy { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Id == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Id"); + } + if (AccessPolicy != null) + { + AccessPolicy.Validate(); + } + } + } +} diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SdkInfo_StorageManagementClient.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SdkInfo_StorageManagementClient.cs index a48b8481b72c..a69349fa5dd0 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SdkInfo_StorageManagementClient.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SdkInfo_StorageManagementClient.cs @@ -19,39 +19,28 @@ public static IEnumerable> ApiInfo_StorageManageme { return new Tuple[] { - new Tuple("Storage", "BlobContainers", "2021-08-01"), - new Tuple("Storage", "BlobInventoryPolicies", "2021-08-01"), - new Tuple("Storage", "BlobServices", "2021-08-01"), - new Tuple("Storage", "DeletedAccounts", "2021-08-01"), - new Tuple("Storage", "EncryptionScopes", "2021-08-01"), - new Tuple("Storage", "FileServices", "2021-08-01"), - new Tuple("Storage", "FileShares", "2021-08-01"), - new Tuple("Storage", "LocalUsers", "2021-08-01"), - new Tuple("Storage", "ManagementPolicies", "2021-08-01"), - new Tuple("Storage", "ObjectReplicationPolicies", "2021-08-01"), - new Tuple("Storage", "Operations", "2021-08-01"), - new Tuple("Storage", "PrivateEndpointConnections", "2021-08-01"), - new Tuple("Storage", "PrivateLinkResources", "2021-08-01"), - new Tuple("Storage", "Queue", "2021-08-01"), - new Tuple("Storage", "QueueServices", "2021-08-01"), - new Tuple("Storage", "Skus", "2021-08-01"), - new Tuple("Storage", "StorageAccounts", "2021-08-01"), - new Tuple("Storage", "Table", "2021-08-01"), - new Tuple("Storage", "TableServices", "2021-08-01"), - new Tuple("Storage", "Usages", "2021-08-01"), + new Tuple("Storage", "BlobContainers", "2021-09-01"), + new Tuple("Storage", "BlobInventoryPolicies", "2021-09-01"), + new Tuple("Storage", "BlobServices", "2021-09-01"), + new Tuple("Storage", "DeletedAccounts", "2021-09-01"), + new Tuple("Storage", "EncryptionScopes", "2021-09-01"), + new Tuple("Storage", "FileServices", "2021-09-01"), + new Tuple("Storage", "FileShares", "2021-09-01"), + new Tuple("Storage", "LocalUsers", "2021-09-01"), + new Tuple("Storage", "ManagementPolicies", "2021-09-01"), + new Tuple("Storage", "ObjectReplicationPolicies", "2021-09-01"), + new Tuple("Storage", "Operations", "2021-09-01"), + new Tuple("Storage", "PrivateEndpointConnections", "2021-09-01"), + new Tuple("Storage", "PrivateLinkResources", "2021-09-01"), + new Tuple("Storage", "Queue", "2021-09-01"), + new Tuple("Storage", "QueueServices", "2021-09-01"), + new Tuple("Storage", "Skus", "2021-09-01"), + new Tuple("Storage", "StorageAccounts", "2021-09-01"), + new Tuple("Storage", "Table", "2021-09-01"), + new Tuple("Storage", "TableServices", "2021-09-01"), + new Tuple("Storage", "Usages", "2021-09-01"), }.AsEnumerable(); } } - // BEGIN: Code Generation Metadata Section - public static readonly String AutoRestVersion = "v2"; - public static readonly String AutoRestBootStrapperVersion = "autorest@2.0.4413"; - public static readonly String AutoRestCmdExecuted = "cmd.exe /c autorest.cmd https://github.com/Azure/azure-rest-api-specs/blob/main/specification/storage/resource-manager/readme.md --csharp --version=v2 --reflect-api-versions --csharp.output-folder=C:\\code\\srpsdk\\sdk\\storage\\Microsoft.Azure.Management.Storage\\src\\Generated"; - public static readonly String GithubForkName = "Azure"; - public static readonly String GithubBranchName = "main"; - public static readonly String GithubCommidId = "8253d0777924f346774223edab42d6b5c5e3838e"; - public static readonly String CodeGenerationErrors = ""; - public static readonly String GithubRepoName = "azure-rest-api-specs"; - // END: Code Generation Metadata Section } } - diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SKUsOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SkusOperations.cs similarity index 100% rename from sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SKUsOperations.cs rename to sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SkusOperations.cs diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SKUsOperationsExtensions.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SkusOperationsExtensions.cs similarity index 100% rename from sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SKUsOperationsExtensions.cs rename to sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/SkusOperationsExtensions.cs diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/StorageManagementClient.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/StorageManagementClient.cs index d71c0bf8cbc2..e451ac36d6fa 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/StorageManagementClient.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/StorageManagementClient.cs @@ -436,7 +436,7 @@ private void Initialize() TableServices = new TableServicesOperations(this); Table = new TableOperations(this); BaseUri = new System.Uri("https://management.azure.com"); - ApiVersion = "2021-08-01"; + ApiVersion = "2021-09-01"; AcceptLanguage = "en-US"; LongRunningOperationRetryTimeout = 30; GenerateClientRequestId = true; diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperations.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperations.cs index c8579fb9a96d..612f4e5ebcee 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperations.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperations.cs @@ -68,6 +68,9 @@ internal TableOperations(StorageManagementClient client) /// and 63 characters.The name must comprise of only alphanumeric characters /// and it cannot begin with a numeric character. /// + /// + /// List of stored access policies specified on the table. + /// /// /// Headers that will be added to request. /// @@ -89,7 +92,7 @@ internal TableOperations(StorageManagementClient client) /// /// A response object containing the response body and response headers. /// - public async Task> CreateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> CreateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { @@ -166,6 +169,22 @@ internal TableOperations(StorageManagementClient client) throw new ValidationException(ValidationRules.Pattern, "tableName", "^[A-Za-z][A-Za-z0-9]{2,62}$"); } } + if (signedIdentifiers != null) + { + foreach (var element in signedIdentifiers) + { + if (element != null) + { + element.Validate(); + } + } + } + Table parameters = default(Table); + if (signedIdentifiers != null) + { + parameters = new Table(); + parameters.SignedIdentifiers = signedIdentifiers; + } // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -176,6 +195,7 @@ internal TableOperations(StorageManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("accountName", accountName); tracingParameters.Add("tableName", tableName); + tracingParameters.Add("parameters", parameters); tracingParameters.Add("cancellationToken", cancellationToken); ServiceClientTracing.Enter(_invocationId, this, "Create", tracingParameters); } @@ -229,6 +249,12 @@ internal TableOperations(StorageManagementClient client) // Serialize Request string _requestContent = null; + if(parameters != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials if (Client.Credentials != null) { @@ -334,6 +360,9 @@ internal TableOperations(StorageManagementClient client) /// and 63 characters.The name must comprise of only alphanumeric characters /// and it cannot begin with a numeric character. /// + /// + /// List of stored access policies specified on the table. + /// /// /// Headers that will be added to request. /// @@ -355,7 +384,7 @@ internal TableOperations(StorageManagementClient client) /// /// A response object containing the response body and response headers. /// - public async Task> UpdateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> UpdateWithHttpMessagesAsync(string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (resourceGroupName == null) { @@ -432,6 +461,22 @@ internal TableOperations(StorageManagementClient client) throw new ValidationException(ValidationRules.Pattern, "tableName", "^[A-Za-z][A-Za-z0-9]{2,62}$"); } } + if (signedIdentifiers != null) + { + foreach (var element in signedIdentifiers) + { + if (element != null) + { + element.Validate(); + } + } + } + Table parameters = default(Table); + if (signedIdentifiers != null) + { + parameters = new Table(); + parameters.SignedIdentifiers = signedIdentifiers; + } // Tracing bool _shouldTrace = ServiceClientTracing.IsEnabled; string _invocationId = null; @@ -442,6 +487,7 @@ internal TableOperations(StorageManagementClient client) tracingParameters.Add("resourceGroupName", resourceGroupName); tracingParameters.Add("accountName", accountName); tracingParameters.Add("tableName", tableName); + tracingParameters.Add("parameters", parameters); tracingParameters.Add("cancellationToken", cancellationToken); ServiceClientTracing.Enter(_invocationId, this, "Update", tracingParameters); } @@ -495,6 +541,12 @@ internal TableOperations(StorageManagementClient client) // Serialize Request string _requestContent = null; + if(parameters != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } // Set Credentials if (Client.Credentials != null) { diff --git a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperationsExtensions.cs b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperationsExtensions.cs index d5ce82b86df3..8aad6b494049 100644 --- a/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperationsExtensions.cs +++ b/sdk/storage/Microsoft.Azure.Management.Storage/src/Generated/TableOperationsExtensions.cs @@ -13,6 +13,8 @@ namespace Microsoft.Azure.Management.Storage using Microsoft.Rest; using Microsoft.Rest.Azure; using Models; + using System.Collections; + using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -42,9 +44,12 @@ public static partial class TableOperationsExtensions /// and 63 characters.The name must comprise of only alphanumeric characters /// and it cannot begin with a numeric character. /// - public static Table Create(this ITableOperations operations, string resourceGroupName, string accountName, string tableName) + /// + /// List of stored access policies specified on the table. + /// + public static Table Create(this ITableOperations operations, string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList)) { - return operations.CreateAsync(resourceGroupName, accountName, tableName).GetAwaiter().GetResult(); + return operations.CreateAsync(resourceGroupName, accountName, tableName, signedIdentifiers).GetAwaiter().GetResult(); } /// @@ -68,12 +73,15 @@ public static Table Create(this ITableOperations operations, string resourceGrou /// and 63 characters.The name must comprise of only alphanumeric characters /// and it cannot begin with a numeric character. /// + /// + /// List of stored access policies specified on the table. + /// /// /// The cancellation token. /// - public static async Task CreateAsync(this ITableOperations operations, string resourceGroupName, string accountName, string tableName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task
CreateAsync(this ITableOperations operations, string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.CreateWithHttpMessagesAsync(resourceGroupName, accountName, tableName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.CreateWithHttpMessagesAsync(resourceGroupName, accountName, tableName, signedIdentifiers, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } @@ -100,9 +108,12 @@ public static Table Create(this ITableOperations operations, string resourceGrou /// and 63 characters.The name must comprise of only alphanumeric characters /// and it cannot begin with a numeric character. /// - public static Table Update(this ITableOperations operations, string resourceGroupName, string accountName, string tableName) + /// + /// List of stored access policies specified on the table. + /// + public static Table Update(this ITableOperations operations, string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList)) { - return operations.UpdateAsync(resourceGroupName, accountName, tableName).GetAwaiter().GetResult(); + return operations.UpdateAsync(resourceGroupName, accountName, tableName, signedIdentifiers).GetAwaiter().GetResult(); } /// @@ -126,12 +137,15 @@ public static Table Update(this ITableOperations operations, string resourceGrou /// and 63 characters.The name must comprise of only alphanumeric characters /// and it cannot begin with a numeric character. /// + /// + /// List of stored access policies specified on the table. + /// /// /// The cancellation token. /// - public static async Task
UpdateAsync(this ITableOperations operations, string resourceGroupName, string accountName, string tableName, CancellationToken cancellationToken = default(CancellationToken)) + public static async Task
UpdateAsync(this ITableOperations operations, string resourceGroupName, string accountName, string tableName, IList signedIdentifiers = default(IList), CancellationToken cancellationToken = default(CancellationToken)) { - using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, accountName, tableName, null, cancellationToken).ConfigureAwait(false)) + using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, accountName, tableName, signedIdentifiers, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; }