UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

604 lines (603 loc) 38.8 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface StorageManagementPolicyConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#id StorageManagementPolicy#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_management_policy#storage_account_id StorageManagementPolicy#storage_account_id} */ readonly storageAccountId: string; /** * rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#rule StorageManagementPolicy#rule} */ readonly rule?: StorageManagementPolicyRule[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#timeouts StorageManagementPolicy#timeouts} */ readonly timeouts?: StorageManagementPolicyTimeouts; } export interface StorageManagementPolicyRuleActionsBaseBlob { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#auto_tier_to_hot_from_cool_enabled StorageManagementPolicy#auto_tier_to_hot_from_cool_enabled} */ readonly autoTierToHotFromCoolEnabled?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#delete_after_days_since_creation_greater_than StorageManagementPolicy#delete_after_days_since_creation_greater_than} */ readonly deleteAfterDaysSinceCreationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#delete_after_days_since_last_access_time_greater_than StorageManagementPolicy#delete_after_days_since_last_access_time_greater_than} */ readonly deleteAfterDaysSinceLastAccessTimeGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#delete_after_days_since_modification_greater_than StorageManagementPolicy#delete_after_days_since_modification_greater_than} */ readonly deleteAfterDaysSinceModificationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_archive_after_days_since_creation_greater_than StorageManagementPolicy#tier_to_archive_after_days_since_creation_greater_than} */ readonly tierToArchiveAfterDaysSinceCreationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_archive_after_days_since_last_access_time_greater_than StorageManagementPolicy#tier_to_archive_after_days_since_last_access_time_greater_than} */ readonly tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_archive_after_days_since_last_tier_change_greater_than StorageManagementPolicy#tier_to_archive_after_days_since_last_tier_change_greater_than} */ readonly tierToArchiveAfterDaysSinceLastTierChangeGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_archive_after_days_since_modification_greater_than StorageManagementPolicy#tier_to_archive_after_days_since_modification_greater_than} */ readonly tierToArchiveAfterDaysSinceModificationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cold_after_days_since_creation_greater_than StorageManagementPolicy#tier_to_cold_after_days_since_creation_greater_than} */ readonly tierToColdAfterDaysSinceCreationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cold_after_days_since_last_access_time_greater_than StorageManagementPolicy#tier_to_cold_after_days_since_last_access_time_greater_than} */ readonly tierToColdAfterDaysSinceLastAccessTimeGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cold_after_days_since_modification_greater_than StorageManagementPolicy#tier_to_cold_after_days_since_modification_greater_than} */ readonly tierToColdAfterDaysSinceModificationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cool_after_days_since_creation_greater_than StorageManagementPolicy#tier_to_cool_after_days_since_creation_greater_than} */ readonly tierToCoolAfterDaysSinceCreationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cool_after_days_since_last_access_time_greater_than StorageManagementPolicy#tier_to_cool_after_days_since_last_access_time_greater_than} */ readonly tierToCoolAfterDaysSinceLastAccessTimeGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cool_after_days_since_modification_greater_than StorageManagementPolicy#tier_to_cool_after_days_since_modification_greater_than} */ readonly tierToCoolAfterDaysSinceModificationGreaterThan?: number; } export declare function storageManagementPolicyRuleActionsBaseBlobToTerraform(struct?: StorageManagementPolicyRuleActionsBaseBlobOutputReference | StorageManagementPolicyRuleActionsBaseBlob): any; export declare function storageManagementPolicyRuleActionsBaseBlobToHclTerraform(struct?: StorageManagementPolicyRuleActionsBaseBlobOutputReference | StorageManagementPolicyRuleActionsBaseBlob): any; export declare class StorageManagementPolicyRuleActionsBaseBlobOutputReference 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(): StorageManagementPolicyRuleActionsBaseBlob | undefined; set internalValue(value: StorageManagementPolicyRuleActionsBaseBlob | undefined); private _autoTierToHotFromCoolEnabled?; get autoTierToHotFromCoolEnabled(): boolean | cdktf.IResolvable; set autoTierToHotFromCoolEnabled(value: boolean | cdktf.IResolvable); resetAutoTierToHotFromCoolEnabled(): void; get autoTierToHotFromCoolEnabledInput(): boolean | cdktf.IResolvable | undefined; private _deleteAfterDaysSinceCreationGreaterThan?; get deleteAfterDaysSinceCreationGreaterThan(): number; set deleteAfterDaysSinceCreationGreaterThan(value: number); resetDeleteAfterDaysSinceCreationGreaterThan(): void; get deleteAfterDaysSinceCreationGreaterThanInput(): number | undefined; private _deleteAfterDaysSinceLastAccessTimeGreaterThan?; get deleteAfterDaysSinceLastAccessTimeGreaterThan(): number; set deleteAfterDaysSinceLastAccessTimeGreaterThan(value: number); resetDeleteAfterDaysSinceLastAccessTimeGreaterThan(): void; get deleteAfterDaysSinceLastAccessTimeGreaterThanInput(): number | undefined; private _deleteAfterDaysSinceModificationGreaterThan?; get deleteAfterDaysSinceModificationGreaterThan(): number; set deleteAfterDaysSinceModificationGreaterThan(value: number); resetDeleteAfterDaysSinceModificationGreaterThan(): void; get deleteAfterDaysSinceModificationGreaterThanInput(): number | undefined; private _tierToArchiveAfterDaysSinceCreationGreaterThan?; get tierToArchiveAfterDaysSinceCreationGreaterThan(): number; set tierToArchiveAfterDaysSinceCreationGreaterThan(value: number); resetTierToArchiveAfterDaysSinceCreationGreaterThan(): void; get tierToArchiveAfterDaysSinceCreationGreaterThanInput(): number | undefined; private _tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan?; get tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan(): number; set tierToArchiveAfterDaysSinceLastAccessTimeGreaterThan(value: number); resetTierToArchiveAfterDaysSinceLastAccessTimeGreaterThan(): void; get tierToArchiveAfterDaysSinceLastAccessTimeGreaterThanInput(): number | undefined; private _tierToArchiveAfterDaysSinceLastTierChangeGreaterThan?; get tierToArchiveAfterDaysSinceLastTierChangeGreaterThan(): number; set tierToArchiveAfterDaysSinceLastTierChangeGreaterThan(value: number); resetTierToArchiveAfterDaysSinceLastTierChangeGreaterThan(): void; get tierToArchiveAfterDaysSinceLastTierChangeGreaterThanInput(): number | undefined; private _tierToArchiveAfterDaysSinceModificationGreaterThan?; get tierToArchiveAfterDaysSinceModificationGreaterThan(): number; set tierToArchiveAfterDaysSinceModificationGreaterThan(value: number); resetTierToArchiveAfterDaysSinceModificationGreaterThan(): void; get tierToArchiveAfterDaysSinceModificationGreaterThanInput(): number | undefined; private _tierToColdAfterDaysSinceCreationGreaterThan?; get tierToColdAfterDaysSinceCreationGreaterThan(): number; set tierToColdAfterDaysSinceCreationGreaterThan(value: number); resetTierToColdAfterDaysSinceCreationGreaterThan(): void; get tierToColdAfterDaysSinceCreationGreaterThanInput(): number | undefined; private _tierToColdAfterDaysSinceLastAccessTimeGreaterThan?; get tierToColdAfterDaysSinceLastAccessTimeGreaterThan(): number; set tierToColdAfterDaysSinceLastAccessTimeGreaterThan(value: number); resetTierToColdAfterDaysSinceLastAccessTimeGreaterThan(): void; get tierToColdAfterDaysSinceLastAccessTimeGreaterThanInput(): number | undefined; private _tierToColdAfterDaysSinceModificationGreaterThan?; get tierToColdAfterDaysSinceModificationGreaterThan(): number; set tierToColdAfterDaysSinceModificationGreaterThan(value: number); resetTierToColdAfterDaysSinceModificationGreaterThan(): void; get tierToColdAfterDaysSinceModificationGreaterThanInput(): number | undefined; private _tierToCoolAfterDaysSinceCreationGreaterThan?; get tierToCoolAfterDaysSinceCreationGreaterThan(): number; set tierToCoolAfterDaysSinceCreationGreaterThan(value: number); resetTierToCoolAfterDaysSinceCreationGreaterThan(): void; get tierToCoolAfterDaysSinceCreationGreaterThanInput(): number | undefined; private _tierToCoolAfterDaysSinceLastAccessTimeGreaterThan?; get tierToCoolAfterDaysSinceLastAccessTimeGreaterThan(): number; set tierToCoolAfterDaysSinceLastAccessTimeGreaterThan(value: number); resetTierToCoolAfterDaysSinceLastAccessTimeGreaterThan(): void; get tierToCoolAfterDaysSinceLastAccessTimeGreaterThanInput(): number | undefined; private _tierToCoolAfterDaysSinceModificationGreaterThan?; get tierToCoolAfterDaysSinceModificationGreaterThan(): number; set tierToCoolAfterDaysSinceModificationGreaterThan(value: number); resetTierToCoolAfterDaysSinceModificationGreaterThan(): void; get tierToCoolAfterDaysSinceModificationGreaterThanInput(): number | undefined; } export interface StorageManagementPolicyRuleActionsSnapshot { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#change_tier_to_archive_after_days_since_creation StorageManagementPolicy#change_tier_to_archive_after_days_since_creation} */ readonly changeTierToArchiveAfterDaysSinceCreation?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#change_tier_to_cool_after_days_since_creation StorageManagementPolicy#change_tier_to_cool_after_days_since_creation} */ readonly changeTierToCoolAfterDaysSinceCreation?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#delete_after_days_since_creation_greater_than StorageManagementPolicy#delete_after_days_since_creation_greater_than} */ readonly deleteAfterDaysSinceCreationGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_archive_after_days_since_last_tier_change_greater_than StorageManagementPolicy#tier_to_archive_after_days_since_last_tier_change_greater_than} */ readonly tierToArchiveAfterDaysSinceLastTierChangeGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cold_after_days_since_creation_greater_than StorageManagementPolicy#tier_to_cold_after_days_since_creation_greater_than} */ readonly tierToColdAfterDaysSinceCreationGreaterThan?: number; } export declare function storageManagementPolicyRuleActionsSnapshotToTerraform(struct?: StorageManagementPolicyRuleActionsSnapshotOutputReference | StorageManagementPolicyRuleActionsSnapshot): any; export declare function storageManagementPolicyRuleActionsSnapshotToHclTerraform(struct?: StorageManagementPolicyRuleActionsSnapshotOutputReference | StorageManagementPolicyRuleActionsSnapshot): any; export declare class StorageManagementPolicyRuleActionsSnapshotOutputReference 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(): StorageManagementPolicyRuleActionsSnapshot | undefined; set internalValue(value: StorageManagementPolicyRuleActionsSnapshot | undefined); private _changeTierToArchiveAfterDaysSinceCreation?; get changeTierToArchiveAfterDaysSinceCreation(): number; set changeTierToArchiveAfterDaysSinceCreation(value: number); resetChangeTierToArchiveAfterDaysSinceCreation(): void; get changeTierToArchiveAfterDaysSinceCreationInput(): number | undefined; private _changeTierToCoolAfterDaysSinceCreation?; get changeTierToCoolAfterDaysSinceCreation(): number; set changeTierToCoolAfterDaysSinceCreation(value: number); resetChangeTierToCoolAfterDaysSinceCreation(): void; get changeTierToCoolAfterDaysSinceCreationInput(): number | undefined; private _deleteAfterDaysSinceCreationGreaterThan?; get deleteAfterDaysSinceCreationGreaterThan(): number; set deleteAfterDaysSinceCreationGreaterThan(value: number); resetDeleteAfterDaysSinceCreationGreaterThan(): void; get deleteAfterDaysSinceCreationGreaterThanInput(): number | undefined; private _tierToArchiveAfterDaysSinceLastTierChangeGreaterThan?; get tierToArchiveAfterDaysSinceLastTierChangeGreaterThan(): number; set tierToArchiveAfterDaysSinceLastTierChangeGreaterThan(value: number); resetTierToArchiveAfterDaysSinceLastTierChangeGreaterThan(): void; get tierToArchiveAfterDaysSinceLastTierChangeGreaterThanInput(): number | undefined; private _tierToColdAfterDaysSinceCreationGreaterThan?; get tierToColdAfterDaysSinceCreationGreaterThan(): number; set tierToColdAfterDaysSinceCreationGreaterThan(value: number); resetTierToColdAfterDaysSinceCreationGreaterThan(): void; get tierToColdAfterDaysSinceCreationGreaterThanInput(): number | undefined; } export interface StorageManagementPolicyRuleActionsVersion { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#change_tier_to_archive_after_days_since_creation StorageManagementPolicy#change_tier_to_archive_after_days_since_creation} */ readonly changeTierToArchiveAfterDaysSinceCreation?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#change_tier_to_cool_after_days_since_creation StorageManagementPolicy#change_tier_to_cool_after_days_since_creation} */ readonly changeTierToCoolAfterDaysSinceCreation?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#delete_after_days_since_creation StorageManagementPolicy#delete_after_days_since_creation} */ readonly deleteAfterDaysSinceCreation?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_archive_after_days_since_last_tier_change_greater_than StorageManagementPolicy#tier_to_archive_after_days_since_last_tier_change_greater_than} */ readonly tierToArchiveAfterDaysSinceLastTierChangeGreaterThan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#tier_to_cold_after_days_since_creation_greater_than StorageManagementPolicy#tier_to_cold_after_days_since_creation_greater_than} */ readonly tierToColdAfterDaysSinceCreationGreaterThan?: number; } export declare function storageManagementPolicyRuleActionsVersionToTerraform(struct?: StorageManagementPolicyRuleActionsVersionOutputReference | StorageManagementPolicyRuleActionsVersion): any; export declare function storageManagementPolicyRuleActionsVersionToHclTerraform(struct?: StorageManagementPolicyRuleActionsVersionOutputReference | StorageManagementPolicyRuleActionsVersion): any; export declare class StorageManagementPolicyRuleActionsVersionOutputReference 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(): StorageManagementPolicyRuleActionsVersion | undefined; set internalValue(value: StorageManagementPolicyRuleActionsVersion | undefined); private _changeTierToArchiveAfterDaysSinceCreation?; get changeTierToArchiveAfterDaysSinceCreation(): number; set changeTierToArchiveAfterDaysSinceCreation(value: number); resetChangeTierToArchiveAfterDaysSinceCreation(): void; get changeTierToArchiveAfterDaysSinceCreationInput(): number | undefined; private _changeTierToCoolAfterDaysSinceCreation?; get changeTierToCoolAfterDaysSinceCreation(): number; set changeTierToCoolAfterDaysSinceCreation(value: number); resetChangeTierToCoolAfterDaysSinceCreation(): void; get changeTierToCoolAfterDaysSinceCreationInput(): number | undefined; private _deleteAfterDaysSinceCreation?; get deleteAfterDaysSinceCreation(): number; set deleteAfterDaysSinceCreation(value: number); resetDeleteAfterDaysSinceCreation(): void; get deleteAfterDaysSinceCreationInput(): number | undefined; private _tierToArchiveAfterDaysSinceLastTierChangeGreaterThan?; get tierToArchiveAfterDaysSinceLastTierChangeGreaterThan(): number; set tierToArchiveAfterDaysSinceLastTierChangeGreaterThan(value: number); resetTierToArchiveAfterDaysSinceLastTierChangeGreaterThan(): void; get tierToArchiveAfterDaysSinceLastTierChangeGreaterThanInput(): number | undefined; private _tierToColdAfterDaysSinceCreationGreaterThan?; get tierToColdAfterDaysSinceCreationGreaterThan(): number; set tierToColdAfterDaysSinceCreationGreaterThan(value: number); resetTierToColdAfterDaysSinceCreationGreaterThan(): void; get tierToColdAfterDaysSinceCreationGreaterThanInput(): number | undefined; } export interface StorageManagementPolicyRuleActions { /** * base_blob block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#base_blob StorageManagementPolicy#base_blob} */ readonly baseBlob?: StorageManagementPolicyRuleActionsBaseBlob; /** * snapshot block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#snapshot StorageManagementPolicy#snapshot} */ readonly snapshot?: StorageManagementPolicyRuleActionsSnapshot; /** * version block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#version StorageManagementPolicy#version} */ readonly version?: StorageManagementPolicyRuleActionsVersion; } export declare function storageManagementPolicyRuleActionsToTerraform(struct?: StorageManagementPolicyRuleActionsOutputReference | StorageManagementPolicyRuleActions): any; export declare function storageManagementPolicyRuleActionsToHclTerraform(struct?: StorageManagementPolicyRuleActionsOutputReference | StorageManagementPolicyRuleActions): any; export declare class StorageManagementPolicyRuleActionsOutputReference 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(): StorageManagementPolicyRuleActions | undefined; set internalValue(value: StorageManagementPolicyRuleActions | undefined); private _baseBlob; get baseBlob(): StorageManagementPolicyRuleActionsBaseBlobOutputReference; putBaseBlob(value: StorageManagementPolicyRuleActionsBaseBlob): void; resetBaseBlob(): void; get baseBlobInput(): StorageManagementPolicyRuleActionsBaseBlob | undefined; private _snapshot; get snapshot(): StorageManagementPolicyRuleActionsSnapshotOutputReference; putSnapshot(value: StorageManagementPolicyRuleActionsSnapshot): void; resetSnapshot(): void; get snapshotInput(): StorageManagementPolicyRuleActionsSnapshot | undefined; private _version; get version(): StorageManagementPolicyRuleActionsVersionOutputReference; putVersion(value: StorageManagementPolicyRuleActionsVersion): void; resetVersion(): void; get versionInput(): StorageManagementPolicyRuleActionsVersion | undefined; } export interface StorageManagementPolicyRuleFiltersMatchBlobIndexTag { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#name StorageManagementPolicy#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#operation StorageManagementPolicy#operation} */ readonly operation?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#value StorageManagementPolicy#value} */ readonly value: string; } export declare function storageManagementPolicyRuleFiltersMatchBlobIndexTagToTerraform(struct?: StorageManagementPolicyRuleFiltersMatchBlobIndexTag | cdktf.IResolvable): any; export declare function storageManagementPolicyRuleFiltersMatchBlobIndexTagToHclTerraform(struct?: StorageManagementPolicyRuleFiltersMatchBlobIndexTag | cdktf.IResolvable): any; export declare class StorageManagementPolicyRuleFiltersMatchBlobIndexTagOutputReference 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(): StorageManagementPolicyRuleFiltersMatchBlobIndexTag | cdktf.IResolvable | undefined; set internalValue(value: StorageManagementPolicyRuleFiltersMatchBlobIndexTag | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _operation?; get operation(): string; set operation(value: string); resetOperation(): void; get operationInput(): string | undefined; private _value?; get value(): string; set value(value: string); get valueInput(): string | undefined; } export declare class StorageManagementPolicyRuleFiltersMatchBlobIndexTagList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageManagementPolicyRuleFiltersMatchBlobIndexTag[] | 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): StorageManagementPolicyRuleFiltersMatchBlobIndexTagOutputReference; } export interface StorageManagementPolicyRuleFilters { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#blob_types StorageManagementPolicy#blob_types} */ readonly blobTypes: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#prefix_match StorageManagementPolicy#prefix_match} */ readonly prefixMatch?: string[]; /** * match_blob_index_tag block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#match_blob_index_tag StorageManagementPolicy#match_blob_index_tag} */ readonly matchBlobIndexTag?: StorageManagementPolicyRuleFiltersMatchBlobIndexTag[] | cdktf.IResolvable; } export declare function storageManagementPolicyRuleFiltersToTerraform(struct?: StorageManagementPolicyRuleFiltersOutputReference | StorageManagementPolicyRuleFilters): any; export declare function storageManagementPolicyRuleFiltersToHclTerraform(struct?: StorageManagementPolicyRuleFiltersOutputReference | StorageManagementPolicyRuleFilters): any; export declare class StorageManagementPolicyRuleFiltersOutputReference 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(): StorageManagementPolicyRuleFilters | undefined; set internalValue(value: StorageManagementPolicyRuleFilters | undefined); private _blobTypes?; get blobTypes(): string[]; set blobTypes(value: string[]); get blobTypesInput(): string[] | undefined; private _prefixMatch?; get prefixMatch(): string[]; set prefixMatch(value: string[]); resetPrefixMatch(): void; get prefixMatchInput(): string[] | undefined; private _matchBlobIndexTag; get matchBlobIndexTag(): StorageManagementPolicyRuleFiltersMatchBlobIndexTagList; putMatchBlobIndexTag(value: StorageManagementPolicyRuleFiltersMatchBlobIndexTag[] | cdktf.IResolvable): void; resetMatchBlobIndexTag(): void; get matchBlobIndexTagInput(): cdktf.IResolvable | StorageManagementPolicyRuleFiltersMatchBlobIndexTag[] | undefined; } export interface StorageManagementPolicyRule { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#enabled StorageManagementPolicy#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#name StorageManagementPolicy#name} */ readonly name: string; /** * actions block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#actions StorageManagementPolicy#actions} */ readonly actions: StorageManagementPolicyRuleActions; /** * filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#filters StorageManagementPolicy#filters} */ readonly filters: StorageManagementPolicyRuleFilters; } export declare function storageManagementPolicyRuleToTerraform(struct?: StorageManagementPolicyRule | cdktf.IResolvable): any; export declare function storageManagementPolicyRuleToHclTerraform(struct?: StorageManagementPolicyRule | cdktf.IResolvable): any; export declare class StorageManagementPolicyRuleOutputReference 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(): StorageManagementPolicyRule | cdktf.IResolvable | undefined; set internalValue(value: StorageManagementPolicyRule | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _actions; get actions(): StorageManagementPolicyRuleActionsOutputReference; putActions(value: StorageManagementPolicyRuleActions): void; get actionsInput(): StorageManagementPolicyRuleActions | undefined; private _filters; get filters(): StorageManagementPolicyRuleFiltersOutputReference; putFilters(value: StorageManagementPolicyRuleFilters): void; get filtersInput(): StorageManagementPolicyRuleFilters | undefined; } export declare class StorageManagementPolicyRuleList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageManagementPolicyRule[] | 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): StorageManagementPolicyRuleOutputReference; } export interface StorageManagementPolicyTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#create StorageManagementPolicy#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#delete StorageManagementPolicy#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#read StorageManagementPolicy#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#update StorageManagementPolicy#update} */ readonly update?: string; } export declare function storageManagementPolicyTimeoutsToTerraform(struct?: StorageManagementPolicyTimeouts | cdktf.IResolvable): any; export declare function storageManagementPolicyTimeoutsToHclTerraform(struct?: StorageManagementPolicyTimeouts | cdktf.IResolvable): any; export declare class StorageManagementPolicyTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): StorageManagementPolicyTimeouts | cdktf.IResolvable | undefined; set internalValue(value: StorageManagementPolicyTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy azurerm_storage_management_policy} */ export declare class StorageManagementPolicy extends cdktf.TerraformResource { static readonly tfResourceType = "azurerm_storage_management_policy"; /** * Generates CDKTF code for importing a StorageManagementPolicy resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the StorageManagementPolicy to import * @param importFromId The id of the existing StorageManagementPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the StorageManagementPolicy to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/storage_management_policy azurerm_storage_management_policy} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options StorageManagementPolicyConfig */ constructor(scope: Construct, id: string, config: StorageManagementPolicyConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _storageAccountId?; get storageAccountId(): string; set storageAccountId(value: string); get storageAccountIdInput(): string | undefined; private _rule; get rule(): StorageManagementPolicyRuleList; putRule(value: StorageManagementPolicyRule[] | cdktf.IResolvable): void; resetRule(): void; get ruleInput(): cdktf.IResolvable | StorageManagementPolicyRule[] | undefined; private _timeouts; get timeouts(): StorageManagementPolicyTimeoutsOutputReference; putTimeouts(value: StorageManagementPolicyTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | StorageManagementPolicyTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }