/// <summary>
 /// Initializes a new instance of the StorageAccountInner class.
 /// </summary>
 /// <param name="sku">Gets the SKU.</param>
 /// <param name="kind">Gets the Kind. Possible values include:
 /// 'Storage', 'BlobStorage'</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>
 public StorageAccountInner(string location = default(string), string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), Kind?kind = default(Kind?), 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?))
     : base(location, id, name, type, tags)
 {
     Sku  = sku;
     Kind = kind;
     ProvisioningState   = provisioningState;
     PrimaryEndpoints    = primaryEndpoints;
     PrimaryLocation     = primaryLocation;
     StatusOfPrimary     = statusOfPrimary;
     LastGeoFailoverTime = lastGeoFailoverTime;
     SecondaryLocation   = secondaryLocation;
     StatusOfSecondary   = statusOfSecondary;
     CreationTime        = creationTime;
     CustomDomain        = customDomain;
     SecondaryEndpoints  = secondaryEndpoints;
     Encryption          = encryption;
     AccessTier          = accessTier;
     CustomInit();
 }