Class: AWSCDK::Lambda::CfnCapacityProvider::InstanceRequirementsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
lambda/cfn_capacity_provider.rb

Overview

Specifications that define the characteristics and constraints for compute instances used by the capacity provider.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allowed_instance_types: nil, architectures: nil, excluded_instance_types: nil) ⇒ InstanceRequirementsProperty

Returns a new instance of InstanceRequirementsProperty.

Parameters:

  • allowed_instance_types (Array<String>, nil) (defaults to: nil)

    A list of EC2 instance types that the capacity provider is allowed to use.

  • architectures (Array<String>, nil) (defaults to: nil)

    A list of supported CPU architectures for compute instances.

  • excluded_instance_types (Array<String>, nil) (defaults to: nil)

    A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.



854
855
856
857
858
859
860
861
# File 'lambda/cfn_capacity_provider.rb', line 854

def initialize(allowed_instance_types: nil, architectures: nil, excluded_instance_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?
  @architectures = architectures
  Jsii::Type.check_type(@architectures, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "architectures") unless @architectures.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?
end

Instance Attribute Details

#allowed_instance_typesArray<String>? (readonly)

A list of EC2 instance types that the capacity provider is allowed to use.

If not specified, all compatible instance types are allowed.



869
870
871
# File 'lambda/cfn_capacity_provider.rb', line 869

def allowed_instance_types
  @allowed_instance_types
end

#architecturesArray<String>? (readonly)

A list of supported CPU architectures for compute instances.

Valid values include x86_64 and arm64 .



876
877
878
# File 'lambda/cfn_capacity_provider.rb', line 876

def architectures
  @architectures
end

#excluded_instance_typesArray<String>? (readonly)

A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.



881
882
883
# File 'lambda/cfn_capacity_provider.rb', line 881

def excluded_instance_types
  @excluded_instance_types
end

Class Method Details

.jsii_propertiesObject



883
884
885
886
887
888
889
# File 'lambda/cfn_capacity_provider.rb', line 883

def self.jsii_properties
  {
    :allowed_instance_types => "allowedInstanceTypes",
    :architectures => "architectures",
    :excluded_instance_types => "excludedInstanceTypes",
  }
end

Instance Method Details

#to_jsiiObject



891
892
893
894
895
896
897
898
899
# File 'lambda/cfn_capacity_provider.rb', line 891

def to_jsii
  result = {}
  result.merge!({
    "allowedInstanceTypes" => @allowed_instance_types,
    "architectures" => @architectures,
    "excludedInstanceTypes" => @excluded_instance_types,
  })
  result.compact
end