@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
443 lines (442 loc) • 22.1 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ElasticacheClusterConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#apply_immediately ElasticacheCluster#apply_immediately}
*/
readonly applyImmediately?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#auto_minor_version_upgrade ElasticacheCluster#auto_minor_version_upgrade}
*/
readonly autoMinorVersionUpgrade?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#availability_zone ElasticacheCluster#availability_zone}
*/
readonly availabilityZone?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#az_mode ElasticacheCluster#az_mode}
*/
readonly azMode?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#cluster_id ElasticacheCluster#cluster_id}
*/
readonly clusterId: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#engine ElasticacheCluster#engine}
*/
readonly engine?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#engine_version ElasticacheCluster#engine_version}
*/
readonly engineVersion?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#final_snapshot_identifier ElasticacheCluster#final_snapshot_identifier}
*/
readonly finalSnapshotIdentifier?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#id ElasticacheCluster#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/aws/5.84.0/docs/resources/elasticache_cluster#ip_discovery ElasticacheCluster#ip_discovery}
*/
readonly ipDiscovery?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#maintenance_window ElasticacheCluster#maintenance_window}
*/
readonly maintenanceWindow?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#network_type ElasticacheCluster#network_type}
*/
readonly networkType?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#node_type ElasticacheCluster#node_type}
*/
readonly nodeType?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#notification_topic_arn ElasticacheCluster#notification_topic_arn}
*/
readonly notificationTopicArn?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#num_cache_nodes ElasticacheCluster#num_cache_nodes}
*/
readonly numCacheNodes?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#outpost_mode ElasticacheCluster#outpost_mode}
*/
readonly outpostMode?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#parameter_group_name ElasticacheCluster#parameter_group_name}
*/
readonly parameterGroupName?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#port ElasticacheCluster#port}
*/
readonly port?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#preferred_availability_zones ElasticacheCluster#preferred_availability_zones}
*/
readonly preferredAvailabilityZones?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#preferred_outpost_arn ElasticacheCluster#preferred_outpost_arn}
*/
readonly preferredOutpostArn?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#replication_group_id ElasticacheCluster#replication_group_id}
*/
readonly replicationGroupId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#security_group_ids ElasticacheCluster#security_group_ids}
*/
readonly securityGroupIds?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#snapshot_arns ElasticacheCluster#snapshot_arns}
*/
readonly snapshotArns?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#snapshot_name ElasticacheCluster#snapshot_name}
*/
readonly snapshotName?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#snapshot_retention_limit ElasticacheCluster#snapshot_retention_limit}
*/
readonly snapshotRetentionLimit?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#snapshot_window ElasticacheCluster#snapshot_window}
*/
readonly snapshotWindow?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#subnet_group_name ElasticacheCluster#subnet_group_name}
*/
readonly subnetGroupName?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#tags ElasticacheCluster#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#tags_all ElasticacheCluster#tags_all}
*/
readonly tagsAll?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#transit_encryption_enabled ElasticacheCluster#transit_encryption_enabled}
*/
readonly transitEncryptionEnabled?: boolean | cdktf.IResolvable;
/**
* log_delivery_configuration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#log_delivery_configuration ElasticacheCluster#log_delivery_configuration}
*/
readonly logDeliveryConfiguration?: ElasticacheClusterLogDeliveryConfiguration[] | cdktf.IResolvable;
}
export interface ElasticacheClusterCacheNodes {
}
export declare function elasticacheClusterCacheNodesToTerraform(struct?: ElasticacheClusterCacheNodes): any;
export declare function elasticacheClusterCacheNodesToHclTerraform(struct?: ElasticacheClusterCacheNodes): any;
export declare class ElasticacheClusterCacheNodesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @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(): ElasticacheClusterCacheNodes | undefined;
set internalValue(value: ElasticacheClusterCacheNodes | undefined);
get address(): string;
get availabilityZone(): string;
get id(): string;
get outpostArn(): string;
get port(): number;
}
export declare class ElasticacheClusterCacheNodesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @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): ElasticacheClusterCacheNodesOutputReference;
}
export interface ElasticacheClusterLogDeliveryConfiguration {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#destination ElasticacheCluster#destination}
*/
readonly destination: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#destination_type ElasticacheCluster#destination_type}
*/
readonly destinationType: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#log_format ElasticacheCluster#log_format}
*/
readonly logFormat: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#log_type ElasticacheCluster#log_type}
*/
readonly logType: string;
}
export declare function elasticacheClusterLogDeliveryConfigurationToTerraform(struct?: ElasticacheClusterLogDeliveryConfiguration | cdktf.IResolvable): any;
export declare function elasticacheClusterLogDeliveryConfigurationToHclTerraform(struct?: ElasticacheClusterLogDeliveryConfiguration | cdktf.IResolvable): any;
export declare class ElasticacheClusterLogDeliveryConfigurationOutputReference 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(): ElasticacheClusterLogDeliveryConfiguration | cdktf.IResolvable | undefined;
set internalValue(value: ElasticacheClusterLogDeliveryConfiguration | cdktf.IResolvable | undefined);
private _destination?;
get destination(): string;
set destination(value: string);
get destinationInput(): string | undefined;
private _destinationType?;
get destinationType(): string;
set destinationType(value: string);
get destinationTypeInput(): string | undefined;
private _logFormat?;
get logFormat(): string;
set logFormat(value: string);
get logFormatInput(): string | undefined;
private _logType?;
get logType(): string;
set logType(value: string);
get logTypeInput(): string | undefined;
}
export declare class ElasticacheClusterLogDeliveryConfigurationList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ElasticacheClusterLogDeliveryConfiguration[] | 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): ElasticacheClusterLogDeliveryConfigurationOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster aws_elasticache_cluster}
*/
export declare class ElasticacheCluster extends cdktf.TerraformResource {
static readonly tfResourceType = "aws_elasticache_cluster";
/**
* Generates CDKTF code for importing a ElasticacheCluster 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 ElasticacheCluster to import
* @param importFromId The id of the existing ElasticacheCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/elasticache_cluster#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ElasticacheCluster 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/aws/5.84.0/docs/resources/elasticache_cluster aws_elasticache_cluster} 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 ElasticacheClusterConfig
*/
constructor(scope: Construct, id: string, config: ElasticacheClusterConfig);
private _applyImmediately?;
get applyImmediately(): boolean | cdktf.IResolvable;
set applyImmediately(value: boolean | cdktf.IResolvable);
resetApplyImmediately(): void;
get applyImmediatelyInput(): boolean | cdktf.IResolvable | undefined;
get arn(): string;
private _autoMinorVersionUpgrade?;
get autoMinorVersionUpgrade(): string;
set autoMinorVersionUpgrade(value: string);
resetAutoMinorVersionUpgrade(): void;
get autoMinorVersionUpgradeInput(): string | undefined;
private _availabilityZone?;
get availabilityZone(): string;
set availabilityZone(value: string);
resetAvailabilityZone(): void;
get availabilityZoneInput(): string | undefined;
private _azMode?;
get azMode(): string;
set azMode(value: string);
resetAzMode(): void;
get azModeInput(): string | undefined;
private _cacheNodes;
get cacheNodes(): ElasticacheClusterCacheNodesList;
get clusterAddress(): string;
private _clusterId?;
get clusterId(): string;
set clusterId(value: string);
get clusterIdInput(): string | undefined;
get configurationEndpoint(): string;
private _engine?;
get engine(): string;
set engine(value: string);
resetEngine(): void;
get engineInput(): string | undefined;
private _engineVersion?;
get engineVersion(): string;
set engineVersion(value: string);
resetEngineVersion(): void;
get engineVersionInput(): string | undefined;
get engineVersionActual(): string;
private _finalSnapshotIdentifier?;
get finalSnapshotIdentifier(): string;
set finalSnapshotIdentifier(value: string);
resetFinalSnapshotIdentifier(): void;
get finalSnapshotIdentifierInput(): string | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _ipDiscovery?;
get ipDiscovery(): string;
set ipDiscovery(value: string);
resetIpDiscovery(): void;
get ipDiscoveryInput(): string | undefined;
private _maintenanceWindow?;
get maintenanceWindow(): string;
set maintenanceWindow(value: string);
resetMaintenanceWindow(): void;
get maintenanceWindowInput(): string | undefined;
private _networkType?;
get networkType(): string;
set networkType(value: string);
resetNetworkType(): void;
get networkTypeInput(): string | undefined;
private _nodeType?;
get nodeType(): string;
set nodeType(value: string);
resetNodeType(): void;
get nodeTypeInput(): string | undefined;
private _notificationTopicArn?;
get notificationTopicArn(): string;
set notificationTopicArn(value: string);
resetNotificationTopicArn(): void;
get notificationTopicArnInput(): string | undefined;
private _numCacheNodes?;
get numCacheNodes(): number;
set numCacheNodes(value: number);
resetNumCacheNodes(): void;
get numCacheNodesInput(): number | undefined;
private _outpostMode?;
get outpostMode(): string;
set outpostMode(value: string);
resetOutpostMode(): void;
get outpostModeInput(): string | undefined;
private _parameterGroupName?;
get parameterGroupName(): string;
set parameterGroupName(value: string);
resetParameterGroupName(): void;
get parameterGroupNameInput(): string | undefined;
private _port?;
get port(): number;
set port(value: number);
resetPort(): void;
get portInput(): number | undefined;
private _preferredAvailabilityZones?;
get preferredAvailabilityZones(): string[];
set preferredAvailabilityZones(value: string[]);
resetPreferredAvailabilityZones(): void;
get preferredAvailabilityZonesInput(): string[] | undefined;
private _preferredOutpostArn?;
get preferredOutpostArn(): string;
set preferredOutpostArn(value: string);
resetPreferredOutpostArn(): void;
get preferredOutpostArnInput(): string | undefined;
private _replicationGroupId?;
get replicationGroupId(): string;
set replicationGroupId(value: string);
resetReplicationGroupId(): void;
get replicationGroupIdInput(): string | undefined;
private _securityGroupIds?;
get securityGroupIds(): string[];
set securityGroupIds(value: string[]);
resetSecurityGroupIds(): void;
get securityGroupIdsInput(): string[] | undefined;
private _snapshotArns?;
get snapshotArns(): string[];
set snapshotArns(value: string[]);
resetSnapshotArns(): void;
get snapshotArnsInput(): string[] | undefined;
private _snapshotName?;
get snapshotName(): string;
set snapshotName(value: string);
resetSnapshotName(): void;
get snapshotNameInput(): string | undefined;
private _snapshotRetentionLimit?;
get snapshotRetentionLimit(): number;
set snapshotRetentionLimit(value: number);
resetSnapshotRetentionLimit(): void;
get snapshotRetentionLimitInput(): number | undefined;
private _snapshotWindow?;
get snapshotWindow(): string;
set snapshotWindow(value: string);
resetSnapshotWindow(): void;
get snapshotWindowInput(): string | undefined;
private _subnetGroupName?;
get subnetGroupName(): string;
set subnetGroupName(value: string);
resetSubnetGroupName(): void;
get subnetGroupNameInput(): string | undefined;
private _tags?;
get tags(): {
[key: string]: string;
};
set tags(value: {
[key: string]: string;
});
resetTags(): void;
get tagsInput(): {
[key: string]: string;
} | undefined;
private _tagsAll?;
get tagsAll(): {
[key: string]: string;
};
set tagsAll(value: {
[key: string]: string;
});
resetTagsAll(): void;
get tagsAllInput(): {
[key: string]: string;
} | undefined;
private _transitEncryptionEnabled?;
get transitEncryptionEnabled(): boolean | cdktf.IResolvable;
set transitEncryptionEnabled(value: boolean | cdktf.IResolvable);
resetTransitEncryptionEnabled(): void;
get transitEncryptionEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _logDeliveryConfiguration;
get logDeliveryConfiguration(): ElasticacheClusterLogDeliveryConfigurationList;
putLogDeliveryConfiguration(value: ElasticacheClusterLogDeliveryConfiguration[] | cdktf.IResolvable): void;
resetLogDeliveryConfiguration(): void;
get logDeliveryConfigurationInput(): cdktf.IResolvable | ElasticacheClusterLogDeliveryConfiguration[] | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}