From 8e3e5b4aa9961ef6f7919e6b52c0ff42bdfd4999 Mon Sep 17 00:00:00 2001 From: adxsdknet Date: Thu, 4 Apr 2019 00:14:54 +0000 Subject: [PATCH] .NET SDK Resource Provider:'Storage' REST Spec PR 'https://github.com/Azure/azure-rest-api-specs/pull/5547' REST Spec PR Author 'huizlAzure' REST Spec PR Last commit --- src/SDKs/Storage/AzSdk.RP.props | 2 +- .../Generated/BlobContainersOperations.cs | 278 ------------------ .../BlobContainersOperationsExtensions.cs | 68 ----- .../Generated/IBlobContainersOperations.cs | 40 --- .../Generated/Models/BlobServiceProperties.cs | 11 +- .../Generated/Models/Kind.cs | 65 +--- .../Generated/Models/LeaseContainerRequest.cs | 113 ------- .../Models/LeaseContainerResponse.cs | 65 ---- .../Generated/Models/Sku.cs | 18 +- .../Generated/Models/SkuName.cs | 74 +---- .../Generated/Models/StorageAccount.cs | 4 +- .../Models/StorageAccountCreateParameters.cs | 8 +- .../Models/StorageAccountUpdateParameters.cs | 4 +- .../SdkInfo_StorageManagementClient.cs | 14 +- .../Generated/StorageManagementClient.cs | 2 +- 15 files changed, 56 insertions(+), 710 deletions(-) delete mode 100644 src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerRequest.cs delete mode 100644 src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerResponse.cs diff --git a/src/SDKs/Storage/AzSdk.RP.props b/src/SDKs/Storage/AzSdk.RP.props index 428bb1bea7995..681dba051d068 100644 --- a/src/SDKs/Storage/AzSdk.RP.props +++ b/src/SDKs/Storage/AzSdk.RP.props @@ -1,7 +1,7 @@ - Storage_2018-11-01; + Storage_2019-04-01; $(PackageTags);$(CommonTags);$(AzureApiTag); \ No newline at end of file diff --git a/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperations.cs b/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperations.cs index 09afa7200b37e..bcbfdba0a7dd2 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperations.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperations.cs @@ -3452,283 +3452,5 @@ internal BlobContainersOperations(StorageManagementClient client) return _result; } - /// - /// The Lease Container operation establishes and manages a lock on a container - /// for delete operations. The lock duration can be 15 to 60 seconds, or can be - /// infinite. - /// - /// - /// The name of the resource group within the user's subscription. The name is - /// case insensitive. - /// - /// - /// The name of the storage account within the specified resource group. - /// Storage account names must be between 3 and 24 characters in length and use - /// numbers and lower-case letters only. - /// - /// - /// The name of the blob container within the specified storage account. Blob - /// container names must be between 3 and 63 characters in length and use - /// numbers, lower-case letters and dash (-) only. Every dash (-) character - /// must be immediately preceded and followed by a letter or number. - /// - /// - /// Lease Container request body. - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> LeaseWithHttpMessagesAsync(string resourceGroupName, string accountName, string containerName, LeaseContainerRequest parameters = default(LeaseContainerRequest), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (resourceGroupName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName"); - } - if (resourceGroupName != null) - { - if (resourceGroupName.Length > 90) - { - throw new ValidationException(ValidationRules.MaxLength, "resourceGroupName", 90); - } - if (resourceGroupName.Length < 1) - { - throw new ValidationException(ValidationRules.MinLength, "resourceGroupName", 1); - } - if (!System.Text.RegularExpressions.Regex.IsMatch(resourceGroupName, "^[-\\w\\._\\(\\)]+$")) - { - throw new ValidationException(ValidationRules.Pattern, "resourceGroupName", "^[-\\w\\._\\(\\)]+$"); - } - } - if (accountName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "accountName"); - } - if (accountName != null) - { - if (accountName.Length > 24) - { - throw new ValidationException(ValidationRules.MaxLength, "accountName", 24); - } - if (accountName.Length < 3) - { - throw new ValidationException(ValidationRules.MinLength, "accountName", 3); - } - } - if (containerName == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "containerName"); - } - if (containerName != null) - { - if (containerName.Length > 63) - { - throw new ValidationException(ValidationRules.MaxLength, "containerName", 63); - } - if (containerName.Length < 3) - { - throw new ValidationException(ValidationRules.MinLength, "containerName", 3); - } - } - if (Client.ApiVersion == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion"); - } - if (Client.ApiVersion != null) - { - if (Client.ApiVersion.Length < 1) - { - throw new ValidationException(ValidationRules.MinLength, "Client.ApiVersion", 1); - } - } - if (Client.SubscriptionId == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); - } - if (Client.SubscriptionId != null) - { - if (Client.SubscriptionId.Length < 1) - { - throw new ValidationException(ValidationRules.MinLength, "Client.SubscriptionId", 1); - } - } - if (parameters != null) - { - parameters.Validate(); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("resourceGroupName", resourceGroupName); - tracingParameters.Add("accountName", accountName); - tracingParameters.Add("containerName", containerName); - tracingParameters.Add("parameters", parameters); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Lease", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri.AbsoluteUri; - var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease").ToString(); - _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName)); - _url = _url.Replace("{accountName}", System.Uri.EscapeDataString(accountName)); - _url = _url.Replace("{containerName}", System.Uri.EscapeDataString(containerName)); - _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId)); - List _queryParameters = new List(); - if (Client.ApiVersion != null) - { - _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion))); - } - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // 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) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - 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); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - } } diff --git a/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperationsExtensions.cs b/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperationsExtensions.cs index 7edfc8b65155a..c9f2d37144894 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperationsExtensions.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/BlobContainersOperationsExtensions.cs @@ -854,73 +854,5 @@ public static ImmutabilityPolicy ExtendImmutabilityPolicy(this IBlobContainersOp } } - /// - /// The Lease Container operation establishes and manages a lock on a container - /// for delete operations. The lock duration can be 15 to 60 seconds, or can be - /// infinite. - /// - /// - /// The operations group for this extension method. - /// - /// - /// The name of the resource group within the user's subscription. The name is - /// case insensitive. - /// - /// - /// The name of the storage account within the specified resource group. - /// Storage account names must be between 3 and 24 characters in length and use - /// numbers and lower-case letters only. - /// - /// - /// The name of the blob container within the specified storage account. Blob - /// container names must be between 3 and 63 characters in length and use - /// numbers, lower-case letters and dash (-) only. Every dash (-) character - /// must be immediately preceded and followed by a letter or number. - /// - /// - /// Lease Container request body. - /// - public static LeaseContainerResponse Lease(this IBlobContainersOperations operations, string resourceGroupName, string accountName, string containerName, LeaseContainerRequest parameters = default(LeaseContainerRequest)) - { - return operations.LeaseAsync(resourceGroupName, accountName, containerName, parameters).GetAwaiter().GetResult(); - } - - /// - /// The Lease Container operation establishes and manages a lock on a container - /// for delete operations. The lock duration can be 15 to 60 seconds, or can be - /// infinite. - /// - /// - /// The operations group for this extension method. - /// - /// - /// The name of the resource group within the user's subscription. The name is - /// case insensitive. - /// - /// - /// The name of the storage account within the specified resource group. - /// Storage account names must be between 3 and 24 characters in length and use - /// numbers and lower-case letters only. - /// - /// - /// The name of the blob container within the specified storage account. Blob - /// container names must be between 3 and 63 characters in length and use - /// numbers, lower-case letters and dash (-) only. Every dash (-) character - /// must be immediately preceded and followed by a letter or number. - /// - /// - /// Lease Container request body. - /// - /// - /// The cancellation token. - /// - public static async Task LeaseAsync(this IBlobContainersOperations operations, string resourceGroupName, string accountName, string containerName, LeaseContainerRequest parameters = default(LeaseContainerRequest), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.LeaseWithHttpMessagesAsync(resourceGroupName, accountName, containerName, parameters, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - } } diff --git a/src/SDKs/Storage/Management.Storage/Generated/IBlobContainersOperations.cs b/src/SDKs/Storage/Management.Storage/Generated/IBlobContainersOperations.cs index 24909e1cd1ddd..da6a2bc8f96e1 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/IBlobContainersOperations.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/IBlobContainersOperations.cs @@ -515,45 +515,5 @@ public partial interface IBlobContainersOperations /// Thrown when a required parameter is null /// Task> ExtendImmutabilityPolicyWithHttpMessagesAsync(string resourceGroupName, string accountName, string containerName, string ifMatch, int immutabilityPeriodSinceCreationInDays, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// The Lease Container operation establishes and manages a lock on a - /// container for delete operations. The lock duration can be 15 to 60 - /// seconds, or can be infinite. - /// - /// - /// The name of the resource group within the user's subscription. The - /// name is case insensitive. - /// - /// - /// The name of the storage account within the specified resource - /// group. Storage account names must be between 3 and 24 characters in - /// length and use numbers and lower-case letters only. - /// - /// - /// The name of the blob container within the specified storage - /// account. Blob container names must be between 3 and 63 characters - /// in length and use numbers, lower-case letters and dash (-) only. - /// Every dash (-) character must be immediately preceded and followed - /// by a letter or number. - /// - /// - /// Lease Container request body. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> LeaseWithHttpMessagesAsync(string resourceGroupName, string accountName, string containerName, LeaseContainerRequest parameters = default(LeaseContainerRequest), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); } } diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/BlobServiceProperties.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/BlobServiceProperties.cs index 2a7c2139c33e8..641e73627c08b 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/BlobServiceProperties.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/Models/BlobServiceProperties.cs @@ -49,12 +49,15 @@ public BlobServiceProperties() /// include version 2008-10-27 and all more recent versions. /// The blob service properties for /// soft delete. - public BlobServiceProperties(string id = default(string), string name = default(string), string type = default(string), CorsRules cors = default(CorsRules), string defaultServiceVersion = default(string), DeleteRetentionPolicy deleteRetentionPolicy = default(DeleteRetentionPolicy)) + /// Automatic Snapshot is + /// enabled if set to true. + public BlobServiceProperties(string id = default(string), string name = default(string), string type = default(string), CorsRules cors = default(CorsRules), string defaultServiceVersion = default(string), DeleteRetentionPolicy deleteRetentionPolicy = default(DeleteRetentionPolicy), bool? automaticSnapshotPolicyEnabled = default(bool?)) : base(id, name, type) { Cors = cors; DefaultServiceVersion = defaultServiceVersion; DeleteRetentionPolicy = deleteRetentionPolicy; + AutomaticSnapshotPolicyEnabled = automaticSnapshotPolicyEnabled; CustomInit(); } @@ -87,6 +90,12 @@ public BlobServiceProperties() [JsonProperty(PropertyName = "properties.deleteRetentionPolicy")] public DeleteRetentionPolicy DeleteRetentionPolicy { get; set; } + /// + /// Gets or sets automatic Snapshot is enabled if set to true. + /// + [JsonProperty(PropertyName = "properties.automaticSnapshotPolicyEnabled")] + public bool? AutomaticSnapshotPolicyEnabled { get; set; } + /// /// Validate the object. /// diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/Kind.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/Kind.cs index 085fe1821d4b1..20ef5fd28012c 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/Kind.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/Models/Kind.cs @@ -10,69 +10,16 @@ namespace Microsoft.Azure.Management.Storage.Models { - using Newtonsoft.Json; - using Newtonsoft.Json.Converters; - using System.Runtime; - using System.Runtime.Serialization; /// /// Defines values for Kind. /// - [JsonConverter(typeof(StringEnumConverter))] - public enum Kind + public static class Kind { - [EnumMember(Value = "Storage")] - Storage, - [EnumMember(Value = "StorageV2")] - StorageV2, - [EnumMember(Value = "BlobStorage")] - BlobStorage, - [EnumMember(Value = "FileStorage")] - FileStorage, - [EnumMember(Value = "BlockBlobStorage")] - BlockBlobStorage - } - internal static class KindEnumExtension - { - internal static string ToSerializedValue(this Kind? value) - { - return value == null ? null : ((Kind)value).ToSerializedValue(); - } - - internal static string ToSerializedValue(this Kind value) - { - switch( value ) - { - case Kind.Storage: - return "Storage"; - case Kind.StorageV2: - return "StorageV2"; - case Kind.BlobStorage: - return "BlobStorage"; - case Kind.FileStorage: - return "FileStorage"; - case Kind.BlockBlobStorage: - return "BlockBlobStorage"; - } - return null; - } - - internal static Kind? ParseKind(this string value) - { - switch( value ) - { - case "Storage": - return Kind.Storage; - case "StorageV2": - return Kind.StorageV2; - case "BlobStorage": - return Kind.BlobStorage; - case "FileStorage": - return Kind.FileStorage; - case "BlockBlobStorage": - return Kind.BlockBlobStorage; - } - return null; - } + public const string Storage = "Storage"; + public const string StorageV2 = "StorageV2"; + public const string BlobStorage = "BlobStorage"; + public const string FileStorage = "FileStorage"; + public const string BlockBlobStorage = "BlockBlobStorage"; } } diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerRequest.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerRequest.cs deleted file mode 100644 index 3388537e82042..0000000000000 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerRequest.cs +++ /dev/null @@ -1,113 +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 Microsoft.Rest; - using Newtonsoft.Json; - using System.Linq; - - /// - /// Lease Container request schema. - /// - public partial class LeaseContainerRequest - { - /// - /// Initializes a new instance of the LeaseContainerRequest class. - /// - public LeaseContainerRequest() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the LeaseContainerRequest class. - /// - /// Specifies the lease action. Can be one of the - /// available actions. Possible values include: 'Acquire', 'Renew', - /// 'Change', 'Release', 'Break' - /// Identifies the lease. Can be specified in any - /// valid GUID string format. - /// Optional. For a break action, proposed - /// duration the lease should continue before it is broken, in seconds, - /// between 0 and 60. - /// Required for acquire. Specifies the - /// duration of the lease, in seconds, or negative one (-1) for a lease - /// that never expires. - /// Optional for acquire, required for - /// change. Proposed lease ID, in a GUID string format. - public LeaseContainerRequest(string action, string leaseId = default(string), int? breakPeriod = default(int?), int? leaseDuration = default(int?), string proposedLeaseId = default(string)) - { - Action = action; - LeaseId = leaseId; - BreakPeriod = breakPeriod; - LeaseDuration = leaseDuration; - ProposedLeaseId = proposedLeaseId; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets specifies the lease action. Can be one of the - /// available actions. Possible values include: 'Acquire', 'Renew', - /// 'Change', 'Release', 'Break' - /// - [JsonProperty(PropertyName = "Action")] - public string Action { get; set; } - - /// - /// Gets or sets identifies the lease. Can be specified in any valid - /// GUID string format. - /// - [JsonProperty(PropertyName = "LeaseId")] - public string LeaseId { get; set; } - - /// - /// Gets or sets optional. For a break action, proposed duration the - /// lease should continue before it is broken, in seconds, between 0 - /// and 60. - /// - [JsonProperty(PropertyName = "BreakPeriod")] - public int? BreakPeriod { get; set; } - - /// - /// Gets or sets required for acquire. Specifies the duration of the - /// lease, in seconds, or negative one (-1) for a lease that never - /// expires. - /// - [JsonProperty(PropertyName = "LeaseDuration")] - public int? LeaseDuration { get; set; } - - /// - /// Gets or sets optional for acquire, required for change. Proposed - /// lease ID, in a GUID string format. - /// - [JsonProperty(PropertyName = "ProposedLeaseId")] - public string ProposedLeaseId { get; set; } - - /// - /// Validate the object. - /// - /// - /// Thrown if validation fails - /// - public virtual void Validate() - { - if (Action == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "Action"); - } - } - } -} diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerResponse.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerResponse.cs deleted file mode 100644 index d27d66745d2d3..0000000000000 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/LeaseContainerResponse.cs +++ /dev/null @@ -1,65 +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.Linq; - - /// - /// Lease Container response schema. - /// - public partial class LeaseContainerResponse - { - /// - /// Initializes a new instance of the LeaseContainerResponse class. - /// - public LeaseContainerResponse() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the LeaseContainerResponse class. - /// - /// Returned unique lease ID that must be - /// included with any request to delete the container, or to renew, - /// change, or release the lease. - /// Approximate time remaining in the - /// lease period, in seconds. - public LeaseContainerResponse(string leaseId = default(string), string leaseTimeSeconds = default(string)) - { - LeaseId = leaseId; - LeaseTimeSeconds = leaseTimeSeconds; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets returned unique lease ID that must be included with - /// any request to delete the container, or to renew, change, or - /// release the lease. - /// - [JsonProperty(PropertyName = "LeaseId")] - public string LeaseId { get; set; } - - /// - /// Gets or sets approximate time remaining in the lease period, in - /// seconds. - /// - [JsonProperty(PropertyName = "LeaseTimeSeconds")] - public string LeaseTimeSeconds { get; set; } - - } -} diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/Sku.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/Sku.cs index bb9bb21c885b6..191aa99584c4d 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/Sku.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/Models/Sku.cs @@ -10,6 +10,7 @@ namespace Microsoft.Azure.Management.Storage.Models { + using Microsoft.Rest; using Newtonsoft.Json; using System.Collections; using System.Collections.Generic; @@ -35,7 +36,8 @@ public Sku() /// creation; optional for update. Note that in older versions, SKU /// name was called accountType. Possible values include: /// 'Standard_LRS', 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', - /// 'Premium_LRS', 'Premium_ZRS' + /// 'Premium_LRS', 'Premium_ZRS', 'Standard_GZRS', + /// 'Standard_RAGZRS' /// Gets the SKU tier. This is based on the SKU /// name. Possible values include: 'Standard', 'Premium' /// The type of the resource, usually it is @@ -51,7 +53,7 @@ public Sku() /// notification, etc. /// The restrictions because of which SKU /// cannot be used. This is empty if there are no restrictions. - public Sku(SkuName name, SkuTier? tier = default(SkuTier?), string resourceType = default(string), Kind? kind = default(Kind?), IList locations = default(IList), IList capabilities = default(IList), IList restrictions = default(IList)) + public Sku(string name, SkuTier? tier = default(SkuTier?), string resourceType = default(string), string kind = default(string), IList locations = default(IList), IList capabilities = default(IList), IList restrictions = default(IList)) { Name = name; Tier = tier; @@ -73,10 +75,10 @@ public Sku() /// for update. Note that in older versions, SKU name was called /// accountType. Possible values include: 'Standard_LRS', /// 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', - /// 'Premium_ZRS' + /// 'Premium_ZRS', 'Standard_GZRS', 'Standard_RAGZRS' /// [JsonProperty(PropertyName = "name")] - public SkuName Name { get; set; } + public string Name { get; set; } /// /// Gets the SKU tier. This is based on the SKU name. Possible values @@ -97,7 +99,7 @@ public Sku() /// 'BlockBlobStorage' /// [JsonProperty(PropertyName = "kind")] - public Kind? Kind { get; private set; } + public string Kind { get; private set; } /// /// Gets the set of locations that the SKU is available. This will be @@ -124,11 +126,15 @@ public Sku() /// /// Validate the object. /// - /// + /// /// Thrown if validation fails /// public virtual void Validate() { + if (Name == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Name"); + } } } } diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/SkuName.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/SkuName.cs index 5a1216e25f3c1..bb05fc83241b5 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/SkuName.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/Models/SkuName.cs @@ -10,75 +10,19 @@ namespace Microsoft.Azure.Management.Storage.Models { - using Newtonsoft.Json; - using Newtonsoft.Json.Converters; - using System.Runtime; - using System.Runtime.Serialization; /// /// Defines values for SkuName. /// - [JsonConverter(typeof(StringEnumConverter))] - public enum SkuName + public static class SkuName { - [EnumMember(Value = "Standard_LRS")] - StandardLRS, - [EnumMember(Value = "Standard_GRS")] - StandardGRS, - [EnumMember(Value = "Standard_RAGRS")] - StandardRAGRS, - [EnumMember(Value = "Standard_ZRS")] - StandardZRS, - [EnumMember(Value = "Premium_LRS")] - PremiumLRS, - [EnumMember(Value = "Premium_ZRS")] - PremiumZRS - } - internal static class SkuNameEnumExtension - { - internal static string ToSerializedValue(this SkuName? value) - { - return value == null ? null : ((SkuName)value).ToSerializedValue(); - } - - internal static string ToSerializedValue(this SkuName value) - { - switch( value ) - { - case SkuName.StandardLRS: - return "Standard_LRS"; - case SkuName.StandardGRS: - return "Standard_GRS"; - case SkuName.StandardRAGRS: - return "Standard_RAGRS"; - case SkuName.StandardZRS: - return "Standard_ZRS"; - case SkuName.PremiumLRS: - return "Premium_LRS"; - case SkuName.PremiumZRS: - return "Premium_ZRS"; - } - return null; - } - - internal static SkuName? ParseSkuName(this string value) - { - switch( value ) - { - case "Standard_LRS": - return SkuName.StandardLRS; - case "Standard_GRS": - return SkuName.StandardGRS; - case "Standard_RAGRS": - return SkuName.StandardRAGRS; - case "Standard_ZRS": - return SkuName.StandardZRS; - case "Premium_LRS": - return SkuName.PremiumLRS; - case "Premium_ZRS": - return SkuName.PremiumZRS; - } - return null; - } + public const string StandardLRS = "Standard_LRS"; + public const string StandardGRS = "Standard_GRS"; + public const string StandardRAGRS = "Standard_RAGRS"; + public const string StandardZRS = "Standard_ZRS"; + public const string PremiumLRS = "Premium_LRS"; + public const string PremiumZRS = "Premium_ZRS"; + public const string StandardGZRS = "Standard_GZRS"; + public const string StandardRAGZRS = "Standard_RAGZRS"; } } diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccount.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccount.cs index 46ee6b1ca443d..17dbaa76ea4f0 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccount.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccount.cs @@ -97,7 +97,7 @@ public StorageAccount() /// Geo Replication Stats /// If the failover is in progress, /// the value will be true, otherwise, it will be null. - public StorageAccount(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary tags = default(IDictionary), Sku sku = default(Sku), Kind? kind = default(Kind?), Identity identity = default(Identity), 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), Endpoints secondaryEndpoints = default(Endpoints), Encryption encryption = default(Encryption), AccessTier? accessTier = default(AccessTier?), bool? enableAzureFilesAadIntegration = default(bool?), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), bool? isHnsEnabled = default(bool?), GeoReplicationStats geoReplicationStats = default(GeoReplicationStats), bool? failoverInProgress = default(bool?)) + 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), 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), Endpoints secondaryEndpoints = default(Endpoints), Encryption encryption = default(Encryption), AccessTier? accessTier = default(AccessTier?), bool? enableAzureFilesAadIntegration = default(bool?), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), bool? isHnsEnabled = default(bool?), GeoReplicationStats geoReplicationStats = default(GeoReplicationStats), bool? failoverInProgress = default(bool?)) : base(location, id, name, type, tags) { Sku = sku; @@ -140,7 +140,7 @@ public StorageAccount() /// 'BlobStorage', 'FileStorage', 'BlockBlobStorage' /// [JsonProperty(PropertyName = "kind")] - public Kind? Kind { get; private set; } + public string Kind { get; private set; } /// /// Gets or sets the identity of the resource. diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountCreateParameters.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountCreateParameters.cs index 912c8b6089755..9df6f31fc3251 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountCreateParameters.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountCreateParameters.cs @@ -71,7 +71,7 @@ public StorageAccountCreateParameters() /// storage service if sets to true. /// Account HierarchicalNamespace enabled if /// sets to true. - public StorageAccountCreateParameters(Sku sku, Kind kind, string location, IDictionary tags = default(IDictionary), Identity identity = default(Identity), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), AccessTier? accessTier = default(AccessTier?), bool? enableAzureFilesAadIntegration = default(bool?), bool? enableHttpsTrafficOnly = default(bool?), bool? isHnsEnabled = default(bool?)) + public StorageAccountCreateParameters(Sku sku, string kind, string location, IDictionary tags = default(IDictionary), Identity identity = default(Identity), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), AccessTier? accessTier = default(AccessTier?), bool? enableAzureFilesAadIntegration = default(bool?), bool? enableHttpsTrafficOnly = default(bool?), bool? isHnsEnabled = default(bool?)) { Sku = sku; Kind = kind; @@ -105,7 +105,7 @@ public StorageAccountCreateParameters() /// 'FileStorage', 'BlockBlobStorage' /// [JsonProperty(PropertyName = "kind")] - public Kind Kind { get; set; } + public string Kind { get; set; } /// /// Gets or sets required. Gets or sets the location of the resource. @@ -197,6 +197,10 @@ public virtual void Validate() { throw new ValidationException(ValidationRules.CannotBeNull, "Sku"); } + if (Kind == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Kind"); + } if (Location == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Location"); diff --git a/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountUpdateParameters.cs b/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountUpdateParameters.cs index d05744d54e736..573e5ed255bf4 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountUpdateParameters.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/Models/StorageAccountUpdateParameters.cs @@ -67,7 +67,7 @@ public StorageAccountUpdateParameters() /// 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), AccessTier? accessTier = default(AccessTier?), bool? enableAzureFilesAadIntegration = default(bool?), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), Kind? kind = default(Kind?)) + public StorageAccountUpdateParameters(Sku sku = default(Sku), IDictionary tags = default(IDictionary), Identity identity = default(Identity), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), AccessTier? accessTier = default(AccessTier?), bool? enableAzureFilesAadIntegration = default(bool?), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), string kind = default(string)) { Sku = sku; Tags = tags; @@ -162,7 +162,7 @@ public StorageAccountUpdateParameters() /// 'BlockBlobStorage' /// [JsonProperty(PropertyName = "kind")] - public Kind? Kind { get; set; } + public string Kind { get; set; } /// /// Validate the object. diff --git a/src/SDKs/Storage/Management.Storage/Generated/SdkInfo_StorageManagementClient.cs b/src/SDKs/Storage/Management.Storage/Generated/SdkInfo_StorageManagementClient.cs index 2bc07f4a70036..5b117f16b1e15 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/SdkInfo_StorageManagementClient.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/SdkInfo_StorageManagementClient.cs @@ -19,13 +19,13 @@ public static IEnumerable> ApiInfo_StorageManageme { return new Tuple[] { - new Tuple("Storage", "BlobContainers", "2018-11-01"), - new Tuple("Storage", "BlobServices", "2018-11-01"), - new Tuple("Storage", "ManagementPolicies", "2018-11-01"), - new Tuple("Storage", "Operations", "2018-11-01"), - new Tuple("Storage", "Skus", "2018-11-01"), - new Tuple("Storage", "StorageAccounts", "2018-11-01"), - new Tuple("Storage", "Usages", "2018-11-01"), + new Tuple("Storage", "BlobContainers", "2019-04-01"), + new Tuple("Storage", "BlobServices", "2019-04-01"), + new Tuple("Storage", "ManagementPolicies", "2019-04-01"), + new Tuple("Storage", "Operations", "2019-04-01"), + new Tuple("Storage", "Skus", "2019-04-01"), + new Tuple("Storage", "StorageAccounts", "2019-04-01"), + new Tuple("Storage", "Usages", "2019-04-01"), }.AsEnumerable(); } } diff --git a/src/SDKs/Storage/Management.Storage/Generated/StorageManagementClient.cs b/src/SDKs/Storage/Management.Storage/Generated/StorageManagementClient.cs index c7f19bdb5cb44..52c34d78383d5 100644 --- a/src/SDKs/Storage/Management.Storage/Generated/StorageManagementClient.cs +++ b/src/SDKs/Storage/Management.Storage/Generated/StorageManagementClient.cs @@ -358,7 +358,7 @@ private void Initialize() BlobServices = new BlobServicesOperations(this); BlobContainers = new BlobContainersOperations(this); BaseUri = new System.Uri("https://management.azure.com"); - ApiVersion = "2018-11-01"; + ApiVersion = "2019-04-01"; AcceptLanguage = "en-US"; LongRunningOperationRetryTimeout = 30; GenerateClientRequestId = true;