@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
870 lines • 96.8 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface StorageAccountConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#access_tier StorageAccount#access_tier}
*/
readonly accessTier?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#account_kind StorageAccount#account_kind}
*/
readonly accountKind?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#account_replication_type StorageAccount#account_replication_type}
*/
readonly accountReplicationType: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#account_tier StorageAccount#account_tier}
*/
readonly accountTier: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allow_nested_items_to_be_public StorageAccount#allow_nested_items_to_be_public}
*/
readonly allowNestedItemsToBePublic?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allowed_copy_scope StorageAccount#allowed_copy_scope}
*/
readonly allowedCopyScope?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#cross_tenant_replication_enabled StorageAccount#cross_tenant_replication_enabled}
*/
readonly crossTenantReplicationEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#default_to_oauth_authentication StorageAccount#default_to_oauth_authentication}
*/
readonly defaultToOauthAuthentication?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#dns_endpoint_type StorageAccount#dns_endpoint_type}
*/
readonly dnsEndpointType?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#edge_zone StorageAccount#edge_zone}
*/
readonly edgeZone?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#enable_https_traffic_only StorageAccount#enable_https_traffic_only}
*/
readonly enableHttpsTrafficOnly?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#https_traffic_only_enabled StorageAccount#https_traffic_only_enabled}
*/
readonly httpsTrafficOnlyEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#id StorageAccount#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#infrastructure_encryption_enabled StorageAccount#infrastructure_encryption_enabled}
*/
readonly infrastructureEncryptionEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#is_hns_enabled StorageAccount#is_hns_enabled}
*/
readonly isHnsEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#large_file_share_enabled StorageAccount#large_file_share_enabled}
*/
readonly largeFileShareEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#local_user_enabled StorageAccount#local_user_enabled}
*/
readonly localUserEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#location StorageAccount#location}
*/
readonly location: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#min_tls_version StorageAccount#min_tls_version}
*/
readonly minTlsVersion?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#name StorageAccount#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#nfsv3_enabled StorageAccount#nfsv3_enabled}
*/
readonly nfsv3Enabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#public_network_access_enabled StorageAccount#public_network_access_enabled}
*/
readonly publicNetworkAccessEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#queue_encryption_key_type StorageAccount#queue_encryption_key_type}
*/
readonly queueEncryptionKeyType?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#resource_group_name StorageAccount#resource_group_name}
*/
readonly resourceGroupName: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#sftp_enabled StorageAccount#sftp_enabled}
*/
readonly sftpEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#shared_access_key_enabled StorageAccount#shared_access_key_enabled}
*/
readonly sharedAccessKeyEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#table_encryption_key_type StorageAccount#table_encryption_key_type}
*/
readonly tableEncryptionKeyType?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#tags StorageAccount#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* azure_files_authentication block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#azure_files_authentication StorageAccount#azure_files_authentication}
*/
readonly azureFilesAuthentication?: StorageAccountAzureFilesAuthentication;
/**
* blob_properties block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#blob_properties StorageAccount#blob_properties}
*/
readonly blobProperties?: StorageAccountBlobProperties;
/**
* custom_domain block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#custom_domain StorageAccount#custom_domain}
*/
readonly customDomain?: StorageAccountCustomDomain;
/**
* customer_managed_key block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#customer_managed_key StorageAccount#customer_managed_key}
*/
readonly customerManagedKey?: StorageAccountCustomerManagedKey;
/**
* identity block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#identity StorageAccount#identity}
*/
readonly identity?: StorageAccountIdentity;
/**
* immutability_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#immutability_policy StorageAccount#immutability_policy}
*/
readonly immutabilityPolicy?: StorageAccountImmutabilityPolicy;
/**
* network_rules block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#network_rules StorageAccount#network_rules}
*/
readonly networkRules?: StorageAccountNetworkRules;
/**
* queue_properties block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#queue_properties StorageAccount#queue_properties}
*/
readonly queueProperties?: StorageAccountQueueProperties;
/**
* routing block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#routing StorageAccount#routing}
*/
readonly routing?: StorageAccountRouting;
/**
* sas_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#sas_policy StorageAccount#sas_policy}
*/
readonly sasPolicy?: StorageAccountSasPolicy;
/**
* share_properties block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#share_properties StorageAccount#share_properties}
*/
readonly shareProperties?: StorageAccountShareProperties;
/**
* static_website block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#static_website StorageAccount#static_website}
*/
readonly staticWebsite?: StorageAccountStaticWebsite;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#timeouts StorageAccount#timeouts}
*/
readonly timeouts?: StorageAccountTimeouts;
}
export interface StorageAccountAzureFilesAuthenticationActiveDirectory {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#domain_guid StorageAccount#domain_guid}
*/
readonly domainGuid: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#domain_name StorageAccount#domain_name}
*/
readonly domainName: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#domain_sid StorageAccount#domain_sid}
*/
readonly domainSid?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#forest_name StorageAccount#forest_name}
*/
readonly forestName?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#netbios_domain_name StorageAccount#netbios_domain_name}
*/
readonly netbiosDomainName?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#storage_sid StorageAccount#storage_sid}
*/
readonly storageSid?: string;
}
export declare function storageAccountAzureFilesAuthenticationActiveDirectoryToTerraform(struct?: StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference | StorageAccountAzureFilesAuthenticationActiveDirectory): any;
export declare function storageAccountAzureFilesAuthenticationActiveDirectoryToHclTerraform(struct?: StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference | StorageAccountAzureFilesAuthenticationActiveDirectory): any;
export declare class StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountAzureFilesAuthenticationActiveDirectory | undefined;
set internalValue(value: StorageAccountAzureFilesAuthenticationActiveDirectory | undefined);
private _domainGuid?;
get domainGuid(): string;
set domainGuid(value: string);
get domainGuidInput(): string | undefined;
private _domainName?;
get domainName(): string;
set domainName(value: string);
get domainNameInput(): string | undefined;
private _domainSid?;
get domainSid(): string;
set domainSid(value: string);
resetDomainSid(): void;
get domainSidInput(): string | undefined;
private _forestName?;
get forestName(): string;
set forestName(value: string);
resetForestName(): void;
get forestNameInput(): string | undefined;
private _netbiosDomainName?;
get netbiosDomainName(): string;
set netbiosDomainName(value: string);
resetNetbiosDomainName(): void;
get netbiosDomainNameInput(): string | undefined;
private _storageSid?;
get storageSid(): string;
set storageSid(value: string);
resetStorageSid(): void;
get storageSidInput(): string | undefined;
}
export interface StorageAccountAzureFilesAuthentication {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#default_share_level_permission StorageAccount#default_share_level_permission}
*/
readonly defaultShareLevelPermission?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#directory_type StorageAccount#directory_type}
*/
readonly directoryType: string;
/**
* active_directory block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#active_directory StorageAccount#active_directory}
*/
readonly activeDirectory?: StorageAccountAzureFilesAuthenticationActiveDirectory;
}
export declare function storageAccountAzureFilesAuthenticationToTerraform(struct?: StorageAccountAzureFilesAuthenticationOutputReference | StorageAccountAzureFilesAuthentication): any;
export declare function storageAccountAzureFilesAuthenticationToHclTerraform(struct?: StorageAccountAzureFilesAuthenticationOutputReference | StorageAccountAzureFilesAuthentication): any;
export declare class StorageAccountAzureFilesAuthenticationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountAzureFilesAuthentication | undefined;
set internalValue(value: StorageAccountAzureFilesAuthentication | undefined);
private _defaultShareLevelPermission?;
get defaultShareLevelPermission(): string;
set defaultShareLevelPermission(value: string);
resetDefaultShareLevelPermission(): void;
get defaultShareLevelPermissionInput(): string | undefined;
private _directoryType?;
get directoryType(): string;
set directoryType(value: string);
get directoryTypeInput(): string | undefined;
private _activeDirectory;
get activeDirectory(): StorageAccountAzureFilesAuthenticationActiveDirectoryOutputReference;
putActiveDirectory(value: StorageAccountAzureFilesAuthenticationActiveDirectory): void;
resetActiveDirectory(): void;
get activeDirectoryInput(): StorageAccountAzureFilesAuthenticationActiveDirectory | undefined;
}
export interface StorageAccountBlobPropertiesContainerDeleteRetentionPolicy {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#days StorageAccount#days}
*/
readonly days?: number;
}
export declare function storageAccountBlobPropertiesContainerDeleteRetentionPolicyToTerraform(struct?: StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference | StorageAccountBlobPropertiesContainerDeleteRetentionPolicy): any;
export declare function storageAccountBlobPropertiesContainerDeleteRetentionPolicyToHclTerraform(struct?: StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference | StorageAccountBlobPropertiesContainerDeleteRetentionPolicy): any;
export declare class StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountBlobPropertiesContainerDeleteRetentionPolicy | undefined;
set internalValue(value: StorageAccountBlobPropertiesContainerDeleteRetentionPolicy | undefined);
private _days?;
get days(): number;
set days(value: number);
resetDays(): void;
get daysInput(): number | undefined;
}
export interface StorageAccountBlobPropertiesCorsRule {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allowed_headers StorageAccount#allowed_headers}
*/
readonly allowedHeaders: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allowed_methods StorageAccount#allowed_methods}
*/
readonly allowedMethods: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allowed_origins StorageAccount#allowed_origins}
*/
readonly allowedOrigins: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#exposed_headers StorageAccount#exposed_headers}
*/
readonly exposedHeaders: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#max_age_in_seconds StorageAccount#max_age_in_seconds}
*/
readonly maxAgeInSeconds: number;
}
export declare function storageAccountBlobPropertiesCorsRuleToTerraform(struct?: StorageAccountBlobPropertiesCorsRule | cdktf.IResolvable): any;
export declare function storageAccountBlobPropertiesCorsRuleToHclTerraform(struct?: StorageAccountBlobPropertiesCorsRule | cdktf.IResolvable): any;
export declare class StorageAccountBlobPropertiesCorsRuleOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): StorageAccountBlobPropertiesCorsRule | cdktf.IResolvable | undefined;
set internalValue(value: StorageAccountBlobPropertiesCorsRule | cdktf.IResolvable | undefined);
private _allowedHeaders?;
get allowedHeaders(): string[];
set allowedHeaders(value: string[]);
get allowedHeadersInput(): string[] | undefined;
private _allowedMethods?;
get allowedMethods(): string[];
set allowedMethods(value: string[]);
get allowedMethodsInput(): string[] | undefined;
private _allowedOrigins?;
get allowedOrigins(): string[];
set allowedOrigins(value: string[]);
get allowedOriginsInput(): string[] | undefined;
private _exposedHeaders?;
get exposedHeaders(): string[];
set exposedHeaders(value: string[]);
get exposedHeadersInput(): string[] | undefined;
private _maxAgeInSeconds?;
get maxAgeInSeconds(): number;
set maxAgeInSeconds(value: number);
get maxAgeInSecondsInput(): number | undefined;
}
export declare class StorageAccountBlobPropertiesCorsRuleList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: StorageAccountBlobPropertiesCorsRule[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): StorageAccountBlobPropertiesCorsRuleOutputReference;
}
export interface StorageAccountBlobPropertiesDeleteRetentionPolicy {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#days StorageAccount#days}
*/
readonly days?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#permanent_delete_enabled StorageAccount#permanent_delete_enabled}
*/
readonly permanentDeleteEnabled?: boolean | cdktf.IResolvable;
}
export declare function storageAccountBlobPropertiesDeleteRetentionPolicyToTerraform(struct?: StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference | StorageAccountBlobPropertiesDeleteRetentionPolicy): any;
export declare function storageAccountBlobPropertiesDeleteRetentionPolicyToHclTerraform(struct?: StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference | StorageAccountBlobPropertiesDeleteRetentionPolicy): any;
export declare class StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountBlobPropertiesDeleteRetentionPolicy | undefined;
set internalValue(value: StorageAccountBlobPropertiesDeleteRetentionPolicy | undefined);
private _days?;
get days(): number;
set days(value: number);
resetDays(): void;
get daysInput(): number | undefined;
private _permanentDeleteEnabled?;
get permanentDeleteEnabled(): boolean | cdktf.IResolvable;
set permanentDeleteEnabled(value: boolean | cdktf.IResolvable);
resetPermanentDeleteEnabled(): void;
get permanentDeleteEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface StorageAccountBlobPropertiesRestorePolicy {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#days StorageAccount#days}
*/
readonly days: number;
}
export declare function storageAccountBlobPropertiesRestorePolicyToTerraform(struct?: StorageAccountBlobPropertiesRestorePolicyOutputReference | StorageAccountBlobPropertiesRestorePolicy): any;
export declare function storageAccountBlobPropertiesRestorePolicyToHclTerraform(struct?: StorageAccountBlobPropertiesRestorePolicyOutputReference | StorageAccountBlobPropertiesRestorePolicy): any;
export declare class StorageAccountBlobPropertiesRestorePolicyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountBlobPropertiesRestorePolicy | undefined;
set internalValue(value: StorageAccountBlobPropertiesRestorePolicy | undefined);
private _days?;
get days(): number;
set days(value: number);
get daysInput(): number | undefined;
}
export interface StorageAccountBlobProperties {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#change_feed_enabled StorageAccount#change_feed_enabled}
*/
readonly changeFeedEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#change_feed_retention_in_days StorageAccount#change_feed_retention_in_days}
*/
readonly changeFeedRetentionInDays?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#default_service_version StorageAccount#default_service_version}
*/
readonly defaultServiceVersion?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#last_access_time_enabled StorageAccount#last_access_time_enabled}
*/
readonly lastAccessTimeEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#versioning_enabled StorageAccount#versioning_enabled}
*/
readonly versioningEnabled?: boolean | cdktf.IResolvable;
/**
* container_delete_retention_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#container_delete_retention_policy StorageAccount#container_delete_retention_policy}
*/
readonly containerDeleteRetentionPolicy?: StorageAccountBlobPropertiesContainerDeleteRetentionPolicy;
/**
* cors_rule block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#cors_rule StorageAccount#cors_rule}
*/
readonly corsRule?: StorageAccountBlobPropertiesCorsRule[] | cdktf.IResolvable;
/**
* delete_retention_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#delete_retention_policy StorageAccount#delete_retention_policy}
*/
readonly deleteRetentionPolicy?: StorageAccountBlobPropertiesDeleteRetentionPolicy;
/**
* restore_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#restore_policy StorageAccount#restore_policy}
*/
readonly restorePolicy?: StorageAccountBlobPropertiesRestorePolicy;
}
export declare function storageAccountBlobPropertiesToTerraform(struct?: StorageAccountBlobPropertiesOutputReference | StorageAccountBlobProperties): any;
export declare function storageAccountBlobPropertiesToHclTerraform(struct?: StorageAccountBlobPropertiesOutputReference | StorageAccountBlobProperties): any;
export declare class StorageAccountBlobPropertiesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountBlobProperties | undefined;
set internalValue(value: StorageAccountBlobProperties | undefined);
private _changeFeedEnabled?;
get changeFeedEnabled(): boolean | cdktf.IResolvable;
set changeFeedEnabled(value: boolean | cdktf.IResolvable);
resetChangeFeedEnabled(): void;
get changeFeedEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _changeFeedRetentionInDays?;
get changeFeedRetentionInDays(): number;
set changeFeedRetentionInDays(value: number);
resetChangeFeedRetentionInDays(): void;
get changeFeedRetentionInDaysInput(): number | undefined;
private _defaultServiceVersion?;
get defaultServiceVersion(): string;
set defaultServiceVersion(value: string);
resetDefaultServiceVersion(): void;
get defaultServiceVersionInput(): string | undefined;
private _lastAccessTimeEnabled?;
get lastAccessTimeEnabled(): boolean | cdktf.IResolvable;
set lastAccessTimeEnabled(value: boolean | cdktf.IResolvable);
resetLastAccessTimeEnabled(): void;
get lastAccessTimeEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _versioningEnabled?;
get versioningEnabled(): boolean | cdktf.IResolvable;
set versioningEnabled(value: boolean | cdktf.IResolvable);
resetVersioningEnabled(): void;
get versioningEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _containerDeleteRetentionPolicy;
get containerDeleteRetentionPolicy(): StorageAccountBlobPropertiesContainerDeleteRetentionPolicyOutputReference;
putContainerDeleteRetentionPolicy(value: StorageAccountBlobPropertiesContainerDeleteRetentionPolicy): void;
resetContainerDeleteRetentionPolicy(): void;
get containerDeleteRetentionPolicyInput(): StorageAccountBlobPropertiesContainerDeleteRetentionPolicy | undefined;
private _corsRule;
get corsRule(): StorageAccountBlobPropertiesCorsRuleList;
putCorsRule(value: StorageAccountBlobPropertiesCorsRule[] | cdktf.IResolvable): void;
resetCorsRule(): void;
get corsRuleInput(): cdktf.IResolvable | StorageAccountBlobPropertiesCorsRule[] | undefined;
private _deleteRetentionPolicy;
get deleteRetentionPolicy(): StorageAccountBlobPropertiesDeleteRetentionPolicyOutputReference;
putDeleteRetentionPolicy(value: StorageAccountBlobPropertiesDeleteRetentionPolicy): void;
resetDeleteRetentionPolicy(): void;
get deleteRetentionPolicyInput(): StorageAccountBlobPropertiesDeleteRetentionPolicy | undefined;
private _restorePolicy;
get restorePolicy(): StorageAccountBlobPropertiesRestorePolicyOutputReference;
putRestorePolicy(value: StorageAccountBlobPropertiesRestorePolicy): void;
resetRestorePolicy(): void;
get restorePolicyInput(): StorageAccountBlobPropertiesRestorePolicy | undefined;
}
export interface StorageAccountCustomDomain {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#name StorageAccount#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#use_subdomain StorageAccount#use_subdomain}
*/
readonly useSubdomain?: boolean | cdktf.IResolvable;
}
export declare function storageAccountCustomDomainToTerraform(struct?: StorageAccountCustomDomainOutputReference | StorageAccountCustomDomain): any;
export declare function storageAccountCustomDomainToHclTerraform(struct?: StorageAccountCustomDomainOutputReference | StorageAccountCustomDomain): any;
export declare class StorageAccountCustomDomainOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountCustomDomain | undefined;
set internalValue(value: StorageAccountCustomDomain | undefined);
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _useSubdomain?;
get useSubdomain(): boolean | cdktf.IResolvable;
set useSubdomain(value: boolean | cdktf.IResolvable);
resetUseSubdomain(): void;
get useSubdomainInput(): boolean | cdktf.IResolvable | undefined;
}
export interface StorageAccountCustomerManagedKey {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#key_vault_key_id StorageAccount#key_vault_key_id}
*/
readonly keyVaultKeyId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#managed_hsm_key_id StorageAccount#managed_hsm_key_id}
*/
readonly managedHsmKeyId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#user_assigned_identity_id StorageAccount#user_assigned_identity_id}
*/
readonly userAssignedIdentityId: string;
}
export declare function storageAccountCustomerManagedKeyToTerraform(struct?: StorageAccountCustomerManagedKeyOutputReference | StorageAccountCustomerManagedKey): any;
export declare function storageAccountCustomerManagedKeyToHclTerraform(struct?: StorageAccountCustomerManagedKeyOutputReference | StorageAccountCustomerManagedKey): any;
export declare class StorageAccountCustomerManagedKeyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountCustomerManagedKey | undefined;
set internalValue(value: StorageAccountCustomerManagedKey | undefined);
private _keyVaultKeyId?;
get keyVaultKeyId(): string;
set keyVaultKeyId(value: string);
resetKeyVaultKeyId(): void;
get keyVaultKeyIdInput(): string | undefined;
private _managedHsmKeyId?;
get managedHsmKeyId(): string;
set managedHsmKeyId(value: string);
resetManagedHsmKeyId(): void;
get managedHsmKeyIdInput(): string | undefined;
private _userAssignedIdentityId?;
get userAssignedIdentityId(): string;
set userAssignedIdentityId(value: string);
get userAssignedIdentityIdInput(): string | undefined;
}
export interface StorageAccountIdentity {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#identity_ids StorageAccount#identity_ids}
*/
readonly identityIds?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#type StorageAccount#type}
*/
readonly type: string;
}
export declare function storageAccountIdentityToTerraform(struct?: StorageAccountIdentityOutputReference | StorageAccountIdentity): any;
export declare function storageAccountIdentityToHclTerraform(struct?: StorageAccountIdentityOutputReference | StorageAccountIdentity): any;
export declare class StorageAccountIdentityOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountIdentity | undefined;
set internalValue(value: StorageAccountIdentity | undefined);
private _identityIds?;
get identityIds(): string[];
set identityIds(value: string[]);
resetIdentityIds(): void;
get identityIdsInput(): string[] | undefined;
get principalId(): string;
get tenantId(): string;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
}
export interface StorageAccountImmutabilityPolicy {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allow_protected_append_writes StorageAccount#allow_protected_append_writes}
*/
readonly allowProtectedAppendWrites: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#period_since_creation_in_days StorageAccount#period_since_creation_in_days}
*/
readonly periodSinceCreationInDays: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#state StorageAccount#state}
*/
readonly state: string;
}
export declare function storageAccountImmutabilityPolicyToTerraform(struct?: StorageAccountImmutabilityPolicyOutputReference | StorageAccountImmutabilityPolicy): any;
export declare function storageAccountImmutabilityPolicyToHclTerraform(struct?: StorageAccountImmutabilityPolicyOutputReference | StorageAccountImmutabilityPolicy): any;
export declare class StorageAccountImmutabilityPolicyOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountImmutabilityPolicy | undefined;
set internalValue(value: StorageAccountImmutabilityPolicy | undefined);
private _allowProtectedAppendWrites?;
get allowProtectedAppendWrites(): boolean | cdktf.IResolvable;
set allowProtectedAppendWrites(value: boolean | cdktf.IResolvable);
get allowProtectedAppendWritesInput(): boolean | cdktf.IResolvable | undefined;
private _periodSinceCreationInDays?;
get periodSinceCreationInDays(): number;
set periodSinceCreationInDays(value: number);
get periodSinceCreationInDaysInput(): number | undefined;
private _state?;
get state(): string;
set state(value: string);
get stateInput(): string | undefined;
}
export interface StorageAccountNetworkRulesPrivateLinkAccess {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#endpoint_resource_id StorageAccount#endpoint_resource_id}
*/
readonly endpointResourceId: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#endpoint_tenant_id StorageAccount#endpoint_tenant_id}
*/
readonly endpointTenantId?: string;
}
export declare function storageAccountNetworkRulesPrivateLinkAccessToTerraform(struct?: StorageAccountNetworkRulesPrivateLinkAccess | cdktf.IResolvable): any;
export declare function storageAccountNetworkRulesPrivateLinkAccessToHclTerraform(struct?: StorageAccountNetworkRulesPrivateLinkAccess | cdktf.IResolvable): any;
export declare class StorageAccountNetworkRulesPrivateLinkAccessOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): StorageAccountNetworkRulesPrivateLinkAccess | cdktf.IResolvable | undefined;
set internalValue(value: StorageAccountNetworkRulesPrivateLinkAccess | cdktf.IResolvable | undefined);
private _endpointResourceId?;
get endpointResourceId(): string;
set endpointResourceId(value: string);
get endpointResourceIdInput(): string | undefined;
private _endpointTenantId?;
get endpointTenantId(): string;
set endpointTenantId(value: string);
resetEndpointTenantId(): void;
get endpointTenantIdInput(): string | undefined;
}
export declare class StorageAccountNetworkRulesPrivateLinkAccessList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: StorageAccountNetworkRulesPrivateLinkAccess[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): StorageAccountNetworkRulesPrivateLinkAccessOutputReference;
}
export interface StorageAccountNetworkRules {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#bypass StorageAccount#bypass}
*/
readonly bypass?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#default_action StorageAccount#default_action}
*/
readonly defaultAction: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#ip_rules StorageAccount#ip_rules}
*/
readonly ipRules?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#virtual_network_subnet_ids StorageAccount#virtual_network_subnet_ids}
*/
readonly virtualNetworkSubnetIds?: string[];
/**
* private_link_access block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#private_link_access StorageAccount#private_link_access}
*/
readonly privateLinkAccess?: StorageAccountNetworkRulesPrivateLinkAccess[] | cdktf.IResolvable;
}
export declare function storageAccountNetworkRulesToTerraform(struct?: StorageAccountNetworkRulesOutputReference | StorageAccountNetworkRules): any;
export declare function storageAccountNetworkRulesToHclTerraform(struct?: StorageAccountNetworkRulesOutputReference | StorageAccountNetworkRules): any;
export declare class StorageAccountNetworkRulesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): StorageAccountNetworkRules | undefined;
set internalValue(value: StorageAccountNetworkRules | undefined);
private _bypass?;
get bypass(): string[];
set bypass(value: string[]);
resetBypass(): void;
get bypassInput(): string[] | undefined;
private _defaultAction?;
get defaultAction(): string;
set defaultAction(value: string);
get defaultActionInput(): string | undefined;
private _ipRules?;
get ipRules(): string[];
set ipRules(value: string[]);
resetIpRules(): void;
get ipRulesInput(): string[] | undefined;
private _virtualNetworkSubnetIds?;
get virtualNetworkSubnetIds(): string[];
set virtualNetworkSubnetIds(value: string[]);
resetVirtualNetworkSubnetIds(): void;
get virtualNetworkSubnetIdsInput(): string[] | undefined;
private _privateLinkAccess;
get privateLinkAccess(): StorageAccountNetworkRulesPrivateLinkAccessList;
putPrivateLinkAccess(value: StorageAccountNetworkRulesPrivateLinkAccess[] | cdktf.IResolvable): void;
resetPrivateLinkAccess(): void;
get privateLinkAccessInput(): cdktf.IResolvable | StorageAccountNetworkRulesPrivateLinkAccess[] | undefined;
}
export interface StorageAccountQueuePropertiesCorsRule {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allowed_headers StorageAccount#allowed_headers}
*/
readonly allowedHeaders: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allowed_methods StorageAccount#allowed_methods}
*/
readonly allowedMethods: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#allowed_origins StorageAccount#allowed_origins}
*/
readonly allowedOrigins: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#exposed_headers StorageAccount#exposed_headers}
*/
readonly exposedHeaders: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_account#max_age_in_seconds StorageAccount#max_age_in_seconds}
*/
readonly maxAgeInSeconds: number;
}
export declare function storageAccountQueuePropertiesCorsRuleToTerraform(struct?: StorageAccountQueuePropertiesCorsRule | cdktf.IResolvable): any;
export declare function storageAccountQueuePropertiesCorsRuleToHclTerraform(struct?: StorageAccountQueuePropertiesCorsRule | cdktf.IResolvable): any;
export declare class StorageAccountQueuePropertiesCorsRuleOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): StorageAccountQueuePropertiesCorsRule | cdktf.IResolvable | undefined;
set internalValue(value: StorageAccountQueuePropertiesCorsRule | cdktf.IResolvable | undefined);
private _allowedHeaders?;
get allowedHeaders(): string[];
set allowedHeaders(value: string[]);
get allowedHeadersInput(): string[] | undefined;
private _allowedMethods?;
get allowedMethods(): string[];
set allowedMethods(value: string[]);
get allowedMethodsInput(): string[] | undefined;
private _allowedOrigins?;
get allowedOrigins(): string[];
set allowedOrigins(value: string[]);
get allowedOriginsInput(): string[] | undefined;
private _exposedHeaders?;
get exposedHeaders(): string[];
set exposedHeaders(value: string[]);
get exposedHeadersInput(): string[] | undefined;
private _maxAgeInSeconds?;
get maxAgeIn