Class: AWSCDK::ECS::CfnCapacityProvider::InstanceLaunchTemplateProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ECS::CfnCapacityProvider::InstanceLaunchTemplateProperty
- Defined in:
- ecs/cfn_capacity_provider.rb
Overview
The launch template configuration for Amazon ECS Managed Instances.
This defines how Amazon ECS launches Amazon EC2 instances, including the instance profile for your tasks, network and storage configuration, capacity options, and instance requirements for flexible instance type selection.
Instance Attribute Summary collapse
-
#capacity_option_type ⇒ String?
readonly
The capacity option type.
- #capacity_reservations ⇒ AWSCDK::IResolvable, ... readonly
-
#ec2_instance_profile_arn ⇒ String
readonly
The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances.
- #fips_enabled ⇒ Boolean, ... readonly
- #instance_metadata_tags_propagation ⇒ Boolean, ... readonly
-
#instance_requirements ⇒ AWSCDK::IResolvable, ...
readonly
The instance requirements.
- #local_storage_configuration ⇒ AWSCDK::IResolvable, ... readonly
-
#monitoring ⇒ String?
readonly
CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring.
-
#network_configuration ⇒ AWSCDK::IResolvable, AWSCDK::ECS::CfnCapacityProvider::ManagedInstancesNetworkConfigurationProperty
readonly
The network configuration for Amazon ECS Managed Instances.
-
#storage_configuration ⇒ AWSCDK::IResolvable, ...
readonly
The storage configuration for Amazon ECS Managed Instances.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(ec2_instance_profile_arn:, network_configuration:, capacity_option_type: nil, capacity_reservations: nil, fips_enabled: nil, instance_metadata_tags_propagation: nil, instance_requirements: nil, local_storage_configuration: nil, monitoring: nil, storage_configuration: nil) ⇒ InstanceLaunchTemplateProperty
constructor
A new instance of InstanceLaunchTemplateProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(ec2_instance_profile_arn:, network_configuration:, capacity_option_type: nil, capacity_reservations: nil, fips_enabled: nil, instance_metadata_tags_propagation: nil, instance_requirements: nil, local_storage_configuration: nil, monitoring: nil, storage_configuration: nil) ⇒ InstanceLaunchTemplateProperty
Returns a new instance of InstanceLaunchTemplateProperty.
916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 |
# File 'ecs/cfn_capacity_provider.rb', line 916 def initialize(ec2_instance_profile_arn:, network_configuration:, capacity_option_type: nil, capacity_reservations: nil, fips_enabled: nil, instance_metadata_tags_propagation: nil, instance_requirements: nil, local_storage_configuration: nil, monitoring: nil, storage_configuration: nil) @ec2_instance_profile_arn = ec2_instance_profile_arn Jsii::Type.check_type(@ec2_instance_profile_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ec2InstanceProfileArn") @network_configuration = network_configuration.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::ManagedInstancesNetworkConfigurationProperty.new(**network_configuration.transform_keys(&:to_sym)) : network_configuration Jsii::Type.check_type(@network_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5NYW5hZ2VkSW5zdGFuY2VzTmV0d29ya0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "networkConfiguration") @capacity_option_type = capacity_option_type Jsii::Type.check_type(@capacity_option_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "capacityOptionType") unless @capacity_option_type.nil? @capacity_reservations = capacity_reservations.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::CapacityReservationRequestProperty.new(**capacity_reservations.transform_keys(&:to_sym)) : capacity_reservations Jsii::Type.check_type(@capacity_reservations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5DYXBhY2l0eVJlc2VydmF0aW9uUmVxdWVzdFByb3BlcnR5In1dfX0=")), "capacityReservations") unless @capacity_reservations.nil? @fips_enabled = fips_enabled Jsii::Type.check_type(@fips_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "fipsEnabled") unless @fips_enabled.nil? @instance_metadata_tags_propagation = Jsii::Type.check_type(@instance_metadata_tags_propagation, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "instanceMetadataTagsPropagation") unless @instance_metadata_tags_propagation.nil? @instance_requirements = instance_requirements.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::InstanceRequirementsRequestProperty.new(**instance_requirements.transform_keys(&:to_sym)) : instance_requirements Jsii::Type.check_type(@instance_requirements, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5JbnN0YW5jZVJlcXVpcmVtZW50c1JlcXVlc3RQcm9wZXJ0eSJ9XX19")), "instanceRequirements") unless @instance_requirements.nil? @local_storage_configuration = local_storage_configuration.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::ManagedInstancesLocalStorageConfigurationProperty.new(**local_storage_configuration.transform_keys(&:to_sym)) : local_storage_configuration Jsii::Type.check_type(@local_storage_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5NYW5hZ2VkSW5zdGFuY2VzTG9jYWxTdG9yYWdlQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "localStorageConfiguration") unless @local_storage_configuration.nil? @monitoring = monitoring Jsii::Type.check_type(@monitoring, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "monitoring") unless @monitoring.nil? @storage_configuration = storage_configuration.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::ManagedInstancesStorageConfigurationProperty.new(**storage_configuration.transform_keys(&:to_sym)) : storage_configuration Jsii::Type.check_type(@storage_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5NYW5hZ2VkSW5zdGFuY2VzU3RvcmFnZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "storageConfiguration") unless @storage_configuration.nil? end |
Instance Attribute Details
#capacity_option_type ⇒ String? (readonly)
The capacity option type.
This determines whether Amazon ECS launches On-Demand or Spot Instances for your managed instance capacity provider.
Valid values are:
ON_DEMAND- Launches standard On-Demand Instances. On-Demand Instances provide predictable pricing and availability.SPOT- Launches Spot Instances that use spare Amazon EC2 capacity at reduced cost. Spot Instances can be interrupted by Amazon EC2 with a two-minute notification when the capacity is needed back.
The default is On-Demand
For more information about Amazon EC2 capacity options, see Instance purchasing options in the Amazon EC2 User Guide .
970 971 972 |
# File 'ecs/cfn_capacity_provider.rb', line 970 def capacity_option_type @capacity_option_type end |
#capacity_reservations ⇒ AWSCDK::IResolvable, ... (readonly)
973 974 975 |
# File 'ecs/cfn_capacity_provider.rb', line 973 def capacity_reservations @capacity_reservations end |
#ec2_instance_profile_arn ⇒ String (readonly)
The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances.
This instance profile must include the necessary permissions for your tasks to access AWS services and resources.
For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide .
947 948 949 |
# File 'ecs/cfn_capacity_provider.rb', line 947 def ec2_instance_profile_arn @ec2_instance_profile_arn end |
#fips_enabled ⇒ Boolean, ... (readonly)
976 977 978 |
# File 'ecs/cfn_capacity_provider.rb', line 976 def fips_enabled @fips_enabled end |
#instance_metadata_tags_propagation ⇒ Boolean, ... (readonly)
979 980 981 |
# File 'ecs/cfn_capacity_provider.rb', line 979 def @instance_metadata_tags_propagation end |
#instance_requirements ⇒ AWSCDK::IResolvable, ... (readonly)
The instance requirements. You can specify:.
- The instance types
- Instance requirements such as vCPU count, memory, network performance, and accelerator specifications
Amazon ECS automatically selects the instances that match the specified criteria.
989 990 991 |
# File 'ecs/cfn_capacity_provider.rb', line 989 def instance_requirements @instance_requirements end |
#local_storage_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
992 993 994 |
# File 'ecs/cfn_capacity_provider.rb', line 992 def local_storage_configuration @local_storage_configuration end |
#monitoring ⇒ String? (readonly)
CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring.
By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide.
999 1000 1001 |
# File 'ecs/cfn_capacity_provider.rb', line 999 def monitoring @monitoring end |
#network_configuration ⇒ AWSCDK::IResolvable, AWSCDK::ECS::CfnCapacityProvider::ManagedInstancesNetworkConfigurationProperty (readonly)
The network configuration for Amazon ECS Managed Instances.
This specifies the subnets and security groups that instances use for network connectivity.
954 955 956 |
# File 'ecs/cfn_capacity_provider.rb', line 954 def network_configuration @network_configuration end |
#storage_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
The storage configuration for Amazon ECS Managed Instances.
This defines the root volume size and type for the instances.
1006 1007 1008 |
# File 'ecs/cfn_capacity_provider.rb', line 1006 def storage_configuration @storage_configuration end |
Class Method Details
.jsii_properties ⇒ Object
1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 |
# File 'ecs/cfn_capacity_provider.rb', line 1008 def self.jsii_properties { :ec2_instance_profile_arn => "ec2InstanceProfileArn", :network_configuration => "networkConfiguration", :capacity_option_type => "capacityOptionType", :capacity_reservations => "capacityReservations", :fips_enabled => "fipsEnabled", :instance_metadata_tags_propagation => "instanceMetadataTagsPropagation", :instance_requirements => "instanceRequirements", :local_storage_configuration => "localStorageConfiguration", :monitoring => "monitoring", :storage_configuration => "storageConfiguration", } end |
Instance Method Details
#to_jsii ⇒ Object
1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 |
# File 'ecs/cfn_capacity_provider.rb', line 1023 def to_jsii result = {} result.merge!({ "ec2InstanceProfileArn" => @ec2_instance_profile_arn, "networkConfiguration" => @network_configuration, "capacityOptionType" => @capacity_option_type, "capacityReservations" => @capacity_reservations, "fipsEnabled" => @fips_enabled, "instanceMetadataTagsPropagation" => @instance_metadata_tags_propagation, "instanceRequirements" => @instance_requirements, "localStorageConfiguration" => @local_storage_configuration, "monitoring" => @monitoring, "storageConfiguration" => @storage_configuration, }) result.compact end |