/// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public virtual void Validate()
 {
     if (Sku != null)
     {
         Sku.Validate();
     }
     if (Identity != null)
     {
         Identity.Validate();
     }
     if (CustomDomain != null)
     {
         CustomDomain.Validate();
     }
     if (Encryption != null)
     {
         Encryption.Validate();
     }
     if (SasPolicy != null)
     {
         SasPolicy.Validate();
     }
     if (KeyPolicy != null)
     {
         KeyPolicy.Validate();
     }
     if (AzureFilesIdentityBasedAuthentication != null)
     {
         AzureFilesIdentityBasedAuthentication.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, Premium_LRS or Premium_ZRS, 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">Not applicable. Azure Storage encryption
 /// at rest is enabled by default for all storage accounts and cannot
 /// be disabled.</param>
 /// <param name="sasPolicy">SasPolicy assigned to the storage
 /// account.</param>
 /// <param name="keyPolicy">KeyPolicy assigned to the storage
 /// account.</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="azureFilesIdentityBasedAuthentication">Provides the
 /// identity based authentication settings for Azure Files.</param>
 /// <param name="enableHttpsTrafficOnly">Allows https traffic only to
 /// storage service if sets to true.</param>
 /// <param name="isSftpEnabled">Enables Secure File Transfer Protocol,
 /// if set to true</param>
 /// <param name="isLocalUserEnabled">Enables local users feature, if
 /// set to true</param>
 /// <param name="networkRuleSet">Network rule set</param>
 /// <param name="largeFileSharesState">Allow large file shares if sets
 /// to Enabled. It cannot be disabled once it is enabled. Possible
 /// values include: 'Disabled', 'Enabled'</param>
 /// <param name="routingPreference">Maintains information about the
 /// network routing choice opted by the user for data transfer</param>
 /// <param name="allowBlobPublicAccess">Allow or disallow public access
 /// to all blobs or containers in the storage account. The default
 /// interpretation is true for this property.</param>
 /// <param name="minimumTlsVersion">Set the minimum TLS version to be
 /// permitted on requests to storage. The default interpretation is TLS
 /// 1.0 for this property. Possible values include: 'TLS1_0', 'TLS1_1',
 /// 'TLS1_2'</param>
 /// <param name="allowSharedKeyAccess">Indicates whether the storage
 /// account permits requests to be authorized with the account access
 /// key via Shared Key. If false, then all requests, including shared
 /// access signatures, must be authorized with Azure Active Directory
 /// (Azure AD). The default value is null, which is equivalent to
 /// true.</param>
 /// <param name="allowCrossTenantReplication">Allow or disallow cross
 /// AAD tenant object replication. The default interpretation is true
 /// for this property.</param>
 /// <param name="defaultToOAuthAuthentication">A boolean flag which
 /// indicates whether the default authentication is OAuth or not. The
 /// default interpretation is false for this property.</param>
 /// <param name="publicNetworkAccess">Allow or disallow public network
 /// access to Storage Account. Value is optional but if passed in, must
 /// be 'Enabled' or 'Disabled'. Possible values include: 'Enabled',
 /// 'Disabled'</param>
 /// <param name="immutableStorageWithVersioning">The property is
 /// 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
 /// containers in the account by default.</param>
 /// <param name="allowedCopyScope">Restrict copy to and from Storage
 /// Accounts within an AAD tenant or with Private Links to the same
 /// VNet. Possible values include: 'PrivateLink', 'AAD'</param>
 /// <param name="kind">Optional. Indicates the type of storage account.
 /// Currently only StorageV2 value supported by server. Possible values
 /// include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage',
 /// 'BlockBlobStorage'</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), 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))
 {
     Sku          = sku;
     Tags         = tags;
     Identity     = identity;
     CustomDomain = customDomain;
     Encryption   = encryption;
     SasPolicy    = sasPolicy;
     KeyPolicy    = keyPolicy;
     AccessTier   = accessTier;
     AzureFilesIdentityBasedAuthentication = azureFilesIdentityBasedAuthentication;
     EnableHttpsTrafficOnly         = enableHttpsTrafficOnly;
     IsSftpEnabled                  = isSftpEnabled;
     IsLocalUserEnabled             = isLocalUserEnabled;
     NetworkRuleSet                 = networkRuleSet;
     LargeFileSharesState           = largeFileSharesState;
     RoutingPreference              = routingPreference;
     AllowBlobPublicAccess          = allowBlobPublicAccess;
     MinimumTlsVersion              = minimumTlsVersion;
     AllowSharedKeyAccess           = allowSharedKeyAccess;
     AllowCrossTenantReplication    = allowCrossTenantReplication;
     DefaultToOAuthAuthentication   = defaultToOAuthAuthentication;
     PublicNetworkAccess            = publicNetworkAccess;
     ImmutableStorageWithVersioning = immutableStorageWithVersioning;
     AllowedCopyScope               = allowedCopyScope;
     Kind = kind;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the StorageAccountCreateParameters
 /// class.
 /// </summary>
 /// <param name="sku">Required. Gets or sets the SKU name.</param>
 /// <param name="kind">Required. Indicates the type of storage account.
 /// Possible values include: 'Storage', 'StorageV2', 'BlobStorage',
 /// 'FileStorage', 'BlockBlobStorage'</param>
 /// <param name="location">Required. Gets or sets the location of the
 /// resource. This will be one of the supported and registered Azure
 /// Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo
 /// region of a resource cannot be changed once it is created, but if
 /// an identical geo region is specified on update, the request will
 /// succeed.</param>
 /// <param name="extendedLocation">Optional. Set the extended location
 /// of the resource. If not set, the storage account will be created in
 /// Azure main region. Otherwise it will be created in the specified
 /// extended location</param>
 /// <param name="tags">Gets or sets a list of key value pairs that
 /// describe the resource. These tags can be used for 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 with
 /// a length no greater than 128 characters and a value with a length
 /// no greater than 256 characters.</param>
 /// <param name="identity">The identity of the resource.</param>
 /// <param name="sasPolicy">SasPolicy assigned to the storage
 /// account.</param>
 /// <param name="keyPolicy">KeyPolicy assigned to the storage
 /// account.</param>
 /// <param name="customDomain">User domain assigned to the storage
 /// account. Name is the CNAME source. Only one custom domain is
 /// supported per storage account at this time. To clear the existing
 /// custom domain, use an empty string for the custom domain name
 /// property.</param>
 /// <param name="encryption">Not applicable. Azure Storage encryption
 /// is enabled for all storage accounts and cannot be disabled.</param>
 /// <param name="networkRuleSet">Network rule set</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="azureFilesIdentityBasedAuthentication">Provides the
 /// identity based authentication settings for Azure Files.</param>
 /// <param name="enableHttpsTrafficOnly">Allows https traffic only to
 /// storage service if sets to true. The default value is true since
 /// API version 2019-04-01.</param>
 /// <param name="isHnsEnabled">Account HierarchicalNamespace enabled if
 /// sets to true.</param>
 /// <param name="largeFileSharesState">Allow large file shares if sets
 /// to Enabled. It cannot be disabled once it is enabled. Possible
 /// values include: 'Disabled', 'Enabled'</param>
 /// <param name="routingPreference">Maintains information about the
 /// network routing choice opted by the user for data transfer</param>
 /// <param name="allowBlobPublicAccess">Allow or disallow public access
 /// to all blobs or containers in the storage account. The default
 /// interpretation is true for this property.</param>
 /// <param name="minimumTlsVersion">Set the minimum TLS version to be
 /// permitted on requests to storage. The default interpretation is TLS
 /// 1.0 for this property. Possible values include: 'TLS1_0', 'TLS1_1',
 /// 'TLS1_2'</param>
 /// <param name="allowSharedKeyAccess">Indicates whether the storage
 /// account permits requests to be authorized with the account access
 /// key via Shared Key. If false, then all requests, including shared
 /// access signatures, must be authorized with Azure Active Directory
 /// (Azure AD). The default value is null, which is equivalent to
 /// true.</param>
 /// <param name="enableNfsV3">NFS 3.0 protocol support enabled if set
 /// to true.</param>
 /// <param name="allowCrossTenantReplication">Allow or disallow cross
 /// AAD tenant object replication. The default interpretation is true
 /// for this property.</param>
 public StorageAccountCreateParameters(Sku sku, string kind, string location, ExtendedLocation extendedLocation = default(ExtendedLocation), IDictionary <string, string> tags = default(IDictionary <string, string>), Identity identity = default(Identity), 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?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?))
 {
     Sku              = sku;
     Kind             = kind;
     Location         = location;
     ExtendedLocation = extendedLocation;
     Tags             = tags;
     Identity         = identity;
     SasPolicy        = sasPolicy;
     KeyPolicy        = keyPolicy;
     CustomDomain     = customDomain;
     Encryption       = encryption;
     NetworkRuleSet   = networkRuleSet;
     AccessTier       = accessTier;
     AzureFilesIdentityBasedAuthentication = azureFilesIdentityBasedAuthentication;
     EnableHttpsTrafficOnly      = enableHttpsTrafficOnly;
     IsHnsEnabled                = isHnsEnabled;
     LargeFileSharesState        = largeFileSharesState;
     RoutingPreference           = routingPreference;
     AllowBlobPublicAccess       = allowBlobPublicAccess;
     MinimumTlsVersion           = minimumTlsVersion;
     AllowSharedKeyAccess        = allowSharedKeyAccess;
     EnableNfsV3                 = enableNfsV3;
     AllowCrossTenantReplication = allowCrossTenantReplication;
     CustomInit();
 }
Пример #4
0
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public override void Validate()
 {
     base.Validate();
     if (Sku != null)
     {
         Sku.Validate();
     }
     if (Identity != null)
     {
         Identity.Validate();
     }
     if (CustomDomain != null)
     {
         CustomDomain.Validate();
     }
     if (SasPolicy != null)
     {
         SasPolicy.Validate();
     }
     if (KeyPolicy != null)
     {
         KeyPolicy.Validate();
     }
     if (Encryption != null)
     {
         Encryption.Validate();
     }
     if (AzureFilesIdentityBasedAuthentication != null)
     {
         AzureFilesIdentityBasedAuthentication.Validate();
     }
     if (NetworkRuleSet != null)
     {
         NetworkRuleSet.Validate();
     }
     if (PrivateEndpointConnections != null)
     {
         foreach (var element in PrivateEndpointConnections)
         {
             if (element != null)
             {
                 element.Validate();
             }
         }
     }
     if (BlobRestoreStatus != null)
     {
         BlobRestoreStatus.Validate();
     }
     if (ImmutableStorageWithVersioning != null)
     {
         ImmutableStorageWithVersioning.Validate();
     }
 }
 /// <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 (Kind == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "Kind");
     }
     if (Location == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "Location");
     }
     if (Sku != null)
     {
         Sku.Validate();
     }
     if (Identity != null)
     {
         Identity.Validate();
     }
     if (SasPolicy != null)
     {
         SasPolicy.Validate();
     }
     if (KeyPolicy != null)
     {
         KeyPolicy.Validate();
     }
     if (CustomDomain != null)
     {
         CustomDomain.Validate();
     }
     if (Encryption != null)
     {
         Encryption.Validate();
     }
     if (NetworkRuleSet != null)
     {
         NetworkRuleSet.Validate();
     }
     if (AzureFilesIdentityBasedAuthentication != null)
     {
         AzureFilesIdentityBasedAuthentication.Validate();
     }
     if (ImmutableStorageWithVersioning != null)
     {
         ImmutableStorageWithVersioning.Validate();
     }
 }
 /// <summary>
 /// Initializes a new instance of the StorageAccount class.
 /// </summary>
 /// <param name="location">The geo-location where the resource
 /// lives</param>
 /// <param name="id">Fully qualified resource ID for the resource. Ex -
 /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}</param>
 /// <param name="name">The name of the resource</param>
 /// <param name="type">The type of the resource. E.g.
 /// "Microsoft.Compute/virtualMachines" or
 /// "Microsoft.Storage/storageAccounts"</param>
 /// <param name="tags">Resource tags.</param>
 /// <param name="sku">Gets the SKU.</param>
 /// <param name="kind">Gets the Kind. Possible values include:
 /// 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage',
 /// 'BlockBlobStorage'</param>
 /// <param name="identity">The identity of the resource.</param>
 /// <param name="extendedLocation">The extendedLocation 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="sasPolicy">SasPolicy assigned to the storage
 /// account.</param>
 /// <param name="keyPolicy">KeyPolicy assigned to the storage
 /// account.</param>
 /// <param name="keyCreationTime">Storage account keys creation
 /// time.</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">Encryption settings to be used for
 /// server-side encryption for the storage account.</param>
 /// <param name="accessTier">Required for storage accounts where kind =
 /// 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'</param>
 /// <param name="azureFilesIdentityBasedAuthentication">Provides the
 /// identity based authentication settings for Azure Files.</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="isSftpEnabled">Enables Secure File Transfer Protocol,
 /// if set to true</param>
 /// <param name="isLocalUserEnabled">Enables local users feature, if
 /// set to true</param>
 /// <param name="isHnsEnabled">Account HierarchicalNamespace enabled if
 /// sets to true.</param>
 /// <param name="geoReplicationStats">Geo Replication Stats</param>
 /// <param name="failoverInProgress">If the failover is in progress,
 /// the value will be true, otherwise, it will be null.</param>
 /// <param name="largeFileSharesState">Allow large file shares if sets
 /// to Enabled. It cannot be disabled once it is enabled. Possible
 /// values include: 'Disabled', 'Enabled'</param>
 /// <param name="privateEndpointConnections">List of private endpoint
 /// connection associated with the specified storage account</param>
 /// <param name="routingPreference">Maintains information about the
 /// network routing choice opted by the user for data transfer</param>
 /// <param name="blobRestoreStatus">Blob restore status</param>
 /// <param name="allowBlobPublicAccess">Allow or disallow public access
 /// to all blobs or containers in the storage account. The default
 /// interpretation is true for this property.</param>
 /// <param name="minimumTlsVersion">Set the minimum TLS version to be
 /// permitted on requests to storage. The default interpretation is TLS
 /// 1.0 for this property. Possible values include: 'TLS1_0', 'TLS1_1',
 /// 'TLS1_2'</param>
 /// <param name="allowSharedKeyAccess">Indicates whether the storage
 /// account permits requests to be authorized with the account access
 /// key via Shared Key. If false, then all requests, including shared
 /// access signatures, must be authorized with Azure Active Directory
 /// (Azure AD). The default value is null, which is equivalent to
 /// true.</param>
 /// <param name="enableNfsV3">NFS 3.0 protocol support enabled if set
 /// to true.</param>
 /// <param name="allowCrossTenantReplication">Allow or disallow cross
 /// AAD tenant object replication. The default interpretation is true
 /// for this property.</param>
 /// <param name="defaultToOAuthAuthentication">A boolean flag which
 /// indicates whether the default authentication is OAuth or not. The
 /// default interpretation is false for this property.</param>
 /// <param name="publicNetworkAccess">Allow or disallow public network
 /// access to Storage Account. Value is optional but if passed in, must
 /// be 'Enabled' or 'Disabled'. Possible values include: 'Enabled',
 /// 'Disabled'</param>
 /// <param name="immutableStorageWithVersioning">The property is
 /// 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
 /// containers in the account by default.</param>
 /// <param name="allowedCopyScope">Restrict copy to and from Storage
 /// Accounts within an AAD tenant or with Private Links to the same
 /// VNet. Possible values include: 'PrivateLink', 'AAD'</param>
 /// <param name="storageAccountSkuConversionStatus">This property is
 /// readOnly and is set by server during asynchronous storage account
 /// sku conversion operations.</param>
 /// <param name="dnsEndpointType">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'</param>
 public StorageAccount(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), 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 <PrivateEndpointConnection> privateEndpointConnections = default(IList <PrivateEndpointConnection>), 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;
     Kind                = kind;
     Identity            = identity;
     ExtendedLocation    = extendedLocation;
     ProvisioningState   = provisioningState;
     PrimaryEndpoints    = primaryEndpoints;
     PrimaryLocation     = primaryLocation;
     StatusOfPrimary     = statusOfPrimary;
     LastGeoFailoverTime = lastGeoFailoverTime;
     SecondaryLocation   = secondaryLocation;
     StatusOfSecondary   = statusOfSecondary;
     CreationTime        = creationTime;
     CustomDomain        = customDomain;
     SasPolicy           = sasPolicy;
     KeyPolicy           = keyPolicy;
     KeyCreationTime     = keyCreationTime;
     SecondaryEndpoints  = secondaryEndpoints;
     Encryption          = encryption;
     AccessTier          = accessTier;
     AzureFilesIdentityBasedAuthentication = azureFilesIdentityBasedAuthentication;
     EnableHttpsTrafficOnly     = enableHttpsTrafficOnly;
     NetworkRuleSet             = networkRuleSet;
     IsSftpEnabled              = isSftpEnabled;
     IsLocalUserEnabled         = isLocalUserEnabled;
     IsHnsEnabled               = isHnsEnabled;
     GeoReplicationStats        = geoReplicationStats;
     FailoverInProgress         = failoverInProgress;
     LargeFileSharesState       = largeFileSharesState;
     PrivateEndpointConnections = privateEndpointConnections;
     RoutingPreference          = routingPreference;
     BlobRestoreStatus          = blobRestoreStatus;
     AllowBlobPublicAccess      = allowBlobPublicAccess;
     MinimumTlsVersion          = minimumTlsVersion;
     AllowSharedKeyAccess       = allowSharedKeyAccess;
     EnableNfsV3 = enableNfsV3;
     AllowCrossTenantReplication    = allowCrossTenantReplication;
     DefaultToOAuthAuthentication   = defaultToOAuthAuthentication;
     PublicNetworkAccess            = publicNetworkAccess;
     ImmutableStorageWithVersioning = immutableStorageWithVersioning;
     AllowedCopyScope = allowedCopyScope;
     StorageAccountSkuConversionStatus = storageAccountSkuConversionStatus;
     DnsEndpointType = dnsEndpointType;
     CustomInit();
 }