aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,006 lines • 1 MB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* Creates a new Capacity Reservation with the specified attributes.
*
* For more information, see [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) in the *Amazon EC2 User Guide* .
*
* @cloudformationResource AWS::EC2::CapacityReservation
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html
*/
export declare class CfnCapacityReservation extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCapacityReservation from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCapacityReservation;
/**
* Returns the Availability Zone in which the capacity is reserved. For example: `us-east-1a` .
*
* @cloudformationAttribute AvailabilityZone
*/
readonly attrAvailabilityZone: string;
/**
* Returns the remaining capacity, which indicates the number of instances that can be launched in the Capacity Reservation. For example: `9` .
*
* @cloudformationAttribute AvailableInstanceCount
*/
readonly attrAvailableInstanceCount: number;
/**
* The ID of the Capacity Reservation.
*
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* Returns the type of instance for which the capacity is reserved. For example: `m4.large` .
*
* @cloudformationAttribute InstanceType
*/
readonly attrInstanceType: string;
/**
* Returns the tenancy of the Capacity Reservation. For example: `dedicated` .
*
* @cloudformationAttribute Tenancy
*/
readonly attrTenancy: string;
/**
* Returns the total number of instances for which the Capacity Reservation reserves capacity. For example: `15` .
*
* @cloudformationAttribute TotalInstanceCount
*/
readonly attrTotalInstanceCount: number;
/**
* The Availability Zone in which to create the Capacity Reservation.
*/
availabilityZone: string;
/**
* Indicates whether the Capacity Reservation supports EBS-optimized instances.
*/
ebsOptimized?: boolean | cdk.IResolvable;
/**
* The date and time at which the Capacity Reservation expires.
*/
endDate?: string;
/**
* Indicates the way in which the Capacity Reservation ends.
*/
endDateType?: string;
/**
* *Deprecated.*.
*/
ephemeralStorage?: boolean | cdk.IResolvable;
/**
* The number of instances for which to reserve capacity.
*/
instanceCount: number;
/**
* Indicates the type of instance launches that the Capacity Reservation accepts. The options include:.
*/
instanceMatchCriteria?: string;
/**
* The type of operating system for which to reserve capacity.
*/
instancePlatform: string;
/**
* The instance type for which to reserve capacity.
*/
instanceType: string;
/**
* The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
*/
outPostArn?: string;
/**
* The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation.
*/
placementGroupArn?: string;
/**
* The tags to apply to the Capacity Reservation during launch.
*/
tagSpecifications?: Array<cdk.IResolvable | CfnCapacityReservation.TagSpecificationProperty> | cdk.IResolvable;
/**
* Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:.
*/
tenancy?: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnCapacityReservationProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnCapacityReservation {
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html
*/
interface TagSpecificationProperty {
/**
* The type of resource to tag.
*
* Specify `capacity-reservation` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-resourcetype
*/
readonly resourceType?: string;
/**
* The tags to apply to the resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
}
/**
* Properties for defining a `CfnCapacityReservation`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html
*/
export interface CfnCapacityReservationProps {
/**
* The Availability Zone in which to create the Capacity Reservation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-availabilityzone
*/
readonly availabilityZone: string;
/**
* Indicates whether the Capacity Reservation supports EBS-optimized instances.
*
* This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ebsoptimized
*/
readonly ebsOptimized?: boolean | cdk.IResolvable;
/**
* The date and time at which the Capacity Reservation expires.
*
* When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to `expired` when it reaches its end date and time.
*
* You must provide an `EndDate` value if `EndDateType` is `limited` . Omit `EndDate` if `EndDateType` is `unlimited` .
*
* If the `EndDateType` is `limited` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddate
*/
readonly endDate?: string;
/**
* Indicates the way in which the Capacity Reservation ends.
*
* A Capacity Reservation can have one of the following end types:
*
* - `unlimited` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an `EndDate` if the `EndDateType` is `unlimited` .
* - `limited` - The Capacity Reservation expires automatically at a specified date and time. You must provide an `EndDate` value if the `EndDateType` value is `limited` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddatetype
*/
readonly endDateType?: string;
/**
* *Deprecated.*.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ephemeralstorage
*/
readonly ephemeralStorage?: boolean | cdk.IResolvable;
/**
* The number of instances for which to reserve capacity.
*
* Valid range: 1 - 1000
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancecount
*/
readonly instanceCount: number;
/**
* Indicates the type of instance launches that the Capacity Reservation accepts. The options include:.
*
* - `open` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.
* - `targeted` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.
*
* Default: `open`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancematchcriteria
*/
readonly instanceMatchCriteria?: string;
/**
* The type of operating system for which to reserve capacity.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instanceplatform
*/
readonly instancePlatform: string;
/**
* The instance type for which to reserve capacity.
*
* For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancetype
*/
readonly instanceType: string;
/**
* The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-outpostarn
*/
readonly outPostArn?: string;
/**
* The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation.
*
* For more information, see [Capacity Reservations for cluster placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) in the *Amazon EC2 User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-placementgrouparn
*/
readonly placementGroupArn?: string;
/**
* The tags to apply to the Capacity Reservation during launch.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tagspecifications
*/
readonly tagSpecifications?: Array<cdk.IResolvable | CfnCapacityReservation.TagSpecificationProperty> | cdk.IResolvable;
/**
* Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:.
*
* - `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .
* - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tenancy
*/
readonly tenancy?: string;
}
/**
* Creates a new Capacity Reservation Fleet with the specified attributes.
*
* For more information, see [Capacity Reservation Fleets](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-fleets.html) in the *Amazon EC2 User Guide* .
*
* @cloudformationResource AWS::EC2::CapacityReservationFleet
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html
*/
export declare class CfnCapacityReservationFleet extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCapacityReservationFleet from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCapacityReservationFleet;
/**
* The ID of the Capacity Reservation Fleet.
*
* @cloudformationAttribute CapacityReservationFleetId
*/
readonly attrCapacityReservationFleetId: string;
/**
* The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use.
*/
allocationStrategy?: string;
/**
* The date and time at which the Capacity Reservation Fleet expires.
*/
endDate?: string;
/**
* Indicates the type of instance launches that the Capacity Reservation Fleet accepts.
*/
instanceMatchCriteria?: string;
/**
* Information about the instance types for which to reserve the capacity.
*/
instanceTypeSpecifications?: Array<CfnCapacityReservationFleet.InstanceTypeSpecificationProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Used to add an end date to a Capacity Reservation Fleet that has no end date and time.
*/
noRemoveEndDate?: boolean | cdk.IResolvable;
/**
* Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time.
*/
removeEndDate?: boolean | cdk.IResolvable;
/**
* The tags to assign to the Capacity Reservation Fleet.
*/
tagSpecifications?: Array<cdk.IResolvable | CfnCapacityReservationFleet.TagSpecificationProperty> | cdk.IResolvable;
/**
* Indicates the tenancy of the Capacity Reservation Fleet.
*/
tenancy?: string;
/**
* The total number of capacity units to be reserved by the Capacity Reservation Fleet.
*/
totalTargetCapacity?: number;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnCapacityReservationFleetProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnCapacityReservationFleet {
/**
* The tags to apply to a resource when the resource is being created.
*
* When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.
*
* > The `Valid Values` lists all the resource types that can be tagged. However, the action you're using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you're using, you'll get an error.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-tagspecification.html
*/
interface TagSpecificationProperty {
/**
* The type of resource to tag on creation. Specify `capacity-reservation-fleet` .
*
* To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-tagspecification.html#cfn-ec2-capacityreservationfleet-tagspecification-resourcetype
*/
readonly resourceType?: string;
/**
* The tags to apply to the resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-tagspecification.html#cfn-ec2-capacityreservationfleet-tagspecification-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Specifies information about an instance type to use in a Capacity Reservation Fleet.
*
* `InstanceTypeSpecification` is a property of the [AWS::EC2::CapacityReservationFleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html) resource.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html
*/
interface InstanceTypeSpecificationProperty {
/**
* The Availability Zone in which the Capacity Reservation Fleet reserves the capacity.
*
* A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-availabilityzone
*/
readonly availabilityZone?: string;
/**
* The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity.
*
* A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-availabilityzoneid
*/
readonly availabilityZoneId?: string;
/**
* Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types.
*
* This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using EBS-optimized instance types.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-ebsoptimized
*/
readonly ebsOptimized?: boolean | cdk.IResolvable;
/**
* The type of operating system for which the Capacity Reservation Fleet reserves capacity.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-instanceplatform
*/
readonly instancePlatform?: string;
/**
* The instance type for which the Capacity Reservation Fleet reserves capacity.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-instancetype
*/
readonly instanceType?: string;
/**
* The priority to assign to the instance type.
*
* This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see [Instance type priority](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority) in the Amazon EC2 User Guide.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-priority
*/
readonly priority?: number;
/**
* The number of capacity units provided by the specified instance type.
*
* This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide.
*
* Valid Range: Minimum value of `0.001` . Maximum value of `99.999` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-weight
*/
readonly weight?: number;
}
}
/**
* Properties for defining a `CfnCapacityReservationFleet`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html
*/
export interface CfnCapacityReservationFleetProps {
/**
* The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use.
*
* Currently, only the `prioritized` allocation strategy is supported. For more information, see [Allocation strategy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy) in the Amazon EC2 User Guide.
*
* Valid values: `prioritized`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-allocationstrategy
*/
readonly allocationStrategy?: string;
/**
* The date and time at which the Capacity Reservation Fleet expires.
*
* When the Capacity Reservation Fleet expires, its state changes to `expired` and all of the Capacity Reservations in the Fleet expire.
*
* The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify `5/31/2019` , `13:30:55` , the Capacity Reservation Fleet is guaranteed to expire between `13:30:55` and `14:30:55` on `5/31/2019` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-enddate
*/
readonly endDate?: string;
/**
* Indicates the type of instance launches that the Capacity Reservation Fleet accepts.
*
* All Capacity Reservations in the Fleet inherit this instance matching criteria.
*
* Currently, Capacity Reservation Fleets support `open` instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-instancematchcriteria
*/
readonly instanceMatchCriteria?: string;
/**
* Information about the instance types for which to reserve the capacity.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-instancetypespecifications
*/
readonly instanceTypeSpecifications?: Array<CfnCapacityReservationFleet.InstanceTypeSpecificationProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Used to add an end date to a Capacity Reservation Fleet that has no end date and time.
*
* To add an end date to a Capacity Reservation Fleet, specify `true` for this paramater and specify the end date and time (in UTC time format) for the *EndDate* parameter.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-noremoveenddate
*/
readonly noRemoveEndDate?: boolean | cdk.IResolvable;
/**
* Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time.
*
* To remove the end date from a Capacity Reservation Fleet, specify `true` for this paramater and omit the *EndDate* parameter.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-removeenddate
*/
readonly removeEndDate?: boolean | cdk.IResolvable;
/**
* The tags to assign to the Capacity Reservation Fleet.
*
* The tags are automatically assigned to the Capacity Reservations in the Fleet.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-tagspecifications
*/
readonly tagSpecifications?: Array<cdk.IResolvable | CfnCapacityReservationFleet.TagSpecificationProperty> | cdk.IResolvable;
/**
* Indicates the tenancy of the Capacity Reservation Fleet.
*
* All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:
*
* - `default` - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts .
* - `dedicated` - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-tenancy
*/
readonly tenancy?: string;
/**
* The total number of capacity units to be reserved by the Capacity Reservation Fleet.
*
* This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-totaltargetcapacity
*/
readonly totalTargetCapacity?: number;
}
/**
* Creates a carrier gateway.
*
* For more information about carrier gateways, see [Carrier gateways](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway) in the *AWS Wavelength Developer Guide* .
*
* @cloudformationResource AWS::EC2::CarrierGateway
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html
*/
export declare class CfnCarrierGateway extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCarrierGateway from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCarrierGateway;
/**
* The ID of the carrier gateway.
*
* @cloudformationAttribute CarrierGatewayId
*/
readonly attrCarrierGatewayId: string;
/**
* The AWS account ID of the owner of the carrier gateway.
*
* @cloudformationAttribute OwnerId
*/
readonly attrOwnerId: string;
/**
* The state of the carrier gateway.
*
* @cloudformationAttribute State
*/
readonly attrState: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The tags assigned to the carrier gateway.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* The ID of the VPC associated with the carrier gateway.
*/
vpcId: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnCarrierGatewayProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnCarrierGateway`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html
*/
export interface CfnCarrierGatewayProps {
/**
* The tags assigned to the carrier gateway.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* The ID of the VPC associated with the carrier gateway.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-vpcid
*/
readonly vpcId: string;
}
/**
* Specifies an ingress authorization rule to add to a Client VPN endpoint.
*
* Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in AWS or on-premises networks.
*
* @cloudformationResource AWS::EC2::ClientVpnAuthorizationRule
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html
*/
export declare class CfnClientVpnAuthorizationRule extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnClientVpnAuthorizationRule from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnClientVpnAuthorizationRule;
/**
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group.
*/
accessGroupId?: string;
/**
* Indicates whether to grant access to all clients.
*/
authorizeAllGroups?: boolean | cdk.IResolvable;
/**
* The ID of the Client VPN endpoint.
*/
clientVpnEndpointId: string;
/**
* A brief description of the authorization rule.
*/
description?: string;
/**
* The IPv4 address range, in CIDR notation, of the network for which access is being authorized.
*/
targetNetworkCidr: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnClientVpnAuthorizationRuleProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnClientVpnAuthorizationRule`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html
*/
export interface CfnClientVpnAuthorizationRuleProps {
/**
* The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group.
*
* Required if `AuthorizeAllGroups` is `false` or not specified.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-accessgroupid
*/
readonly accessGroupId?: string;
/**
* Indicates whether to grant access to all clients.
*
* Specify `true` to grant all clients who successfully establish a VPN connection access to the network. Must be set to `true` if `AccessGroupId` is not specified.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-authorizeallgroups
*/
readonly authorizeAllGroups?: boolean | cdk.IResolvable;
/**
* The ID of the Client VPN endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-clientvpnendpointid
*/
readonly clientVpnEndpointId: string;
/**
* A brief description of the authorization rule.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-description
*/
readonly description?: string;
/**
* The IPv4 address range, in CIDR notation, of the network for which access is being authorized.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-targetnetworkcidr
*/
readonly targetNetworkCidr: string;
}
/**
* Specifies a Client VPN endpoint.
*
* A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.
*
* @cloudformationResource AWS::EC2::ClientVpnEndpoint
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html
*/
export declare class CfnClientVpnEndpoint extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnClientVpnEndpoint from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnClientVpnEndpoint;
/**
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* Information about the authentication method to be used to authenticate clients.
*/
authenticationOptions: Array<CfnClientVpnEndpoint.ClientAuthenticationRequestProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The IPv4 address range, in CIDR notation, from which to assign client IP addresses.
*/
clientCidrBlock: string;
/**
* The options for managing connection authorization for new client connections.
*/
clientConnectOptions?: CfnClientVpnEndpoint.ClientConnectOptionsProperty | cdk.IResolvable;
/**
* Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.
*/
clientLoginBannerOptions?: CfnClientVpnEndpoint.ClientLoginBannerOptionsProperty | cdk.IResolvable;
/**
* Information about the client connection logging options.
*/
connectionLogOptions: CfnClientVpnEndpoint.ConnectionLogOptionsProperty | cdk.IResolvable;
/**
* A brief description of the Client VPN endpoint.
*/
description?: string;
/**
* Information about the DNS servers to be used for DNS resolution.
*/
dnsServers?: Array<string>;
/**
* The IDs of one or more security groups to apply to the target network.
*/
securityGroupIds?: Array<string>;
/**
* Specify whether to enable the self-service portal for the Client VPN endpoint.
*/
selfServicePortal?: string;
/**
* The ARN of the server certificate.
*/
serverCertificateArn: string;
/**
* The maximum VPN session duration time in hours.
*/
sessionTimeoutHours?: number;
/**
* Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
*/
splitTunnel?: boolean | cdk.IResolvable;
/**
* The tags to apply to the Client VPN endpoint during creation.
*/
tagSpecifications?: Array<cdk.IResolvable | CfnClientVpnEndpoint.TagSpecificationProperty> | cdk.IResolvable;
/**
* The transport protocol to be used by the VPN session.
*/
transportProtocol?: string;
/**
* The ID of the VPC to associate with the Client VPN endpoint.
*/
vpcId?: string;
/**
* The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
*/
vpnPort?: number;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnClientVpnEndpointProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnClientVpnEndpoint {
/**
* Indicates whether client connect options are enabled.
*
* The default is `false` (not enabled).
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html
*/
interface ClientConnectOptionsProperty {
/**
* Indicates whether client connect options are enabled.
*
* The default is `false` (not enabled).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html#cfn-ec2-clientvpnendpoint-clientconnectoptions-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
/**
* The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html#cfn-ec2-clientvpnendpoint-clientconnectoptions-lambdafunctionarn
*/
readonly lambdaFunctionArn?: string;
}
/**
* The tags to apply to a resource when the resource is being created.
*
* When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.
*
* > The `Valid Values` lists all the resource types that can be tagged. However, the action you're using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you're using, you'll get an error.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html
*/
interface TagSpecificationProperty {
/**
* The type of resource to tag.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-resourcetype
*/
readonly resourceType: string;
/**
* The tags to apply to the resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-tags
*/
readonly tags: Array<cdk.CfnTag>;
}
/**
* Describes the authentication method to be used by a Client VPN endpoint.
*
* For more information, see [Authentication](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) in the *AWS Client VPN Administrator Guide* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html
*/
interface ClientAuthenticationRequestProperty {
/**
* Information about the Active Directory to be used, if applicable.
*
* You must provide this information if *Type* is `directory-service-authentication` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-activedirectory
*/
readonly activeDirectory?: CfnClientVpnEndpoint.DirectoryServiceAuthenticationRequestProperty | cdk.IResolvable;
/**
* Information about the IAM SAML identity provider, if applicable.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-federatedauthentication
*/
readonly federatedAuthentication?: CfnClientVpnEndpoint.FederatedAuthenticationRequestProperty | cdk.IResolvable;
/**
* Information about the authentication certificates to be used, if applicable.
*
* You must provide this information if *Type* is `certificate-authentication` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-mutualauthentication
*/
readonly mutualAuthentication?: CfnClientVpnEndpoint.CertificateAuthenticationRequestProperty | cdk.IResolvable;
/**
* The type of client authentication to be used.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-type
*/
readonly type: string;
}
/**
* Information about the client certificate to be used for authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-certificateauthenticationrequest.html
*/
interface CertificateAuthenticationRequestProperty {
/**
* The ARN of the client certificate.
*
* The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-certificateauthenticationrequest.html#cfn-ec2-clientvpnendpoint-certificateauthenticationrequest-clientrootcertificatechainarn
*/
readonly clientRootCertificateChainArn: string;
}
/**
* The IAM SAML identity provider used for federated authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html
*/
interface FederatedAuthenticationRequestProperty {
/**
* The Amazon Resource Name (ARN) of the IAM SAML identity provider.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-samlproviderarn
*/
readonly samlProviderArn: string;
/**
* The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-selfservicesamlproviderarn
*/
readonly selfServiceSamlProviderArn?: string;
}
/**
* Describes the Active Directory to be used for client authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html
*/
interface DirectoryServiceAuthenticationRequestProperty {
/**
* The ID of the Active Directory to be used for authentication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html#cfn-ec2-clientvpnendpoint-directoryserviceauthenticationrequest-directoryid
*/
readonly directoryId: string;
}
/**
* Describes the client connection logging options for the Client VPN endpoint.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html
*/
interface ConnectionLogOptionsProperty {
/**
* The name of the CloudWatch Logs log group.
*
* Required if connection logging is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchloggroup
*/
readonly cloudwatchLogGroup?: string;
/**
* The name of the CloudWatch Logs log stream to which the connection data is published.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchlogstream
*/
readonly cloudwatchLogStream?: string;
/**
* Indicates whether connection logging is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws