@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
604 lines (603 loc) • 38.8 kB
TypeScript
/**
* 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;
};
}