/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (Sku == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Sku"); } if (Location == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Location"); } if (Sku != null) { Sku.Validate(); } if (CustomDomain != null) { CustomDomain.Validate(); } if (Encryption != null) { Encryption.Validate(); } if (NetworkRuleSet != null) { NetworkRuleSet.Validate(); } }
/// <summary> /// Initializes a new instance of the StorageAccountUpdateParameters /// class. /// </summary> /// <param name="sku">Gets or sets the SKU name. Note that the SKU name /// cannot be updated to Standard_ZRS or Premium_LRS, nor can accounts /// of those sku names be updated to any other value.</param> /// <param name="tags">Gets or sets a list of key value pairs that /// describe the resource. These tags can be used in viewing and /// grouping this resource (across resource groups). A maximum of 15 /// tags can be provided for a resource. Each tag must have a key no /// greater in length than 128 characters and a value no greater in /// length than 256 characters.</param> /// <param name="identity">The identity of the resource.</param> /// <param name="customDomain">Custom domain assigned to the storage /// account by the user. Name is the CNAME source. Only one custom /// domain is supported per storage account at this time. To clear the /// existing custom domain, use an empty string for the custom domain /// name property.</param> /// <param name="encryption">Provides the encryption settings on the /// account. The default setting is unencrypted.</param> /// <param name="accessTier">Required for storage accounts where kind = /// BlobStorage. The access tier used for billing. Possible values /// include: 'Hot', 'Cool'</param> /// <param name="enableHttpsTrafficOnly">Allows https traffic only to /// storage service if sets to true.</param> /// <param name="networkRuleSet">Network rule set</param> /// <param name="kind">Optional. Indicates the type of storage account. /// Currently only StorageV2 value supported by server. Possible values /// include: 'Storage', 'StorageV2', 'BlobStorage'</param> public StorageAccountUpdateParameters(Sku sku = default(Sku), IDictionary <string, string> tags = default(IDictionary <string, string>), Identity identity = default(Identity), CustomDomain customDomain = default(CustomDomain), Encryption encryption = default(Encryption), AccessTier?accessTier = default(AccessTier?), bool?enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), Kind?kind = default(Kind?)) { Sku = sku; Tags = tags; Identity = identity; CustomDomain = customDomain; Encryption = encryption; AccessTier = accessTier; EnableHttpsTrafficOnly = enableHttpsTrafficOnly; NetworkRuleSet = networkRuleSet; Kind = kind; CustomInit(); }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (Sku != null) { Sku.Validate(); } if (CustomDomain != null) { CustomDomain.Validate(); } if (Encryption != null) { Encryption.Validate(); } if (NetworkRuleSet != null) { NetworkRuleSet.Validate(); } }
/// <summary> /// Initializes a new instance of the StorageAccount class. /// </summary> /// <param name="id">Resource Id</param> /// <param name="name">Resource name</param> /// <param name="type">Resource type</param> /// <param name="location">Resource location</param> /// <param name="tags">Tags assigned to a resource; can be used for /// viewing and grouping a resource (across resource groups).</param> /// <param name="sku">Gets the SKU.</param> /// <param name="kind">Gets the Kind. Possible values include: /// 'Storage', 'StorageV2', 'BlobStorage'</param> /// <param name="identity">The identity of the resource.</param> /// <param name="provisioningState">Gets the status of the storage /// account at the time the operation was called. Possible values /// include: 'Creating', 'ResolvingDNS', 'Succeeded'</param> /// <param name="primaryEndpoints">Gets the URLs that are used to /// perform a retrieval of a public blob, queue, or table object. Note /// that Standard_ZRS and Premium_LRS accounts only return the blob /// endpoint.</param> /// <param name="primaryLocation">Gets the location of the primary data /// center for the storage account.</param> /// <param name="statusOfPrimary">Gets the status indicating whether /// the primary location of the storage account is available or /// unavailable. Possible values include: 'available', /// 'unavailable'</param> /// <param name="lastGeoFailoverTime">Gets the timestamp of the most /// recent instance of a failover to the secondary location. Only the /// most recent timestamp is retained. This element is not returned if /// there has never been a failover instance. Only available if the /// accountType is Standard_GRS or Standard_RAGRS.</param> /// <param name="secondaryLocation">Gets the location of the /// geo-replicated secondary for the storage account. Only available if /// the accountType is Standard_GRS or Standard_RAGRS.</param> /// <param name="statusOfSecondary">Gets the status indicating whether /// the secondary location of the storage account is available or /// unavailable. Only available if the SKU name is Standard_GRS or /// Standard_RAGRS. Possible values include: 'available', /// 'unavailable'</param> /// <param name="creationTime">Gets the creation date and time of the /// storage account in UTC.</param> /// <param name="customDomain">Gets the custom domain the user assigned /// to this storage account.</param> /// <param name="secondaryEndpoints">Gets the URLs that are used to /// perform a retrieval of a public blob, queue, or table object from /// the secondary location of the storage account. Only available if /// the SKU name is Standard_RAGRS.</param> /// <param name="encryption">Gets the encryption settings on the /// account. If unspecified, the account is unencrypted.</param> /// <param name="accessTier">Required for storage accounts where kind = /// BlobStorage. The access tier used for billing. Possible values /// include: 'Hot', 'Cool'</param> /// <param name="enableHttpsTrafficOnly">Allows https traffic only to /// storage service if sets to true.</param> /// <param name="networkRuleSet">Network rule set</param> public StorageAccount(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), 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?enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet)) : base(id, name, type, location, tags) { Sku = sku; Kind = kind; Identity = identity; ProvisioningState = provisioningState; PrimaryEndpoints = primaryEndpoints; PrimaryLocation = primaryLocation; StatusOfPrimary = statusOfPrimary; LastGeoFailoverTime = lastGeoFailoverTime; SecondaryLocation = secondaryLocation; StatusOfSecondary = statusOfSecondary; CreationTime = creationTime; CustomDomain = customDomain; SecondaryEndpoints = secondaryEndpoints; Encryption = encryption; AccessTier = accessTier; EnableHttpsTrafficOnly = enableHttpsTrafficOnly; NetworkRuleSet = networkRuleSet; CustomInit(); }