Class: AWSCDK::DeviceFarm::CfnDevicePoolProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
device_farm/cfn_device_pool_props.rb

Overview

Properties for defining a CfnDevicePool.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, project_arn:, rules:, description: nil, max_devices: nil, tags: nil) ⇒ CfnDevicePoolProps

Returns a new instance of CfnDevicePoolProps.

Parameters:

  • name (String)

    The device pool's name.

  • project_arn (String)

    The ARN of the project for the device pool.

  • rules (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::DeviceFarm::CfnDevicePool::RuleProperty>)

    The device pool's rules.

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

    The device pool's description.

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

    The number of devices that Device Farm can add to your device pool.

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

    An array of key-value pairs to apply to this resource.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'device_farm/cfn_device_pool_props.rb', line 15

def initialize(name:, project_arn:, rules:, description: nil, max_devices: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @project_arn = project_arn
  Jsii::Type.check_type(@project_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "projectArn")
  @rules = rules
  Jsii::Type.check_type(@rules, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZGV2aWNlZmFybS5DZm5EZXZpY2VQb29sLlJ1bGVQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "rules")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @max_devices = max_devices
  Jsii::Type.check_type(@max_devices, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxDevices") unless @max_devices.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

#descriptionString? (readonly)

The device pool's description.



49
50
51
# File 'device_farm/cfn_device_pool_props.rb', line 49

def description
  @description
end

#max_devicesNumeric? (readonly)

The number of devices that Device Farm can add to your device pool.

Device Farm adds devices that are available and meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

By specifying the maximum number of devices, you can control the costs that you incur by running tests.



58
59
60
# File 'device_farm/cfn_device_pool_props.rb', line 58

def max_devices
  @max_devices
end

#nameString (readonly)

The device pool's name.



34
35
36
# File 'device_farm/cfn_device_pool_props.rb', line 34

def name
  @name
end

#project_arnString (readonly)

The ARN of the project for the device pool.



39
40
41
# File 'device_farm/cfn_device_pool_props.rb', line 39

def project_arn
  @project_arn
end

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

An array of key-value pairs to apply to this resource.

For more information, see Tag in the guide .



65
66
67
# File 'device_farm/cfn_device_pool_props.rb', line 65

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



67
68
69
70
71
72
73
74
75
76
# File 'device_farm/cfn_device_pool_props.rb', line 67

def self.jsii_properties
  {
    :name => "name",
    :project_arn => "projectArn",
    :rules => "rules",
    :description => "description",
    :max_devices => "maxDevices",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



78
79
80
81
82
83
84
85
86
87
88
89
# File 'device_farm/cfn_device_pool_props.rb', line 78

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "projectArn" => @project_arn,
    "rules" => @rules,
    "description" => @description,
    "maxDevices" => @max_devices,
    "tags" => @tags,
  })
  result.compact
end