Class: AWSCDK::Deadline::CfnFleet::ServiceManagedEC2InstanceCapabilitiesProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
deadline/cfn_fleet.rb

Overview

The Amazon EC2 instance capabilities.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cpu_architecture_type:, memory_mib:, os_family:, v_cpu_count:, accelerator_capabilities: nil, allowed_instance_types: nil, custom_amounts: nil, custom_attributes: nil, excluded_instance_types: nil, root_ebs_volume: nil) ⇒ ServiceManagedEC2InstanceCapabilitiesProperty

Returns a new instance of ServiceManagedEC2InstanceCapabilitiesProperty.

Parameters:



1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
# File 'deadline/cfn_fleet.rb', line 1640

def initialize(cpu_architecture_type:, memory_mib:, os_family:, v_cpu_count:, accelerator_capabilities: nil, allowed_instance_types: nil, custom_amounts: nil, custom_attributes: nil, excluded_instance_types: nil, root_ebs_volume: nil)
  @cpu_architecture_type = cpu_architecture_type
  Jsii::Type.check_type(@cpu_architecture_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cpuArchitectureType")
  @memory_mib = memory_mib.is_a?(Hash) ? ::AWSCDK::Deadline::CfnFleet::MemoryMiBRangeProperty.new(**memory_mib.transform_keys(&:to_sym)) : memory_mib
  Jsii::Type.check_type(@memory_mib, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZWFkbGluZS5DZm5GbGVldC5NZW1vcnlNaUJSYW5nZVByb3BlcnR5In1dfX0=")), "memoryMiB")
  @os_family = os_family
  Jsii::Type.check_type(@os_family, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "osFamily")
  @v_cpu_count = v_cpu_count.is_a?(Hash) ? ::AWSCDK::Deadline::CfnFleet::VCpuCountRangeProperty.new(**v_cpu_count.transform_keys(&:to_sym)) : v_cpu_count
  Jsii::Type.check_type(@v_cpu_count, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZWFkbGluZS5DZm5GbGVldC5WQ3B1Q291bnRSYW5nZVByb3BlcnR5In1dfX0=")), "vCpuCount")
  @accelerator_capabilities = accelerator_capabilities.is_a?(Hash) ? ::AWSCDK::Deadline::CfnFleet::AcceleratorCapabilitiesProperty.new(**accelerator_capabilities.transform_keys(&:to_sym)) : accelerator_capabilities
  Jsii::Type.check_type(@accelerator_capabilities, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZWFkbGluZS5DZm5GbGVldC5BY2NlbGVyYXRvckNhcGFiaWxpdGllc1Byb3BlcnR5In1dfX0=")), "acceleratorCapabilities") unless @accelerator_capabilities.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?
  @custom_amounts = custom_amounts
  Jsii::Type.check_type(@custom_amounts, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGVhZGxpbmUuQ2ZuRmxlZXQuRmxlZXRBbW91bnRDYXBhYmlsaXR5UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "customAmounts") unless @custom_amounts.nil?
  @custom_attributes = custom_attributes
  Jsii::Type.check_type(@custom_attributes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGVhZGxpbmUuQ2ZuRmxlZXQuRmxlZXRBdHRyaWJ1dGVDYXBhYmlsaXR5UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "customAttributes") unless @custom_attributes.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?
  @root_ebs_volume = root_ebs_volume.is_a?(Hash) ? ::AWSCDK::Deadline::CfnFleet::EC2EbsVolumeProperty.new(**root_ebs_volume.transform_keys(&:to_sym)) : root_ebs_volume
  Jsii::Type.check_type(@root_ebs_volume, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZWFkbGluZS5DZm5GbGVldC5FYzJFYnNWb2x1bWVQcm9wZXJ0eSJ9XX19")), "rootEbsVolume") unless @root_ebs_volume.nil?
end

Instance Attribute Details

#accelerator_capabilitiesAWSCDK::IResolvable, ... (readonly)

Describes the GPU accelerator capabilities required for worker host instances in this fleet.



1687
1688
1689
# File 'deadline/cfn_fleet.rb', line 1687

def accelerator_capabilities
  @accelerator_capabilities
end

#allowed_instance_typesArray<String>? (readonly)

The allowable Amazon EC2 instance types.



1692
1693
1694
# File 'deadline/cfn_fleet.rb', line 1692

def allowed_instance_types
  @allowed_instance_types
end

#cpu_architecture_typeString (readonly)

The CPU architecture type.



1667
1668
1669
# File 'deadline/cfn_fleet.rb', line 1667

def cpu_architecture_type
  @cpu_architecture_type
end

#custom_amountsAWSCDK::IResolvable, ... (readonly)

The custom capability amounts to require for instances in this fleet.



1697
1698
1699
# File 'deadline/cfn_fleet.rb', line 1697

def custom_amounts
  @custom_amounts
end

#custom_attributesAWSCDK::IResolvable, ... (readonly)

The custom capability attributes to require for instances in this fleet.



1702
1703
1704
# File 'deadline/cfn_fleet.rb', line 1702

def custom_attributes
  @custom_attributes
end

#excluded_instance_typesArray<String>? (readonly)

The instance types to exclude from the fleet.



1707
1708
1709
# File 'deadline/cfn_fleet.rb', line 1707

def excluded_instance_types
  @excluded_instance_types
end

#os_familyString (readonly)

The operating system (OS) family.



1677
1678
1679
# File 'deadline/cfn_fleet.rb', line 1677

def os_family
  @os_family
end

Class Method Details

.jsii_propertiesObject



1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
# File 'deadline/cfn_fleet.rb', line 1714

def self.jsii_properties
  {
    :cpu_architecture_type => "cpuArchitectureType",
    :memory_mib => "memoryMiB",
    :os_family => "osFamily",
    :v_cpu_count => "vCpuCount",
    :accelerator_capabilities => "acceleratorCapabilities",
    :allowed_instance_types => "allowedInstanceTypes",
    :custom_amounts => "customAmounts",
    :custom_attributes => "customAttributes",
    :excluded_instance_types => "excludedInstanceTypes",
    :root_ebs_volume => "rootEbsVolume",
  }
end

Instance Method Details

#to_jsiiObject



1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
# File 'deadline/cfn_fleet.rb', line 1729

def to_jsii
  result = {}
  result.merge!({
    "cpuArchitectureType" => @cpu_architecture_type,
    "memoryMiB" => @memory_mib,
    "osFamily" => @os_family,
    "vCpuCount" => @v_cpu_count,
    "acceleratorCapabilities" => @accelerator_capabilities,
    "allowedInstanceTypes" => @allowed_instance_types,
    "customAmounts" => @custom_amounts,
    "customAttributes" => @custom_attributes,
    "excludedInstanceTypes" => @excluded_instance_types,
    "rootEbsVolume" => @root_ebs_volume,
  })
  result.compact
end