UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

999 lines 1.16 MB
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, cdk.ITaggableV2 { /** * 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; /** * @cloudformationAttribute CapacityAllocationSet */ readonly attrCapacityAllocationSet: cdk.IResolvable; /** * The Amazon Resource Name (ARN) of the Capacity Reservation. * * @cloudformationAttribute CapacityReservationArn */ readonly attrCapacityReservationArn: string; /** * The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. Only valid for Capacity Reservations that were created by a Capacity Reservation Fleet. * * @cloudformationAttribute CapacityReservationFleetId */ readonly attrCapacityReservationFleetId: string; /** * @cloudformationAttribute CommitmentInfo */ readonly attrCommitmentInfo: cdk.IResolvable; /** * The date and time at which the Capacity Reservation was created. * * @cloudformationAttribute CreateDate */ readonly attrCreateDate: string; /** * The delivery method for a future-dated Capacity Reservation. `incremental` indicates that the requested capacity is delivered in addition to any running instances and reserved capacity that you have in your account at the requested date and time. * * @cloudformationAttribute DeliveryPreference */ readonly attrDeliveryPreference: string; /** * 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; /** * The ID of the AWS account that owns the Capacity Reservation. * * @cloudformationAttribute OwnerId */ readonly attrOwnerId: string; /** * The type of Capacity Reservation. * * @cloudformationAttribute ReservationType */ readonly attrReservationType: string; /** * The date and time at which the Capacity Reservation was started. * * @cloudformationAttribute StartDate */ readonly attrStartDate: string; /** * The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states: * * - `active` - The capacity is available for use. * - `expired` - The Capacity Reservation expired automatically at the date and time specified in your reservation request. The reserved capacity is no longer available for your use. * - `cancelled` - The Capacity Reservation was canceled. The reserved capacity is no longer available for your use. * - `pending` - The Capacity Reservation request was successful but the capacity provisioning is still pending. * - `failed` - The Capacity Reservation request has failed. A request can fail due to request parameters that are not valid, capacity constraints, or instance limit constraints. You can view a failed request for 60 minutes. * - `scheduled` - ( *Future-dated Capacity Reservations* ) The future-dated Capacity Reservation request was approved and the Capacity Reservation is scheduled for delivery on the requested start date. * - `payment-pending` - ( *Capacity Blocks* ) The upfront payment has not been processed yet. * - `payment-failed` - ( *Capacity Blocks* ) The upfront payment was not processed in the 12-hour time frame. Your Capacity Block was released. * - `assessing` - ( *Future-dated Capacity Reservations* ) Amazon EC2 is assessing your request for a future-dated Capacity Reservation. * - `delayed` - ( *Future-dated Capacity Reservations* ) Amazon EC2 encountered a delay in provisioning the requested future-dated Capacity Reservation. Amazon EC2 is unable to deliver the requested capacity by the requested start date and time. * - `unsupported` - ( *Future-dated Capacity Reservations* ) Amazon EC2 can't support the future-dated Capacity Reservation request due to capacity constraints. You can view unsupported requests for 30 days. The Capacity Reservation will not be delivered. * * @cloudformationAttribute State */ readonly attrState: 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; /** * The Availability Zone ID of the Capacity Reservation. */ availabilityZoneId?: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * 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; /** * > Not supported for future-dated Capacity Reservations. */ outPostArn?: string; /** * > Not supported for future-dated Capacity Reservations. */ placementGroupArn?: string; /** * The tags to apply to the Capacity Reservation during launch. */ tagSpecifications?: Array<CfnCapacityReservation.TagSpecificationProperty>; /** * Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:. */ tenancy?: string; /** * The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. */ unusedReservationBillingOwnerId?: 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>; } /** * Information about instance capacity usage for a Capacity Reservation. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html */ interface CapacityAllocationProperty { /** * The usage type. * * `used` indicates that the instance capacity is in use by instances that are running in the Capacity Reservation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html#cfn-ec2-capacityreservation-capacityallocation-allocationtype */ readonly allocationType?: string; /** * The amount of instance capacity associated with the usage. * * For example a value of `4` indicates that instance capacity for 4 instances is currently in use. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html#cfn-ec2-capacityreservation-capacityallocation-count */ readonly count?: number; } /** * Information about your commitment for a future-dated Capacity Reservation. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html */ interface CommitmentInfoProperty { /** * The date and time at which the commitment duration expires, in the ISO8601 format in the UTC time zone ( `YYYY-MM-DDThh:mm:ss.sssZ` ). You can't decrease the instance count or cancel the Capacity Reservation before this date and time. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html#cfn-ec2-capacityreservation-commitmentinfo-commitmentenddate */ readonly commitmentEndDate?: string; /** * The instance capacity that you committed to when you requested the future-dated Capacity Reservation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html#cfn-ec2-capacityreservation-commitmentinfo-committedinstancecount */ readonly committedInstanceCount?: number; } } /** * 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; /** * The Availability Zone ID of the Capacity Reservation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-availabilityzoneid */ readonly availabilityZoneId?: 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. * * If you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration. * * @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. * * > You can request future-dated Capacity Reservations for an instance count with a minimum of 64 vCPUs. For example, if you request a future-dated Capacity Reservation for `m5.xlarge` instances, you must request at least 25 instances ( *16 * m5.xlarge = 64 vCPUs* ). * * 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. * * > If you are requesting a future-dated Capacity Reservation, you must specify `targeted` . * * 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. * * > You can request future-dated Capacity Reservations for instance types in the C, M, R, I, T, and G instance families only. * * 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; /** * > Not supported for future-dated Capacity Reservations. * * 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; /** * > Not supported for future-dated Capacity Reservations. * * 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<CfnCapacityReservation.TagSpecificationProperty>; /** * 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; /** * The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. * * A request will be sent to the specified account. That account must accept the request for the billing to be assigned to their account. For more information, see [Billing assignment for shared Amazon EC2 Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/assign-billing.html) . * * You can assign billing only for shared Capacity Reservations. To share a Capacity Reservation, you must add it to a resource share. For more information, see [AWS::RAM::ResourceShare](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-unusedreservationbillingownerid */ readonly unusedReservationBillingOwnerId?: 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, cdk.ITaggableV2 { /** * 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; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * 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<CfnCapacityReservationFleet.TagSpecificationProperty>; /** * 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<CfnCapacityReservationFleet.TagSpecificationProperty>; /** * 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; /** * Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. */ clientRouteEnforcementOptions?: CfnClientVpnEndpoint.ClientRouteEnforcementOptionsProperty | cdk.IResolvable; /** * Information about the client connection logging options. */ connectionLogOptions: CfnClientVpnEndpoint.ConnectionLogOptionsProperty | cdk.IResolvable; /** * A brief description of the Client VPN endpoint. */ description?: string; /** * Indicates whether the client VPN session is disconnected after the maximum `sessionTimeoutHours` is reached. */ disconnectOnSessionTimeout?: boolean | cdk.IResolvable; /** * 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.