Class: AWSCDK::Deadline::CfnFleetProps

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

Overview

Properties for defining a CfnFleet.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration:, display_name:, farm_id:, max_worker_count:, role_arn:, description: nil, host_configuration: nil, min_worker_count: nil, tags: nil) ⇒ CfnFleetProps

Returns a new instance of CfnFleetProps.

Parameters:

  • configuration (AWSCDK::IResolvable, AWSCDK::Deadline::CfnFleet::FleetConfigurationProperty)

    The configuration details for the fleet.

  • display_name (String)

    The display name of the fleet summary to update.

  • farm_id (String)

    The farm ID.

  • max_worker_count (Numeric)

    The maximum number of workers specified in the fleet.

  • role_arn (String)

    The IAM role that workers in the fleet use when processing jobs.

  • description (String, nil) (defaults to: nil)

    A description that helps identify what the fleet is used for.

  • host_configuration (AWSCDK::IResolvable, AWSCDK::Deadline::CfnFleet::HostConfigurationProperty, nil) (defaults to: nil)

    Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.

  • min_worker_count (Numeric, nil) (defaults to: nil)

    The minimum number of workers in the fleet.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The tags to add to your fleet.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'deadline/cfn_fleet_props.rb', line 18

def initialize(configuration:, display_name:, farm_id:, max_worker_count:, role_arn:, description: nil, host_configuration: nil, min_worker_count: nil, tags: nil)
  @configuration = configuration.is_a?(Hash) ? ::AWSCDK::Deadline::CfnFleet::FleetConfigurationProperty.new(**configuration.transform_keys(&:to_sym)) : configuration
  Jsii::Type.check_type(@configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZWFkbGluZS5DZm5GbGVldC5GbGVldENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "configuration")
  @display_name = display_name
  Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName")
  @farm_id = farm_id
  Jsii::Type.check_type(@farm_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "farmId")
  @max_worker_count = max_worker_count
  Jsii::Type.check_type(@max_worker_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxWorkerCount")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @host_configuration = host_configuration.is_a?(Hash) ? ::AWSCDK::Deadline::CfnFleet::HostConfigurationProperty.new(**host_configuration.transform_keys(&:to_sym)) : host_configuration
  Jsii::Type.check_type(@host_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZWFkbGluZS5DZm5GbGVldC5Ib3N0Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "hostConfiguration") unless @host_configuration.nil?
  @min_worker_count = min_worker_count
  Jsii::Type.check_type(@min_worker_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minWorkerCount") unless @min_worker_count.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#configurationAWSCDK::IResolvable, AWSCDK::Deadline::CfnFleet::FleetConfigurationProperty (readonly)

The configuration details for the fleet.



43
44
45
# File 'deadline/cfn_fleet_props.rb', line 43

def configuration
  @configuration
end

#descriptionString? (readonly)

Note:

Default: - ""

A description that helps identify what the fleet is used for.

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.



73
74
75
# File 'deadline/cfn_fleet_props.rb', line 73

def description
  @description
end

#display_nameString (readonly)

The display name of the fleet summary to update.

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.



50
51
52
# File 'deadline/cfn_fleet_props.rb', line 50

def display_name
  @display_name
end

#farm_idString (readonly)

The farm ID.



55
56
57
# File 'deadline/cfn_fleet_props.rb', line 55

def farm_id
  @farm_id
end

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

Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.

To remove a script from a fleet, use the UpdateFleet operation with the host_configuration script_body parameter set to an empty string ("").



80
81
82
# File 'deadline/cfn_fleet_props.rb', line 80

def host_configuration
  @host_configuration
end

#max_worker_countNumeric (readonly)

The maximum number of workers specified in the fleet.



60
61
62
# File 'deadline/cfn_fleet_props.rb', line 60

def max_worker_count
  @max_worker_count
end

#min_worker_countNumeric? (readonly)

Note:

Default: - 0

The minimum number of workers in the fleet.



86
87
88
# File 'deadline/cfn_fleet_props.rb', line 86

def min_worker_count
  @min_worker_count
end

#role_arnString (readonly)

The IAM role that workers in the fleet use when processing jobs.



65
66
67
# File 'deadline/cfn_fleet_props.rb', line 65

def role_arn
  @role_arn
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The tags to add to your fleet.

Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.



93
94
95
# File 'deadline/cfn_fleet_props.rb', line 93

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'deadline/cfn_fleet_props.rb', line 95

def self.jsii_properties
  {
    :configuration => "configuration",
    :display_name => "displayName",
    :farm_id => "farmId",
    :max_worker_count => "maxWorkerCount",
    :role_arn => "roleArn",
    :description => "description",
    :host_configuration => "hostConfiguration",
    :min_worker_count => "minWorkerCount",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'deadline/cfn_fleet_props.rb', line 109

def to_jsii
  result = {}
  result.merge!({
    "configuration" => @configuration,
    "displayName" => @display_name,
    "farmId" => @farm_id,
    "maxWorkerCount" => @max_worker_count,
    "roleArn" => @role_arn,
    "description" => @description,
    "hostConfiguration" => @host_configuration,
    "minWorkerCount" => @min_worker_count,
    "tags" => @tags,
  })
  result.compact
end