Class: AWSCDK::ECS::CfnCapacityProvider::InstanceRequirementsRequestProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ECS::CfnCapacityProvider::InstanceRequirementsRequestProperty
- Defined in:
- ecs/cfn_capacity_provider.rb
Overview
The instance requirements for attribute-based instance type selection.
Instead of specifying exact instance types, you define requirements such as vCPU count, memory size, network performance, and accelerator specifications. Amazon ECS automatically selects Amazon EC2 instance types that match these requirements, providing flexibility and helping to mitigate capacity constraints.
Instance Attribute Summary collapse
-
#accelerator_count ⇒ AWSCDK::IResolvable, ...
readonly
The minimum and maximum number of accelerators for the instance types.
-
#accelerator_manufacturers ⇒ Array<String>?
readonly
The accelerator manufacturers to include.
-
#accelerator_names ⇒ Array<String>?
readonly
The specific accelerator names to include.
-
#accelerator_total_memory_mib ⇒ AWSCDK::IResolvable, ...
readonly
The minimum and maximum total accelerator memory in mebibytes (MiB).
-
#accelerator_types ⇒ Array<String>?
readonly
The accelerator types to include.
-
#allowed_instance_types ⇒ Array<String>?
readonly
The instance types to include in the selection.
-
#bare_metal ⇒ String?
readonly
Indicates whether to include bare metal instance types.
-
#baseline_ebs_bandwidth_mbps ⇒ AWSCDK::IResolvable, ...
readonly
The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps).
-
#burstable_performance ⇒ String?
readonly
Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g).
-
#cpu_manufacturers ⇒ Array<String>?
readonly
The CPU manufacturers to include or exclude.
-
#excluded_instance_types ⇒ Array<String>?
readonly
The instance types to exclude from selection.
-
#instance_generations ⇒ Array<String>?
readonly
The instance generations to include.
-
#local_storage ⇒ String?
readonly
Indicates whether to include instance types with local storage.
-
#local_storage_types ⇒ Array<String>?
readonly
The local storage types to include.
-
#max_spot_price_as_percentage_of_optimal_on_demand_price ⇒ Numeric?
readonly
The maximum price for Spot instances as a percentage of the optimal On-Demand price.
-
#memory_gib_per_v_cpu ⇒ AWSCDK::IResolvable, ...
readonly
The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
-
#memory_mib ⇒ AWSCDK::IResolvable, AWSCDK::ECS::CfnCapacityProvider::MemoryMiBRequestProperty
readonly
The minimum and maximum amount of memory in mebibytes (MiB) for the instance types.
-
#network_bandwidth_gbps ⇒ AWSCDK::IResolvable, ...
readonly
The minimum and maximum network bandwidth in gigabits per second (Gbps).
-
#network_interface_count ⇒ AWSCDK::IResolvable, ...
readonly
The minimum and maximum number of network interfaces for the instance types.
-
#on_demand_max_price_percentage_over_lowest_price ⇒ Numeric?
readonly
The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price.
-
#require_hibernate_support ⇒ Boolean, ...
readonly
Indicates whether the instance types must support hibernation.
-
#spot_max_price_percentage_over_lowest_price ⇒ Numeric?
readonly
The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance.
-
#total_local_storage_gb ⇒ AWSCDK::IResolvable, ...
readonly
The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
-
#v_cpu_count ⇒ AWSCDK::IResolvable, AWSCDK::ECS::CfnCapacityProvider::VCpuCountRangeRequestProperty
readonly
The minimum and maximum number of vCPUs for the instance types.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(memory_mib:, v_cpu_count:, accelerator_count: nil, accelerator_manufacturers: nil, accelerator_names: nil, accelerator_total_memory_mib: nil, accelerator_types: nil, allowed_instance_types: nil, bare_metal: nil, baseline_ebs_bandwidth_mbps: nil, burstable_performance: nil, cpu_manufacturers: nil, excluded_instance_types: nil, instance_generations: nil, local_storage: nil, local_storage_types: nil, max_spot_price_as_percentage_of_optimal_on_demand_price: nil, memory_gib_per_v_cpu: nil, network_bandwidth_gbps: nil, network_interface_count: nil, on_demand_max_price_percentage_over_lowest_price: nil, require_hibernate_support: nil, spot_max_price_percentage_over_lowest_price: nil, total_local_storage_gb: nil) ⇒ InstanceRequirementsRequestProperty
constructor
A new instance of InstanceRequirementsRequestProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(memory_mib:, v_cpu_count:, accelerator_count: nil, accelerator_manufacturers: nil, accelerator_names: nil, accelerator_total_memory_mib: nil, accelerator_types: nil, allowed_instance_types: nil, bare_metal: nil, baseline_ebs_bandwidth_mbps: nil, burstable_performance: nil, cpu_manufacturers: nil, excluded_instance_types: nil, instance_generations: nil, local_storage: nil, local_storage_types: nil, max_spot_price_as_percentage_of_optimal_on_demand_price: nil, memory_gib_per_v_cpu: nil, network_bandwidth_gbps: nil, network_interface_count: nil, on_demand_max_price_percentage_over_lowest_price: nil, require_hibernate_support: nil, spot_max_price_percentage_over_lowest_price: nil, total_local_storage_gb: nil) ⇒ InstanceRequirementsRequestProperty
Returns a new instance of InstanceRequirementsRequestProperty.
1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 |
# File 'ecs/cfn_capacity_provider.rb', line 1073 def initialize(memory_mib:, v_cpu_count:, accelerator_count: nil, accelerator_manufacturers: nil, accelerator_names: nil, accelerator_total_memory_mib: nil, accelerator_types: nil, allowed_instance_types: nil, bare_metal: nil, baseline_ebs_bandwidth_mbps: nil, burstable_performance: nil, cpu_manufacturers: nil, excluded_instance_types: nil, instance_generations: nil, local_storage: nil, local_storage_types: nil, max_spot_price_as_percentage_of_optimal_on_demand_price: nil, memory_gib_per_v_cpu: nil, network_bandwidth_gbps: nil, network_interface_count: nil, on_demand_max_price_percentage_over_lowest_price: nil, require_hibernate_support: nil, spot_max_price_percentage_over_lowest_price: nil, total_local_storage_gb: nil) @memory_mib = memory_mib.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::MemoryMiBRequestProperty.new(**memory_mib.transform_keys(&:to_sym)) : memory_mib Jsii::Type.check_type(@memory_mib, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5NZW1vcnlNaUJSZXF1ZXN0UHJvcGVydHkifV19fQ==")), "memoryMiB") @v_cpu_count = v_cpu_count.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::VCpuCountRangeRequestProperty.new(**v_cpu_count.transform_keys(&:to_sym)) : v_cpu_count Jsii::Type.check_type(@v_cpu_count, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5WQ3B1Q291bnRSYW5nZVJlcXVlc3RQcm9wZXJ0eSJ9XX19")), "vCpuCount") @accelerator_count = accelerator_count.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::AcceleratorCountRequestProperty.new(**accelerator_count.transform_keys(&:to_sym)) : accelerator_count Jsii::Type.check_type(@accelerator_count, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5BY2NlbGVyYXRvckNvdW50UmVxdWVzdFByb3BlcnR5In1dfX0=")), "acceleratorCount") unless @accelerator_count.nil? @accelerator_manufacturers = accelerator_manufacturers Jsii::Type.check_type(@accelerator_manufacturers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "acceleratorManufacturers") unless @accelerator_manufacturers.nil? @accelerator_names = accelerator_names Jsii::Type.check_type(@accelerator_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "acceleratorNames") unless @accelerator_names.nil? @accelerator_total_memory_mib = accelerator_total_memory_mib.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::AcceleratorTotalMemoryMiBRequestProperty.new(**accelerator_total_memory_mib.transform_keys(&:to_sym)) : accelerator_total_memory_mib Jsii::Type.check_type(@accelerator_total_memory_mib, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5BY2NlbGVyYXRvclRvdGFsTWVtb3J5TWlCUmVxdWVzdFByb3BlcnR5In1dfX0=")), "acceleratorTotalMemoryMiB") unless @accelerator_total_memory_mib.nil? @accelerator_types = accelerator_types Jsii::Type.check_type(@accelerator_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "acceleratorTypes") unless @accelerator_types.nil? @allowed_instance_types = allowed_instance_types Jsii::Type.check_type(@allowed_instance_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowedInstanceTypes") unless @allowed_instance_types.nil? @bare_metal = Jsii::Type.check_type(@bare_metal, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bareMetal") unless @bare_metal.nil? @baseline_ebs_bandwidth_mbps = baseline_ebs_bandwidth_mbps.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::BaselineEbsBandwidthMbpsRequestProperty.new(**baseline_ebs_bandwidth_mbps.transform_keys(&:to_sym)) : baseline_ebs_bandwidth_mbps Jsii::Type.check_type(@baseline_ebs_bandwidth_mbps, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5CYXNlbGluZUVic0JhbmR3aWR0aE1icHNSZXF1ZXN0UHJvcGVydHkifV19fQ==")), "baselineEbsBandwidthMbps") unless @baseline_ebs_bandwidth_mbps.nil? @burstable_performance = burstable_performance Jsii::Type.check_type(@burstable_performance, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "burstablePerformance") unless @burstable_performance.nil? @cpu_manufacturers = cpu_manufacturers Jsii::Type.check_type(@cpu_manufacturers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cpuManufacturers") unless @cpu_manufacturers.nil? @excluded_instance_types = excluded_instance_types Jsii::Type.check_type(@excluded_instance_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "excludedInstanceTypes") unless @excluded_instance_types.nil? @instance_generations = instance_generations Jsii::Type.check_type(@instance_generations, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "instanceGenerations") unless @instance_generations.nil? @local_storage = local_storage Jsii::Type.check_type(@local_storage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "localStorage") unless @local_storage.nil? @local_storage_types = local_storage_types Jsii::Type.check_type(@local_storage_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "localStorageTypes") unless @local_storage_types.nil? @max_spot_price_as_percentage_of_optimal_on_demand_price = max_spot_price_as_percentage_of_optimal_on_demand_price Jsii::Type.check_type(@max_spot_price_as_percentage_of_optimal_on_demand_price, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxSpotPriceAsPercentageOfOptimalOnDemandPrice") unless @max_spot_price_as_percentage_of_optimal_on_demand_price.nil? @memory_gib_per_v_cpu = memory_gib_per_v_cpu.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::MemoryGiBPerVCpuRequestProperty.new(**memory_gib_per_v_cpu.transform_keys(&:to_sym)) : memory_gib_per_v_cpu Jsii::Type.check_type(@memory_gib_per_v_cpu, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5NZW1vcnlHaUJQZXJWQ3B1UmVxdWVzdFByb3BlcnR5In1dfX0=")), "memoryGiBPerVCpu") unless @memory_gib_per_v_cpu.nil? @network_bandwidth_gbps = network_bandwidth_gbps.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::NetworkBandwidthGbpsRequestProperty.new(**network_bandwidth_gbps.transform_keys(&:to_sym)) : network_bandwidth_gbps Jsii::Type.check_type(@network_bandwidth_gbps, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5OZXR3b3JrQmFuZHdpZHRoR2Jwc1JlcXVlc3RQcm9wZXJ0eSJ9XX19")), "networkBandwidthGbps") unless @network_bandwidth_gbps.nil? @network_interface_count = network_interface_count.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::NetworkInterfaceCountRequestProperty.new(**network_interface_count.transform_keys(&:to_sym)) : network_interface_count Jsii::Type.check_type(@network_interface_count, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5OZXR3b3JrSW50ZXJmYWNlQ291bnRSZXF1ZXN0UHJvcGVydHkifV19fQ==")), "networkInterfaceCount") unless @network_interface_count.nil? @on_demand_max_price_percentage_over_lowest_price = on_demand_max_price_percentage_over_lowest_price Jsii::Type.check_type(@on_demand_max_price_percentage_over_lowest_price, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "onDemandMaxPricePercentageOverLowestPrice") unless @on_demand_max_price_percentage_over_lowest_price.nil? @require_hibernate_support = require_hibernate_support Jsii::Type.check_type(@require_hibernate_support, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "requireHibernateSupport") unless @require_hibernate_support.nil? @spot_max_price_percentage_over_lowest_price = spot_max_price_percentage_over_lowest_price Jsii::Type.check_type(@spot_max_price_percentage_over_lowest_price, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "spotMaxPricePercentageOverLowestPrice") unless @spot_max_price_percentage_over_lowest_price.nil? @total_local_storage_gb = total_local_storage_gb.is_a?(Hash) ? ::AWSCDK::ECS::CfnCapacityProvider::TotalLocalStorageGBRequestProperty.new(**total_local_storage_gb.transform_keys(&:to_sym)) : total_local_storage_gb Jsii::Type.check_type(@total_local_storage_gb, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ2ZuQ2FwYWNpdHlQcm92aWRlci5Ub3RhbExvY2FsU3RvcmFnZUdCUmVxdWVzdFByb3BlcnR5In1dfX0=")), "totalLocalStorageGb") unless @total_local_storage_gb.nil? end |
Instance Attribute Details
#accelerator_count ⇒ AWSCDK::IResolvable, ... (readonly)
The minimum and maximum number of accelerators for the instance types.
This is used when you need instances with specific numbers of GPUs or other accelerators.
1144 1145 1146 |
# File 'ecs/cfn_capacity_provider.rb', line 1144 def accelerator_count @accelerator_count end |
#accelerator_manufacturers ⇒ Array<String>? (readonly)
The accelerator manufacturers to include.
You can specify nvidia , amd , amazon-web-services , or xilinx depending on your accelerator requirements.
1151 1152 1153 |
# File 'ecs/cfn_capacity_provider.rb', line 1151 def accelerator_manufacturers @accelerator_manufacturers end |
#accelerator_names ⇒ Array<String>? (readonly)
The specific accelerator names to include.
For example, you can specify a100 , v100 , k80 , or other specific accelerator models.
1158 1159 1160 |
# File 'ecs/cfn_capacity_provider.rb', line 1158 def accelerator_names @accelerator_names end |
#accelerator_total_memory_mib ⇒ AWSCDK::IResolvable, ... (readonly)
The minimum and maximum total accelerator memory in mebibytes (MiB).
This is important for GPU workloads that require specific amounts of video memory.
1165 1166 1167 |
# File 'ecs/cfn_capacity_provider.rb', line 1165 def accelerator_total_memory_mib @accelerator_total_memory_mib end |
#accelerator_types ⇒ Array<String>? (readonly)
The accelerator types to include.
You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators.
1172 1173 1174 |
# File 'ecs/cfn_capacity_provider.rb', line 1172 def accelerator_types @accelerator_types end |
#allowed_instance_types ⇒ Array<String>? (readonly)
The instance types to include in the selection.
When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.
1179 1180 1181 |
# File 'ecs/cfn_capacity_provider.rb', line 1179 def allowed_instance_types @allowed_instance_types end |
#bare_metal ⇒ String? (readonly)
Indicates whether to include bare metal instance types.
Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances.
1186 1187 1188 |
# File 'ecs/cfn_capacity_provider.rb', line 1186 def @bare_metal end |
#baseline_ebs_bandwidth_mbps ⇒ AWSCDK::IResolvable, ... (readonly)
The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps).
This is important for workloads with high storage I/O requirements.
1193 1194 1195 |
# File 'ecs/cfn_capacity_provider.rb', line 1193 def baseline_ebs_bandwidth_mbps @baseline_ebs_bandwidth_mbps end |
#burstable_performance ⇒ String? (readonly)
Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g).
Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances.
1200 1201 1202 |
# File 'ecs/cfn_capacity_provider.rb', line 1200 def burstable_performance @burstable_performance end |
#cpu_manufacturers ⇒ Array<String>? (readonly)
The CPU manufacturers to include or exclude.
You can specify intel , amd , or amazon-web-services to control which CPU types are used for your workloads.
1207 1208 1209 |
# File 'ecs/cfn_capacity_provider.rb', line 1207 def cpu_manufacturers @cpu_manufacturers end |
#excluded_instance_types ⇒ Array<String>? (readonly)
The instance types to exclude from selection.
Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.
1214 1215 1216 |
# File 'ecs/cfn_capacity_provider.rb', line 1214 def excluded_instance_types @excluded_instance_types end |
#instance_generations ⇒ Array<String>? (readonly)
The instance generations to include.
You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization.
1221 1222 1223 |
# File 'ecs/cfn_capacity_provider.rb', line 1221 def instance_generations @instance_generations end |
#local_storage ⇒ String? (readonly)
Indicates whether to include instance types with local storage.
Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage.
1228 1229 1230 |
# File 'ecs/cfn_capacity_provider.rb', line 1228 def local_storage @local_storage end |
#local_storage_types ⇒ Array<String>? (readonly)
The local storage types to include.
You can specify hdd for hard disk drives, ssd for solid state drives, or both.
1235 1236 1237 |
# File 'ecs/cfn_capacity_provider.rb', line 1235 def local_storage_types @local_storage_types end |
#max_spot_price_as_percentage_of_optimal_on_demand_price ⇒ Numeric? (readonly)
The maximum price for Spot instances as a percentage of the optimal On-Demand price.
This provides more precise cost control for Spot instance selection.
1242 1243 1244 |
# File 'ecs/cfn_capacity_provider.rb', line 1242 def max_spot_price_as_percentage_of_optimal_on_demand_price @max_spot_price_as_percentage_of_optimal_on_demand_price end |
#memory_gib_per_v_cpu ⇒ AWSCDK::IResolvable, ... (readonly)
The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
1249 1250 1251 |
# File 'ecs/cfn_capacity_provider.rb', line 1249 def memory_gib_per_v_cpu @memory_gib_per_v_cpu end |
#memory_mib ⇒ AWSCDK::IResolvable, AWSCDK::ECS::CfnCapacityProvider::MemoryMiBRequestProperty (readonly)
The minimum and maximum amount of memory in mebibytes (MiB) for the instance types.
Amazon ECS selects instance types that have memory within this range.
1130 1131 1132 |
# File 'ecs/cfn_capacity_provider.rb', line 1130 def memory_mib @memory_mib end |
#network_bandwidth_gbps ⇒ AWSCDK::IResolvable, ... (readonly)
The minimum and maximum network bandwidth in gigabits per second (Gbps).
This is crucial for network-intensive workloads that require high throughput.
1256 1257 1258 |
# File 'ecs/cfn_capacity_provider.rb', line 1256 def network_bandwidth_gbps @network_bandwidth_gbps end |
#network_interface_count ⇒ AWSCDK::IResolvable, ... (readonly)
The minimum and maximum number of network interfaces for the instance types.
This is useful for workloads that require multiple network interfaces.
1263 1264 1265 |
# File 'ecs/cfn_capacity_provider.rb', line 1263 def network_interface_count @network_interface_count end |
#on_demand_max_price_percentage_over_lowest_price ⇒ Numeric? (readonly)
The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price.
The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
1270 1271 1272 |
# File 'ecs/cfn_capacity_provider.rb', line 1270 def on_demand_max_price_percentage_over_lowest_price @on_demand_max_price_percentage_over_lowest_price end |
#require_hibernate_support ⇒ Boolean, ... (readonly)
Indicates whether the instance types must support hibernation.
When set to true , only instance types that support hibernation are selected.
1277 1278 1279 |
# File 'ecs/cfn_capacity_provider.rb', line 1277 def require_hibernate_support @require_hibernate_support end |
#spot_max_price_percentage_over_lowest_price ⇒ Numeric? (readonly)
The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance.
This helps control Spot instance costs while maintaining access to capacity.
1284 1285 1286 |
# File 'ecs/cfn_capacity_provider.rb', line 1284 def spot_max_price_percentage_over_lowest_price @spot_max_price_percentage_over_lowest_price end |
#total_local_storage_gb ⇒ AWSCDK::IResolvable, ... (readonly)
The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
1289 1290 1291 |
# File 'ecs/cfn_capacity_provider.rb', line 1289 def total_local_storage_gb @total_local_storage_gb end |
#v_cpu_count ⇒ AWSCDK::IResolvable, AWSCDK::ECS::CfnCapacityProvider::VCpuCountRangeRequestProperty (readonly)
The minimum and maximum number of vCPUs for the instance types.
Amazon ECS selects instance types that have vCPU counts within this range.
1137 1138 1139 |
# File 'ecs/cfn_capacity_provider.rb', line 1137 def v_cpu_count @v_cpu_count end |
Class Method Details
.jsii_properties ⇒ Object
1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 |
# File 'ecs/cfn_capacity_provider.rb', line 1291 def self.jsii_properties { :memory_mib => "memoryMiB", :v_cpu_count => "vCpuCount", :accelerator_count => "acceleratorCount", :accelerator_manufacturers => "acceleratorManufacturers", :accelerator_names => "acceleratorNames", :accelerator_total_memory_mib => "acceleratorTotalMemoryMiB", :accelerator_types => "acceleratorTypes", :allowed_instance_types => "allowedInstanceTypes", :bare_metal => "bareMetal", :baseline_ebs_bandwidth_mbps => "baselineEbsBandwidthMbps", :burstable_performance => "burstablePerformance", :cpu_manufacturers => "cpuManufacturers", :excluded_instance_types => "excludedInstanceTypes", :instance_generations => "instanceGenerations", :local_storage => "localStorage", :local_storage_types => "localStorageTypes", :max_spot_price_as_percentage_of_optimal_on_demand_price => "maxSpotPriceAsPercentageOfOptimalOnDemandPrice", :memory_gib_per_v_cpu => "memoryGiBPerVCpu", :network_bandwidth_gbps => "networkBandwidthGbps", :network_interface_count => "networkInterfaceCount", :on_demand_max_price_percentage_over_lowest_price => "onDemandMaxPricePercentageOverLowestPrice", :require_hibernate_support => "requireHibernateSupport", :spot_max_price_percentage_over_lowest_price => "spotMaxPricePercentageOverLowestPrice", :total_local_storage_gb => "totalLocalStorageGb", } end |
Instance Method Details
#to_jsii ⇒ Object
1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 |
# File 'ecs/cfn_capacity_provider.rb', line 1320 def to_jsii result = {} result.merge!({ "memoryMiB" => @memory_mib, "vCpuCount" => @v_cpu_count, "acceleratorCount" => @accelerator_count, "acceleratorManufacturers" => @accelerator_manufacturers, "acceleratorNames" => @accelerator_names, "acceleratorTotalMemoryMiB" => @accelerator_total_memory_mib, "acceleratorTypes" => @accelerator_types, "allowedInstanceTypes" => @allowed_instance_types, "bareMetal" => @bare_metal, "baselineEbsBandwidthMbps" => @baseline_ebs_bandwidth_mbps, "burstablePerformance" => @burstable_performance, "cpuManufacturers" => @cpu_manufacturers, "excludedInstanceTypes" => @excluded_instance_types, "instanceGenerations" => @instance_generations, "localStorage" => @local_storage, "localStorageTypes" => @local_storage_types, "maxSpotPriceAsPercentageOfOptimalOnDemandPrice" => @max_spot_price_as_percentage_of_optimal_on_demand_price, "memoryGiBPerVCpu" => @memory_gib_per_v_cpu, "networkBandwidthGbps" => @network_bandwidth_gbps, "networkInterfaceCount" => @network_interface_count, "onDemandMaxPricePercentageOverLowestPrice" => @on_demand_max_price_percentage_over_lowest_price, "requireHibernateSupport" => @require_hibernate_support, "spotMaxPricePercentageOverLowestPrice" => @spot_max_price_percentage_over_lowest_price, "totalLocalStorageGb" => @total_local_storage_gb, }) result.compact end |