--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.20.1 name: accounts.storage.azure.m.upbound.io spec: group: storage.azure.m.upbound.io names: categories: - crossplane - managed - azure kind: Account listKind: AccountList plural: accounts singular: account scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string - jsonPath: .status.conditions[?(@.type=='Ready')].status name: READY type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string - jsonPath: .metadata.creationTimestamp name: AGE type: date name: v1beta1 schema: openAPIV3Schema: description: Account is the Schema for the Accounts API. Manages a Azure Storage Account. properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: AccountSpec defines the desired state of Account properties: forProvider: properties: accessTier: description: Defines the access tier for BlobStorage, FileStorage and StorageV2 accounts. Valid options are Hot, Cool, Cold and Premium. Defaults to Hot. type: string accountKind: description: Defines the Kind of account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2. Defaults to StorageV2. type: string accountReplicationType: description: Defines the type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS and RAGZRS. Changing this forces a new resource to be created when types LRS, GRS and RAGRS are changed to ZRS, GZRS or RAGZRS and vice versa. type: string accountTier: description: Defines the Tier to use for this storage account. Valid options are Standard and Premium. For BlockBlobStorage and FileStorage accounts only Premium is valid. Changing this forces a new resource to be created. type: string allowNestedItemsToBePublic: description: Allow or disallow nested items within this Account to opt into being public. Defaults to true. type: boolean allowedCopyScope: description: Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. Possible values are AAD and PrivateLink. type: string azureFilesAuthentication: description: A azure_files_authentication block as defined below. properties: activeDirectory: description: A active_directory block as defined below. Required when directory_type is AD. properties: domainGuid: description: Specifies the domain GUID. type: string domainName: description: Specifies the primary domain that the AD DNS server is authoritative for. type: string domainSid: description: Specifies the security identifier (SID). This is required when directory_type is set to AD. type: string forestName: description: Specifies the Active Directory forest. This is required when directory_type is set to AD. type: string netbiosDomainName: description: Specifies the NetBIOS domain name. This is required when directory_type is set to AD. type: string storageSid: description: Specifies the security identifier (SID) for Azure Storage. This is required when directory_type is set to AD. type: string type: object defaultShareLevelPermission: description: Specifies the default share level permissions applied to all users. Possible values are StorageFileDataSmbShareReader, StorageFileDataSmbShareContributor, StorageFileDataSmbShareElevatedContributor, or None. Defaults to None. type: string directoryType: description: Specifies the directory service used. Possible values are AADDS, AD and AADKERB. type: string type: object blobProperties: description: A blob_properties block as defined below. properties: changeFeedEnabled: description: Is the blob service properties for change feed events enabled? Default to false. type: boolean changeFeedRetentionInDays: description: The duration of change feed events retention in days. The possible values are between 1 and 146000 days (400 years). Setting this to null (or omit this in the configuration file) indicates an infinite retention of the change feed. type: number containerDeleteRetentionPolicy: description: A container_delete_retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object corsRule: description: A cors_rule block as defined below. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array defaultServiceVersion: description: The API Version which should be used by default for requests to the Data Plane API if an incoming request doesn't specify an API Version. type: string deleteRetentionPolicy: description: A delete_retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number permanentDeleteEnabled: description: Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to false. type: boolean type: object lastAccessTimeEnabled: description: Is the last access time based tracking enabled? Default to false. type: boolean restorePolicy: description: A restore_policy block as defined below. This must be used together with delete_retention_policy set, versioning_enabled and change_feed_enabled set to true. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object versioningEnabled: description: Is versioning enabled? Default to false. type: boolean type: object crossTenantReplicationEnabled: description: Should cross Tenant replication be enabled? Defaults to false. type: boolean customDomain: description: A custom_domain block as documented below. properties: name: description: The Custom Domain Name to use for the Storage Account, which will be validated by Azure. type: string useSubdomain: description: Should the Custom Domain Name be validated by using indirect CNAME validation? type: boolean type: object customerManagedKey: description: A customer_managed_key block as documented below. properties: keyVaultKeyId: description: The ID of the Key Vault Key, supplying a version-less key ID will enable auto-rotation of this key. Exactly one of key_vault_key_id and managed_hsm_key_id may be specified. type: string managedHsmKeyId: description: The ID of the managed HSM Key. Exactly one of key_vault_key_id and managed_hsm_key_id may be specified. type: string userAssignedIdentityId: description: The ID of a user assigned identity. type: string type: object defaultToOauthAuthentication: description: Default to Azure Active Directory authorization in the Azure portal when accessing the Storage Account. The default value is false type: boolean dnsEndpointType: description: Specifies which DNS endpoint type to use. Possible values are Standard and AzureDnsZone. Defaults to Standard. Changing this forces a new resource to be created. type: string edgeZone: description: Specifies the Edge Zone within the Azure Region where this Storage Account should exist. Changing this forces a new Storage Account to be created. type: string httpsTrafficOnlyEnabled: description: Boolean flag which forces HTTPS if enabled, see here for more information. Defaults to true. type: boolean identity: description: An identity block as defined below. properties: identityIds: description: Specifies a list of User Assigned Managed Identity IDs to be assigned to this Storage Account. items: type: string type: array x-kubernetes-list-type: set type: description: Specifies the type of Managed Service Identity that should be configured on this Storage Account. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). type: string type: object immutabilityPolicy: description: An immutability_policy block as defined below. Changing this forces a new resource to be created. properties: allowProtectedAppendWrites: description: When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. type: boolean periodSinceCreationInDays: description: The immutability period for the blobs in the container since the policy creation, in days. type: number state: description: Defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted. type: string type: object infrastructureEncryptionEnabled: description: Is infrastructure encryption enabled? Changing this forces a new resource to be created. Defaults to false. type: boolean isHnsEnabled: description: Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 (see here for more information). Changing this forces a new resource to be created. type: boolean largeFileShareEnabled: description: Are Large File Shares Enabled? Defaults to false. type: boolean localUserEnabled: description: Is Local User Enabled? Defaults to true. type: boolean location: description: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. type: string minTlsVersion: description: The minimum supported TLS version for the storage account. Possible values are TLS1_0, TLS1_1, TLS1_2 and TLS1_3. Defaults to TLS1_2 for new storage accounts. type: string networkRules: description: A network_rules block as documented below. properties: bypass: description: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of Logging, Metrics, AzureServices, or None. items: type: string type: array x-kubernetes-list-type: set defaultAction: description: Specifies the default action of allow or deny when no other rules match. Valid options are Deny or Allow. type: string ipRules: description: List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. /31 CIDRs, /32 CIDRs, and Private IP address ranges (as defined in RFC 1918), are not allowed. items: type: string type: array x-kubernetes-list-type: set privateLinkAccess: description: One or more private_link_access block as defined below. items: properties: endpointResourceId: description: The ID of the Azure resource that should be allowed access to the target storage account. type: string endpointTenantId: description: The tenant id of the resource of the resource access rule to be granted access. Defaults to the current tenant id. type: string type: object type: array virtualNetworkSubnetIds: description: A list of resource ids for subnets. items: type: string type: array x-kubernetes-list-type: set virtualNetworkSubnetIdsRefs: description: References to Subnet in network to populate virtualNetworkSubnetIds. items: description: A NamespacedReference to a named object. properties: name: description: Name of the referenced object. type: string namespace: description: Namespace of the referenced object type: string policy: description: Policies for referencing. properties: resolution: default: Required description: |- Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved. enum: - Required - Optional type: string resolve: description: |- Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile. enum: - Always - IfNotPresent type: string type: object required: - name type: object type: array virtualNetworkSubnetIdsSelector: description: Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. properties: matchControllerRef: description: |- MatchControllerRef ensures an object with the same controller reference as the selecting object is selected. type: boolean matchLabels: additionalProperties: type: string description: MatchLabels ensures an object with matching labels is selected. type: object namespace: description: Namespace for the selector type: string policy: description: Policies for selection. properties: resolution: default: Required description: |- Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved. enum: - Required - Optional type: string resolve: description: |- Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile. enum: - Always - IfNotPresent type: string type: object type: object type: object nfsv3Enabled: description: Is NFSv3 protocol enabled? Changing this forces a new resource to be created. Defaults to false. type: boolean provisionedBillingModelVersion: description: Specifies the version of the provisioned billing model (e.g. when account_kind = "FileStorage" for Storage File). Possible value is V2. Changing this forces a new resource to be created. type: string publicNetworkAccessEnabled: description: Whether the public network access is enabled? Defaults to true. type: boolean queueEncryptionKeyType: description: The encryption type of the queue service. Possible values are Service and Account. Changing this forces a new resource to be created. Default value is Service. type: string queueProperties: description: A queue_properties block as defined below. properties: corsRule: description: A cors_rule block as defined above. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array hourMetrics: description: A hour_metrics block as defined below. properties: enabled: description: Indicates whether minute metrics are enabled for the Queue service. type: boolean includeApis: description: Indicates whether metrics should generate summary statistics for called API operations. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string type: object logging: description: A logging block as defined below. properties: delete: description: (Defaults to 1 hour) Used when deleting the Storage Account. type: boolean read: description: (Defaults to 5 minutes) Used when retrieving the Storage Account. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string write: description: Indicates whether all write requests should be logged. type: boolean type: object minuteMetrics: description: A minute_metrics block as defined below. properties: enabled: description: Indicates whether minute metrics are enabled for the Queue service. type: boolean includeApis: description: Indicates whether metrics should generate summary statistics for called API operations. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string type: object type: object resourceGroupName: description: The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. type: string resourceGroupNameRef: description: Reference to a ResourceGroup in azure to populate resourceGroupName. properties: name: description: Name of the referenced object. type: string namespace: description: Namespace of the referenced object type: string policy: description: Policies for referencing. properties: resolution: default: Required description: |- Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved. enum: - Required - Optional type: string resolve: description: |- Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile. enum: - Always - IfNotPresent type: string type: object required: - name type: object resourceGroupNameSelector: description: Selector for a ResourceGroup in azure to populate resourceGroupName. properties: matchControllerRef: description: |- MatchControllerRef ensures an object with the same controller reference as the selecting object is selected. type: boolean matchLabels: additionalProperties: type: string description: MatchLabels ensures an object with matching labels is selected. type: object namespace: description: Namespace for the selector type: string policy: description: Policies for selection. properties: resolution: default: Required description: |- Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved. enum: - Required - Optional type: string resolve: description: |- Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile. enum: - Always - IfNotPresent type: string type: object type: object routing: description: A routing block as defined below. properties: choice: description: Specifies the kind of network routing opted by the user. Possible values are InternetRouting and MicrosoftRouting. Defaults to MicrosoftRouting. type: string publishInternetEndpoints: description: Should internet routing storage endpoints be published? Defaults to false. type: boolean publishMicrosoftEndpoints: description: Should Microsoft routing storage endpoints be published? Defaults to false. type: boolean type: object sasPolicy: description: A sas_policy block as defined below. properties: expirationAction: description: The SAS expiration action. Possible values are Log and Block. Defaults to Log. type: string expirationPeriod: description: The SAS expiration period in format of DD.HH:MM:SS. type: string type: object sftpEnabled: description: Boolean, enable SFTP for the storage account type: boolean shareProperties: description: A share_properties block as defined below. properties: corsRule: description: A cors_rule block as defined below. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array retentionPolicy: description: A retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object smb: description: A smb block as defined below. properties: authenticationTypes: description: A set of SMB authentication methods. Possible values are NTLMv2, and Kerberos. items: type: string type: array x-kubernetes-list-type: set channelEncryptionType: description: A set of SMB channel encryption. Possible values are AES-128-CCM, AES-128-GCM, and AES-256-GCM. items: type: string type: array x-kubernetes-list-type: set kerberosTicketEncryptionType: description: A set of Kerberos ticket encryption. Possible values are RC4-HMAC, and AES-256. items: type: string type: array x-kubernetes-list-type: set multichannelEnabled: description: Indicates whether multichannel is enabled. Defaults to false. This is only supported on Premium storage accounts. type: boolean versions: description: A set of SMB protocol versions. Possible values are SMB2.1, SMB3.0, and SMB3.1.1. items: type: string type: array x-kubernetes-list-type: set type: object type: object sharedAccessKeyEnabled: description: 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). Defaults to true. type: boolean staticWebsite: description: A static_website block as defined below. properties: error404Document: description: The absolute path to a custom webpage that should be used when a request is made which does not correspond to an existing file. type: string indexDocument: description: The webpage that Azure Storage serves for requests to the root of a website or any subfolder. For example, index.html. The value is case-sensitive. type: string type: object tableEncryptionKeyType: description: The encryption type of the table service. Possible values are Service and Account. Changing this forces a new resource to be created. Default value is Service. type: string tags: additionalProperties: type: string description: A mapping of tags to assign to the resource. type: object x-kubernetes-map-type: granular type: object initProvider: description: |- THIS IS A BETA FIELD. It will be honored unless the Management Policies feature flag is disabled. InitProvider holds the same fields as ForProvider, with the exception of Identifier and other resource reference fields. The fields that are in InitProvider are merged into ForProvider when the resource is created. The same fields are also added to the terraform ignore_changes hook, to avoid updating them after creation. This is useful for fields that are required on creation, but we do not desire to update them after creation, for example because of an external controller is managing them, like an autoscaler. properties: accessTier: description: Defines the access tier for BlobStorage, FileStorage and StorageV2 accounts. Valid options are Hot, Cool, Cold and Premium. Defaults to Hot. type: string accountKind: description: Defines the Kind of account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2. Defaults to StorageV2. type: string accountReplicationType: description: Defines the type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS and RAGZRS. Changing this forces a new resource to be created when types LRS, GRS and RAGRS are changed to ZRS, GZRS or RAGZRS and vice versa. type: string accountTier: description: Defines the Tier to use for this storage account. Valid options are Standard and Premium. For BlockBlobStorage and FileStorage accounts only Premium is valid. Changing this forces a new resource to be created. type: string allowNestedItemsToBePublic: description: Allow or disallow nested items within this Account to opt into being public. Defaults to true. type: boolean allowedCopyScope: description: Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. Possible values are AAD and PrivateLink. type: string azureFilesAuthentication: description: A azure_files_authentication block as defined below. properties: activeDirectory: description: A active_directory block as defined below. Required when directory_type is AD. properties: domainGuid: description: Specifies the domain GUID. type: string domainName: description: Specifies the primary domain that the AD DNS server is authoritative for. type: string domainSid: description: Specifies the security identifier (SID). This is required when directory_type is set to AD. type: string forestName: description: Specifies the Active Directory forest. This is required when directory_type is set to AD. type: string netbiosDomainName: description: Specifies the NetBIOS domain name. This is required when directory_type is set to AD. type: string storageSid: description: Specifies the security identifier (SID) for Azure Storage. This is required when directory_type is set to AD. type: string type: object defaultShareLevelPermission: description: Specifies the default share level permissions applied to all users. Possible values are StorageFileDataSmbShareReader, StorageFileDataSmbShareContributor, StorageFileDataSmbShareElevatedContributor, or None. Defaults to None. type: string directoryType: description: Specifies the directory service used. Possible values are AADDS, AD and AADKERB. type: string type: object blobProperties: description: A blob_properties block as defined below. properties: changeFeedEnabled: description: Is the blob service properties for change feed events enabled? Default to false. type: boolean changeFeedRetentionInDays: description: The duration of change feed events retention in days. The possible values are between 1 and 146000 days (400 years). Setting this to null (or omit this in the configuration file) indicates an infinite retention of the change feed. type: number containerDeleteRetentionPolicy: description: A container_delete_retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object corsRule: description: A cors_rule block as defined below. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array defaultServiceVersion: description: The API Version which should be used by default for requests to the Data Plane API if an incoming request doesn't specify an API Version. type: string deleteRetentionPolicy: description: A delete_retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number permanentDeleteEnabled: description: Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to false. type: boolean type: object lastAccessTimeEnabled: description: Is the last access time based tracking enabled? Default to false. type: boolean restorePolicy: description: A restore_policy block as defined below. This must be used together with delete_retention_policy set, versioning_enabled and change_feed_enabled set to true. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object versioningEnabled: description: Is versioning enabled? Default to false. type: boolean type: object crossTenantReplicationEnabled: description: Should cross Tenant replication be enabled? Defaults to false. type: boolean customDomain: description: A custom_domain block as documented below. properties: name: description: The Custom Domain Name to use for the Storage Account, which will be validated by Azure. type: string useSubdomain: description: Should the Custom Domain Name be validated by using indirect CNAME validation? type: boolean type: object customerManagedKey: description: A customer_managed_key block as documented below. properties: keyVaultKeyId: description: The ID of the Key Vault Key, supplying a version-less key ID will enable auto-rotation of this key. Exactly one of key_vault_key_id and managed_hsm_key_id may be specified. type: string managedHsmKeyId: description: The ID of the managed HSM Key. Exactly one of key_vault_key_id and managed_hsm_key_id may be specified. type: string userAssignedIdentityId: description: The ID of a user assigned identity. type: string type: object defaultToOauthAuthentication: description: Default to Azure Active Directory authorization in the Azure portal when accessing the Storage Account. The default value is false type: boolean dnsEndpointType: description: Specifies which DNS endpoint type to use. Possible values are Standard and AzureDnsZone. Defaults to Standard. Changing this forces a new resource to be created. type: string edgeZone: description: Specifies the Edge Zone within the Azure Region where this Storage Account should exist. Changing this forces a new Storage Account to be created. type: string httpsTrafficOnlyEnabled: description: Boolean flag which forces HTTPS if enabled, see here for more information. Defaults to true. type: boolean identity: description: An identity block as defined below. properties: identityIds: description: Specifies a list of User Assigned Managed Identity IDs to be assigned to this Storage Account. items: type: string type: array x-kubernetes-list-type: set type: description: Specifies the type of Managed Service Identity that should be configured on this Storage Account. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). type: string type: object immutabilityPolicy: description: An immutability_policy block as defined below. Changing this forces a new resource to be created. properties: allowProtectedAppendWrites: description: When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. type: boolean periodSinceCreationInDays: description: The immutability period for the blobs in the container since the policy creation, in days. type: number state: description: Defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted. type: string type: object infrastructureEncryptionEnabled: description: Is infrastructure encryption enabled? Changing this forces a new resource to be created. Defaults to false. type: boolean isHnsEnabled: description: Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 (see here for more information). Changing this forces a new resource to be created. type: boolean largeFileShareEnabled: description: Are Large File Shares Enabled? Defaults to false. type: boolean localUserEnabled: description: Is Local User Enabled? Defaults to true. type: boolean location: description: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. type: string minTlsVersion: description: The minimum supported TLS version for the storage account. Possible values are TLS1_0, TLS1_1, TLS1_2 and TLS1_3. Defaults to TLS1_2 for new storage accounts. type: string networkRules: description: A network_rules block as documented below. properties: bypass: description: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of Logging, Metrics, AzureServices, or None. items: type: string type: array x-kubernetes-list-type: set defaultAction: description: Specifies the default action of allow or deny when no other rules match. Valid options are Deny or Allow. type: string ipRules: description: List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. /31 CIDRs, /32 CIDRs, and Private IP address ranges (as defined in RFC 1918), are not allowed. items: type: string type: array x-kubernetes-list-type: set privateLinkAccess: description: One or more private_link_access block as defined below. items: properties: endpointResourceId: description: The ID of the Azure resource that should be allowed access to the target storage account. type: string endpointTenantId: description: The tenant id of the resource of the resource access rule to be granted access. Defaults to the current tenant id. type: string type: object type: array virtualNetworkSubnetIds: description: A list of resource ids for subnets. items: type: string type: array x-kubernetes-list-type: set virtualNetworkSubnetIdsRefs: description: References to Subnet in network to populate virtualNetworkSubnetIds. items: description: A NamespacedReference to a named object. properties: name: description: Name of the referenced object. type: string namespace: description: Namespace of the referenced object type: string policy: description: Policies for referencing. properties: resolution: default: Required description: |- Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved. enum: - Required - Optional type: string resolve: description: |- Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile. enum: - Always - IfNotPresent type: string type: object required: - name type: object type: array virtualNetworkSubnetIdsSelector: description: Selector for a list of Subnet in network to populate virtualNetworkSubnetIds. properties: matchControllerRef: description: |- MatchControllerRef ensures an object with the same controller reference as the selecting object is selected. type: boolean matchLabels: additionalProperties: type: string description: MatchLabels ensures an object with matching labels is selected. type: object namespace: description: Namespace for the selector type: string policy: description: Policies for selection. properties: resolution: default: Required description: |- Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved. enum: - Required - Optional type: string resolve: description: |- Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile. enum: - Always - IfNotPresent type: string type: object type: object type: object nfsv3Enabled: description: Is NFSv3 protocol enabled? Changing this forces a new resource to be created. Defaults to false. type: boolean provisionedBillingModelVersion: description: Specifies the version of the provisioned billing model (e.g. when account_kind = "FileStorage" for Storage File). Possible value is V2. Changing this forces a new resource to be created. type: string publicNetworkAccessEnabled: description: Whether the public network access is enabled? Defaults to true. type: boolean queueEncryptionKeyType: description: The encryption type of the queue service. Possible values are Service and Account. Changing this forces a new resource to be created. Default value is Service. type: string queueProperties: description: A queue_properties block as defined below. properties: corsRule: description: A cors_rule block as defined above. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array hourMetrics: description: A hour_metrics block as defined below. properties: enabled: description: Indicates whether minute metrics are enabled for the Queue service. type: boolean includeApis: description: Indicates whether metrics should generate summary statistics for called API operations. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string type: object logging: description: A logging block as defined below. properties: delete: description: (Defaults to 1 hour) Used when deleting the Storage Account. type: boolean read: description: (Defaults to 5 minutes) Used when retrieving the Storage Account. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string write: description: Indicates whether all write requests should be logged. type: boolean type: object minuteMetrics: description: A minute_metrics block as defined below. properties: enabled: description: Indicates whether minute metrics are enabled for the Queue service. type: boolean includeApis: description: Indicates whether metrics should generate summary statistics for called API operations. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string type: object type: object routing: description: A routing block as defined below. properties: choice: description: Specifies the kind of network routing opted by the user. Possible values are InternetRouting and MicrosoftRouting. Defaults to MicrosoftRouting. type: string publishInternetEndpoints: description: Should internet routing storage endpoints be published? Defaults to false. type: boolean publishMicrosoftEndpoints: description: Should Microsoft routing storage endpoints be published? Defaults to false. type: boolean type: object sasPolicy: description: A sas_policy block as defined below. properties: expirationAction: description: The SAS expiration action. Possible values are Log and Block. Defaults to Log. type: string expirationPeriod: description: The SAS expiration period in format of DD.HH:MM:SS. type: string type: object sftpEnabled: description: Boolean, enable SFTP for the storage account type: boolean shareProperties: description: A share_properties block as defined below. properties: corsRule: description: A cors_rule block as defined below. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array retentionPolicy: description: A retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object smb: description: A smb block as defined below. properties: authenticationTypes: description: A set of SMB authentication methods. Possible values are NTLMv2, and Kerberos. items: type: string type: array x-kubernetes-list-type: set channelEncryptionType: description: A set of SMB channel encryption. Possible values are AES-128-CCM, AES-128-GCM, and AES-256-GCM. items: type: string type: array x-kubernetes-list-type: set kerberosTicketEncryptionType: description: A set of Kerberos ticket encryption. Possible values are RC4-HMAC, and AES-256. items: type: string type: array x-kubernetes-list-type: set multichannelEnabled: description: Indicates whether multichannel is enabled. Defaults to false. This is only supported on Premium storage accounts. type: boolean versions: description: A set of SMB protocol versions. Possible values are SMB2.1, SMB3.0, and SMB3.1.1. items: type: string type: array x-kubernetes-list-type: set type: object type: object sharedAccessKeyEnabled: description: 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). Defaults to true. type: boolean staticWebsite: description: A static_website block as defined below. properties: error404Document: description: The absolute path to a custom webpage that should be used when a request is made which does not correspond to an existing file. type: string indexDocument: description: The webpage that Azure Storage serves for requests to the root of a website or any subfolder. For example, index.html. The value is case-sensitive. type: string type: object tableEncryptionKeyType: description: The encryption type of the table service. Possible values are Service and Account. Changing this forces a new resource to be created. Default value is Service. type: string tags: additionalProperties: type: string description: A mapping of tags to assign to the resource. type: object x-kubernetes-map-type: granular type: object managementPolicies: default: - '*' description: |- THIS IS A BETA FIELD. It is on by default but can be opted out through a Crossplane feature flag. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md items: description: |- A ManagementAction represents an action that the Crossplane controllers can take on an external resource. enum: - Observe - Create - Update - Delete - LateInitialize - '*' type: string type: array providerConfigRef: default: kind: ClusterProviderConfig name: default description: |- ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured. properties: kind: description: Kind of the referenced object. type: string name: description: Name of the referenced object. type: string required: - kind - name type: object writeConnectionSecretToRef: description: |- WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. properties: name: description: Name of the secret. type: string required: - name type: object required: - forProvider type: object x-kubernetes-validations: - message: spec.forProvider.accountReplicationType is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.accountReplicationType) || (has(self.initProvider) && has(self.initProvider.accountReplicationType))' - message: spec.forProvider.accountTier is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.accountTier) || (has(self.initProvider) && has(self.initProvider.accountTier))' - message: spec.forProvider.location is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))' status: description: AccountStatus defines the observed state of Account. properties: atProvider: properties: accessTier: description: Defines the access tier for BlobStorage, FileStorage and StorageV2 accounts. Valid options are Hot, Cool, Cold and Premium. Defaults to Hot. type: string accountKind: description: Defines the Kind of account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2. Defaults to StorageV2. type: string accountReplicationType: description: Defines the type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS and RAGZRS. Changing this forces a new resource to be created when types LRS, GRS and RAGRS are changed to ZRS, GZRS or RAGZRS and vice versa. type: string accountTier: description: Defines the Tier to use for this storage account. Valid options are Standard and Premium. For BlockBlobStorage and FileStorage accounts only Premium is valid. Changing this forces a new resource to be created. type: string allowNestedItemsToBePublic: description: Allow or disallow nested items within this Account to opt into being public. Defaults to true. type: boolean allowedCopyScope: description: Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet. Possible values are AAD and PrivateLink. type: string azureFilesAuthentication: description: A azure_files_authentication block as defined below. properties: activeDirectory: description: A active_directory block as defined below. Required when directory_type is AD. properties: domainGuid: description: Specifies the domain GUID. type: string domainName: description: Specifies the primary domain that the AD DNS server is authoritative for. type: string domainSid: description: Specifies the security identifier (SID). This is required when directory_type is set to AD. type: string forestName: description: Specifies the Active Directory forest. This is required when directory_type is set to AD. type: string netbiosDomainName: description: Specifies the NetBIOS domain name. This is required when directory_type is set to AD. type: string storageSid: description: Specifies the security identifier (SID) for Azure Storage. This is required when directory_type is set to AD. type: string type: object defaultShareLevelPermission: description: Specifies the default share level permissions applied to all users. Possible values are StorageFileDataSmbShareReader, StorageFileDataSmbShareContributor, StorageFileDataSmbShareElevatedContributor, or None. Defaults to None. type: string directoryType: description: Specifies the directory service used. Possible values are AADDS, AD and AADKERB. type: string type: object blobProperties: description: A blob_properties block as defined below. properties: changeFeedEnabled: description: Is the blob service properties for change feed events enabled? Default to false. type: boolean changeFeedRetentionInDays: description: The duration of change feed events retention in days. The possible values are between 1 and 146000 days (400 years). Setting this to null (or omit this in the configuration file) indicates an infinite retention of the change feed. type: number containerDeleteRetentionPolicy: description: A container_delete_retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object corsRule: description: A cors_rule block as defined below. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array defaultServiceVersion: description: The API Version which should be used by default for requests to the Data Plane API if an incoming request doesn't specify an API Version. type: string deleteRetentionPolicy: description: A delete_retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number permanentDeleteEnabled: description: Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to false. type: boolean type: object lastAccessTimeEnabled: description: Is the last access time based tracking enabled? Default to false. type: boolean restorePolicy: description: A restore_policy block as defined below. This must be used together with delete_retention_policy set, versioning_enabled and change_feed_enabled set to true. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object versioningEnabled: description: Is versioning enabled? Default to false. type: boolean type: object crossTenantReplicationEnabled: description: Should cross Tenant replication be enabled? Defaults to false. type: boolean customDomain: description: A custom_domain block as documented below. properties: name: description: The Custom Domain Name to use for the Storage Account, which will be validated by Azure. type: string useSubdomain: description: Should the Custom Domain Name be validated by using indirect CNAME validation? type: boolean type: object customerManagedKey: description: A customer_managed_key block as documented below. properties: keyVaultKeyId: description: The ID of the Key Vault Key, supplying a version-less key ID will enable auto-rotation of this key. Exactly one of key_vault_key_id and managed_hsm_key_id may be specified. type: string managedHsmKeyId: description: The ID of the managed HSM Key. Exactly one of key_vault_key_id and managed_hsm_key_id may be specified. type: string userAssignedIdentityId: description: The ID of a user assigned identity. type: string type: object defaultToOauthAuthentication: description: Default to Azure Active Directory authorization in the Azure portal when accessing the Storage Account. The default value is false type: boolean dnsEndpointType: description: Specifies which DNS endpoint type to use. Possible values are Standard and AzureDnsZone. Defaults to Standard. Changing this forces a new resource to be created. type: string edgeZone: description: Specifies the Edge Zone within the Azure Region where this Storage Account should exist. Changing this forces a new Storage Account to be created. type: string httpsTrafficOnlyEnabled: description: Boolean flag which forces HTTPS if enabled, see here for more information. Defaults to true. type: boolean id: description: The ID of the Storage Account. type: string identity: description: An identity block as defined below. properties: identityIds: description: Specifies a list of User Assigned Managed Identity IDs to be assigned to this Storage Account. items: type: string type: array x-kubernetes-list-type: set principalId: description: The Principal ID for the Service Principal associated with the Identity of this Storage Account. type: string tenantId: description: The Tenant ID for the Service Principal associated with the Identity of this Storage Account. type: string type: description: Specifies the type of Managed Service Identity that should be configured on this Storage Account. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). type: string type: object immutabilityPolicy: description: An immutability_policy block as defined below. Changing this forces a new resource to be created. properties: allowProtectedAppendWrites: description: When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. type: boolean periodSinceCreationInDays: description: The immutability period for the blobs in the container since the policy creation, in days. type: number state: description: Defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted. type: string type: object infrastructureEncryptionEnabled: description: Is infrastructure encryption enabled? Changing this forces a new resource to be created. Defaults to false. type: boolean isHnsEnabled: description: Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 (see here for more information). Changing this forces a new resource to be created. type: boolean largeFileShareEnabled: description: Are Large File Shares Enabled? Defaults to false. type: boolean localUserEnabled: description: Is Local User Enabled? Defaults to true. type: boolean location: description: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. type: string minTlsVersion: description: The minimum supported TLS version for the storage account. Possible values are TLS1_0, TLS1_1, TLS1_2 and TLS1_3. Defaults to TLS1_2 for new storage accounts. type: string networkRules: description: A network_rules block as documented below. properties: bypass: description: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of Logging, Metrics, AzureServices, or None. items: type: string type: array x-kubernetes-list-type: set defaultAction: description: Specifies the default action of allow or deny when no other rules match. Valid options are Deny or Allow. type: string ipRules: description: List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. /31 CIDRs, /32 CIDRs, and Private IP address ranges (as defined in RFC 1918), are not allowed. items: type: string type: array x-kubernetes-list-type: set privateLinkAccess: description: One or more private_link_access block as defined below. items: properties: endpointResourceId: description: The ID of the Azure resource that should be allowed access to the target storage account. type: string endpointTenantId: description: The tenant id of the resource of the resource access rule to be granted access. Defaults to the current tenant id. type: string type: object type: array virtualNetworkSubnetIds: description: A list of resource ids for subnets. items: type: string type: array x-kubernetes-list-type: set type: object nfsv3Enabled: description: Is NFSv3 protocol enabled? Changing this forces a new resource to be created. Defaults to false. type: boolean primaryBlobEndpoint: description: The endpoint URL for blob storage in the primary location. type: string primaryBlobHost: description: The hostname with port if applicable for blob storage in the primary location. type: string primaryBlobInternetEndpoint: description: The internet routing endpoint URL for blob storage in the primary location. type: string primaryBlobInternetHost: description: The internet routing hostname with port if applicable for blob storage in the primary location. type: string primaryBlobMicrosoftEndpoint: description: The microsoft routing endpoint URL for blob storage in the primary location. type: string primaryBlobMicrosoftHost: description: The microsoft routing hostname with port if applicable for blob storage in the primary location. type: string primaryDfsEndpoint: description: The endpoint URL for DFS storage in the primary location. type: string primaryDfsHost: description: The hostname with port if applicable for DFS storage in the primary location. type: string primaryDfsInternetEndpoint: description: The internet routing endpoint URL for DFS storage in the primary location. type: string primaryDfsInternetHost: description: The internet routing hostname with port if applicable for DFS storage in the primary location. type: string primaryDfsMicrosoftEndpoint: description: The microsoft routing endpoint URL for DFS storage in the primary location. type: string primaryDfsMicrosoftHost: description: The microsoft routing hostname with port if applicable for DFS storage in the primary location. type: string primaryFileEndpoint: description: The endpoint URL for file storage in the primary location. type: string primaryFileHost: description: The hostname with port if applicable for file storage in the primary location. type: string primaryFileInternetEndpoint: description: The internet routing endpoint URL for file storage in the primary location. type: string primaryFileInternetHost: description: The internet routing hostname with port if applicable for file storage in the primary location. type: string primaryFileMicrosoftEndpoint: description: The microsoft routing endpoint URL for file storage in the primary location. type: string primaryFileMicrosoftHost: description: The microsoft routing hostname with port if applicable for file storage in the primary location. type: string primaryLocation: description: The primary location of the storage account. type: string primaryQueueEndpoint: description: The endpoint URL for queue storage in the primary location. type: string primaryQueueHost: description: The hostname with port if applicable for queue storage in the primary location. type: string primaryQueueMicrosoftEndpoint: description: The microsoft routing endpoint URL for queue storage in the primary location. type: string primaryQueueMicrosoftHost: description: The microsoft routing hostname with port if applicable for queue storage in the primary location. type: string primaryTableEndpoint: description: The endpoint URL for table storage in the primary location. type: string primaryTableHost: description: The hostname with port if applicable for table storage in the primary location. type: string primaryTableMicrosoftEndpoint: description: The microsoft routing endpoint URL for table storage in the primary location. type: string primaryTableMicrosoftHost: description: The microsoft routing hostname with port if applicable for table storage in the primary location. type: string primaryWebEndpoint: description: The endpoint URL for web storage in the primary location. type: string primaryWebHost: description: The hostname with port if applicable for web storage in the primary location. type: string primaryWebInternetEndpoint: description: The internet routing endpoint URL for web storage in the primary location. type: string primaryWebInternetHost: description: The internet routing hostname with port if applicable for web storage in the primary location. type: string primaryWebMicrosoftEndpoint: description: The microsoft routing endpoint URL for web storage in the primary location. type: string primaryWebMicrosoftHost: description: The microsoft routing hostname with port if applicable for web storage in the primary location. type: string provisionedBillingModelVersion: description: Specifies the version of the provisioned billing model (e.g. when account_kind = "FileStorage" for Storage File). Possible value is V2. Changing this forces a new resource to be created. type: string publicNetworkAccessEnabled: description: Whether the public network access is enabled? Defaults to true. type: boolean queueEncryptionKeyType: description: The encryption type of the queue service. Possible values are Service and Account. Changing this forces a new resource to be created. Default value is Service. type: string queueProperties: description: A queue_properties block as defined below. properties: corsRule: description: A cors_rule block as defined above. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array hourMetrics: description: A hour_metrics block as defined below. properties: enabled: description: Indicates whether minute metrics are enabled for the Queue service. type: boolean includeApis: description: Indicates whether metrics should generate summary statistics for called API operations. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string type: object logging: description: A logging block as defined below. properties: delete: description: (Defaults to 1 hour) Used when deleting the Storage Account. type: boolean read: description: (Defaults to 5 minutes) Used when retrieving the Storage Account. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string write: description: Indicates whether all write requests should be logged. type: boolean type: object minuteMetrics: description: A minute_metrics block as defined below. properties: enabled: description: Indicates whether minute metrics are enabled for the Queue service. type: boolean includeApis: description: Indicates whether metrics should generate summary statistics for called API operations. type: boolean retentionPolicyDays: description: Specifies the number of days that logs will be retained. type: number version: description: The version of storage analytics to configure. type: string type: object type: object resourceGroupName: description: The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. type: string routing: description: A routing block as defined below. properties: choice: description: Specifies the kind of network routing opted by the user. Possible values are InternetRouting and MicrosoftRouting. Defaults to MicrosoftRouting. type: string publishInternetEndpoints: description: Should internet routing storage endpoints be published? Defaults to false. type: boolean publishMicrosoftEndpoints: description: Should Microsoft routing storage endpoints be published? Defaults to false. type: boolean type: object sasPolicy: description: A sas_policy block as defined below. properties: expirationAction: description: The SAS expiration action. Possible values are Log and Block. Defaults to Log. type: string expirationPeriod: description: The SAS expiration period in format of DD.HH:MM:SS. type: string type: object secondaryBlobEndpoint: description: The endpoint URL for blob storage in the secondary location. type: string secondaryBlobHost: description: The hostname with port if applicable for blob storage in the secondary location. type: string secondaryBlobInternetEndpoint: description: The internet routing endpoint URL for blob storage in the secondary location. type: string secondaryBlobInternetHost: description: The internet routing hostname with port if applicable for blob storage in the secondary location. type: string secondaryBlobMicrosoftEndpoint: description: The microsoft routing endpoint URL for blob storage in the secondary location. type: string secondaryBlobMicrosoftHost: description: The microsoft routing hostname with port if applicable for blob storage in the secondary location. type: string secondaryDfsEndpoint: description: The endpoint URL for DFS storage in the secondary location. type: string secondaryDfsHost: description: The hostname with port if applicable for DFS storage in the secondary location. type: string secondaryDfsInternetEndpoint: description: The internet routing endpoint URL for DFS storage in the secondary location. type: string secondaryDfsInternetHost: description: The internet routing hostname with port if applicable for DFS storage in the secondary location. type: string secondaryDfsMicrosoftEndpoint: description: The microsoft routing endpoint URL for DFS storage in the secondary location. type: string secondaryDfsMicrosoftHost: description: The microsoft routing hostname with port if applicable for DFS storage in the secondary location. type: string secondaryFileEndpoint: description: The endpoint URL for file storage in the secondary location. type: string secondaryFileHost: description: The hostname with port if applicable for file storage in the secondary location. type: string secondaryFileInternetEndpoint: description: The internet routing endpoint URL for file storage in the secondary location. type: string secondaryFileInternetHost: description: The internet routing hostname with port if applicable for file storage in the secondary location. type: string secondaryFileMicrosoftEndpoint: description: The microsoft routing endpoint URL for file storage in the secondary location. type: string secondaryFileMicrosoftHost: description: The microsoft routing hostname with port if applicable for file storage in the secondary location. type: string secondaryLocation: description: The secondary location of the storage account. type: string secondaryQueueEndpoint: description: The endpoint URL for queue storage in the secondary location. type: string secondaryQueueHost: description: The hostname with port if applicable for queue storage in the secondary location. type: string secondaryQueueMicrosoftEndpoint: description: The microsoft routing endpoint URL for queue storage in the secondary location. type: string secondaryQueueMicrosoftHost: description: The microsoft routing hostname with port if applicable for queue storage in the secondary location. type: string secondaryTableEndpoint: description: The endpoint URL for table storage in the secondary location. type: string secondaryTableHost: description: The hostname with port if applicable for table storage in the secondary location. type: string secondaryTableMicrosoftEndpoint: description: The microsoft routing endpoint URL for table storage in the secondary location. type: string secondaryTableMicrosoftHost: description: The microsoft routing hostname with port if applicable for table storage in the secondary location. type: string secondaryWebEndpoint: description: The endpoint URL for web storage in the secondary location. type: string secondaryWebHost: description: The hostname with port if applicable for web storage in the secondary location. type: string secondaryWebInternetEndpoint: description: The internet routing endpoint URL for web storage in the secondary location. type: string secondaryWebInternetHost: description: The internet routing hostname with port if applicable for web storage in the secondary location. type: string secondaryWebMicrosoftEndpoint: description: The microsoft routing endpoint URL for web storage in the secondary location. type: string secondaryWebMicrosoftHost: description: The microsoft routing hostname with port if applicable for web storage in the secondary location. type: string sftpEnabled: description: Boolean, enable SFTP for the storage account type: boolean shareProperties: description: A share_properties block as defined below. properties: corsRule: description: A cors_rule block as defined below. items: properties: allowedHeaders: description: A list of headers that are allowed to be a part of the cross-origin request. items: type: string type: array allowedMethods: description: |- A list of HTTP methods that are allowed to be executed by the origin. Valid options are DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT or PATCH. items: type: string type: array allowedOrigins: description: A list of origin domains that will be allowed by CORS. items: type: string type: array exposedHeaders: description: A list of response headers that are exposed to CORS clients. items: type: string type: array maxAgeInSeconds: description: The number of seconds the client should cache a preflight response. type: number type: object type: array retentionPolicy: description: A retention_policy block as defined below. properties: days: description: Specifies the number of days that the azurerm_storage_share should be retained, between 1 and 365 days. Defaults to 7. type: number type: object smb: description: A smb block as defined below. properties: authenticationTypes: description: A set of SMB authentication methods. Possible values are NTLMv2, and Kerberos. items: type: string type: array x-kubernetes-list-type: set channelEncryptionType: description: A set of SMB channel encryption. Possible values are AES-128-CCM, AES-128-GCM, and AES-256-GCM. items: type: string type: array x-kubernetes-list-type: set kerberosTicketEncryptionType: description: A set of Kerberos ticket encryption. Possible values are RC4-HMAC, and AES-256. items: type: string type: array x-kubernetes-list-type: set multichannelEnabled: description: Indicates whether multichannel is enabled. Defaults to false. This is only supported on Premium storage accounts. type: boolean versions: description: A set of SMB protocol versions. Possible values are SMB2.1, SMB3.0, and SMB3.1.1. items: type: string type: array x-kubernetes-list-type: set type: object type: object sharedAccessKeyEnabled: description: 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). Defaults to true. type: boolean staticWebsite: description: A static_website block as defined below. properties: error404Document: description: The absolute path to a custom webpage that should be used when a request is made which does not correspond to an existing file. type: string indexDocument: description: The webpage that Azure Storage serves for requests to the root of a website or any subfolder. For example, index.html. The value is case-sensitive. type: string type: object tableEncryptionKeyType: description: The encryption type of the table service. Possible values are Service and Account. Changing this forces a new resource to be created. Default value is Service. type: string tags: additionalProperties: type: string description: A mapping of tags to assign to the resource. type: object x-kubernetes-map-type: granular type: object conditions: description: Conditions of the resource. items: description: A Condition that may apply to a resource. properties: lastTransitionTime: description: |- LastTransitionTime is the last time this condition transitioned from one status to another. format: date-time type: string message: description: |- A Message containing details about this condition's last transition from one status to another, if any. type: string observedGeneration: description: |- ObservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 type: integer reason: description: A Reason for this condition's last transition from one status to another. type: string status: description: Status of this condition; is it currently True, False, or Unknown? type: string type: description: |- Type of this condition. At most one of each condition type may apply to a resource at any point in time. type: string required: - lastTransitionTime - reason - status - type type: object type: array x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map observedGeneration: description: |- ObservedGeneration is the latest metadata.generation which resulted in either a ready state, or stalled due to error it can not recover from without human intervention. format: int64 type: integer type: object required: - spec type: object served: true storage: true subresources: status: {}