/// <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 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(); }