Class: AWSCDK::GameLift::CfnContainerGroupDefinition::SupportContainerDefinitionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
game_lift/cfn_container_group_definition.rb

Overview

Describes a support container in a container group.

A support container might be in a game server container group or a per-instance container group. Support containers don't run game server processes.

You can update a support container definition and deploy the updates to an existing fleet. When creating or updating a game server container group definition, use the property GameServerContainerDefinitionInput .

Part of: ContainerGroupDefinition

Returned by: DescribeContainerGroupDefinition , ListContainerGroupDefinitions , UpdateContainerGroupDefinition

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(container_name:, image_uri:, depends_on: nil, environment_override: nil, essential: nil, health_check: nil, linux_capabilities: nil, memory_hard_limit_mebibytes: nil, mount_points: nil, port_configuration: nil, resolved_image_digest: nil, vcpu: nil) ⇒ SupportContainerDefinitionProperty

Returns a new instance of SupportContainerDefinitionProperty.

Parameters:



1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
# File 'game_lift/cfn_container_group_definition.rb', line 1207

def initialize(container_name:, image_uri:, depends_on: nil, environment_override: nil, essential: nil, health_check: nil, linux_capabilities: nil, memory_hard_limit_mebibytes: nil, mount_points: nil, port_configuration: nil, resolved_image_digest: nil, vcpu: nil)
  @container_name = container_name
  Jsii::Type.check_type(@container_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "containerName")
  @image_uri = image_uri
  Jsii::Type.check_type(@image_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageUri")
  @depends_on = depends_on
  Jsii::Type.check_type(@depends_on, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2FtZWxpZnQuQ2ZuQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uLkNvbnRhaW5lckRlcGVuZGVuY3lQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "dependsOn") unless @depends_on.nil?
  @environment_override = environment_override
  Jsii::Type.check_type(@environment_override, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2FtZWxpZnQuQ2ZuQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uLkNvbnRhaW5lckVudmlyb25tZW50UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "environmentOverride") unless @environment_override.nil?
  @essential = essential
  Jsii::Type.check_type(@essential, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "essential") unless @essential.nil?
  @health_check = health_check.is_a?(Hash) ? ::AWSCDK::GameLift::CfnContainerGroupDefinition::ContainerHealthCheckProperty.new(**health_check.transform_keys(&:to_sym)) : health_check
  Jsii::Type.check_type(@health_check, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdC5DZm5Db250YWluZXJHcm91cERlZmluaXRpb24uQ29udGFpbmVySGVhbHRoQ2hlY2tQcm9wZXJ0eSJ9XX19")), "healthCheck") unless @health_check.nil?
  @linux_capabilities = linux_capabilities.is_a?(Hash) ? ::AWSCDK::GameLift::CfnContainerGroupDefinition::LinuxCapabilitiesProperty.new(**linux_capabilities.transform_keys(&:to_sym)) : linux_capabilities
  Jsii::Type.check_type(@linux_capabilities, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdC5DZm5Db250YWluZXJHcm91cERlZmluaXRpb24uTGludXhDYXBhYmlsaXRpZXNQcm9wZXJ0eSJ9XX19")), "linuxCapabilities") unless @linux_capabilities.nil?
  @memory_hard_limit_mebibytes = memory_hard_limit_mebibytes
  Jsii::Type.check_type(@memory_hard_limit_mebibytes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "memoryHardLimitMebibytes") unless @memory_hard_limit_mebibytes.nil?
  @mount_points = mount_points
  Jsii::Type.check_type(@mount_points, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2FtZWxpZnQuQ2ZuQ29udGFpbmVyR3JvdXBEZWZpbml0aW9uLkNvbnRhaW5lck1vdW50UG9pbnRQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "mountPoints") unless @mount_points.nil?
  @port_configuration = port_configuration.is_a?(Hash) ? ::AWSCDK::GameLift::CfnContainerGroupDefinition::PortConfigurationProperty.new(**port_configuration.transform_keys(&:to_sym)) : port_configuration
  Jsii::Type.check_type(@port_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdC5DZm5Db250YWluZXJHcm91cERlZmluaXRpb24uUG9ydENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "portConfiguration") unless @port_configuration.nil?
  @resolved_image_digest = resolved_image_digest
  Jsii::Type.check_type(@resolved_image_digest, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resolvedImageDigest") unless @resolved_image_digest.nil?
  @vcpu = vcpu
  Jsii::Type.check_type(@vcpu, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "vcpu") unless @vcpu.nil?
end

Instance Attribute Details

#container_nameString (readonly)

The container definition identifier.

Container names are unique within a container group definition.



1240
1241
1242
# File 'game_lift/cfn_container_group_definition.rb', line 1240

def container_name
  @container_name
end

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

Indicates that the container relies on the status of other containers in the same container group during its startup and shutdown sequences.

A container might have dependencies on multiple containers.



1254
1255
1256
# File 'game_lift/cfn_container_group_definition.rb', line 1254

def depends_on
  @depends_on
end

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

A set of environment variables that's passed to the container on startup.

See the ContainerDefinition::environment parameter in the Amazon Elastic Container Service API Reference .



1261
1262
1263
# File 'game_lift/cfn_container_group_definition.rb', line 1261

def environment_override
  @environment_override
end

#essentialBoolean, ... (readonly)

Indicates whether the container is vital to the container group.

If an essential container fails, the entire container group restarts.



1268
1269
1270
# File 'game_lift/cfn_container_group_definition.rb', line 1268

def essential
  @essential
end

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

A configuration for a non-terminal health check.

A support container automatically restarts if it stops functioning or if it fails this health check.



1275
1276
1277
# File 'game_lift/cfn_container_group_definition.rb', line 1275

def health_check
  @health_check
end

#image_uriString (readonly)

The URI to the image that Amazon GameLift Servers deploys to a container fleet.

For a more specific identifier, see ResolvedImageDigest .



1247
1248
1249
# File 'game_lift/cfn_container_group_definition.rb', line 1247

def image_uri
  @image_uri
end

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

A set of Linux capabilities that are added to a container's default Docker configuration.

For more detailed information, see the capabilities(7) Linux manual page.



1282
1283
1284
# File 'game_lift/cfn_container_group_definition.rb', line 1282

def linux_capabilities
  @linux_capabilities
end

#memory_hard_limit_mebibytesNumeric? (readonly)

The amount of memory that Amazon GameLift Servers makes available to the container.

If memory limits aren't set for an individual container, the container shares the container group's total memory allocation.

Related data type: ContainerGroupDefinition TotalMemoryLimitMebibytes



1291
1292
1293
# File 'game_lift/cfn_container_group_definition.rb', line 1291

def memory_hard_limit_mebibytes
  @memory_hard_limit_mebibytes
end

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

A mount point that binds a path inside the container to a file or directory on the host system and lets it access the file or directory.



1296
1297
1298
# File 'game_lift/cfn_container_group_definition.rb', line 1296

def mount_points
  @mount_points
end

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

A set of ports that allow access to the container from external users.

Processes running in the container can bind to a one of these ports. Container ports aren't directly accessed by inbound traffic. Amazon GameLift Servers maps these container ports to externally accessible connection ports, which are assigned as needed from the container fleet's ConnectionPortRange .



1303
1304
1305
# File 'game_lift/cfn_container_group_definition.rb', line 1303

def port_configuration
  @port_configuration
end

#resolved_image_digestString? (readonly)

A unique and immutable identifier for the container image.

The digest is a SHA 256 hash of the container image manifest.



1310
1311
1312
# File 'game_lift/cfn_container_group_definition.rb', line 1310

def resolved_image_digest
  @resolved_image_digest
end

#vcpuNumeric? (readonly)

The number of vCPU units that are reserved for the container.

If no resources are reserved, the container shares the total vCPU limit for the container group.

Related data type: ContainerGroupDefinition TotalVcpuLimit



1319
1320
1321
# File 'game_lift/cfn_container_group_definition.rb', line 1319

def vcpu
  @vcpu
end

Class Method Details

.jsii_propertiesObject



1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
# File 'game_lift/cfn_container_group_definition.rb', line 1321

def self.jsii_properties
  {
    :container_name => "containerName",
    :image_uri => "imageUri",
    :depends_on => "dependsOn",
    :environment_override => "environmentOverride",
    :essential => "essential",
    :health_check => "healthCheck",
    :linux_capabilities => "linuxCapabilities",
    :memory_hard_limit_mebibytes => "memoryHardLimitMebibytes",
    :mount_points => "mountPoints",
    :port_configuration => "portConfiguration",
    :resolved_image_digest => "resolvedImageDigest",
    :vcpu => "vcpu",
  }
end

Instance Method Details

#to_jsiiObject



1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
# File 'game_lift/cfn_container_group_definition.rb', line 1338

def to_jsii
  result = {}
  result.merge!({
    "containerName" => @container_name,
    "imageUri" => @image_uri,
    "dependsOn" => @depends_on,
    "environmentOverride" => @environment_override,
    "essential" => @essential,
    "healthCheck" => @health_check,
    "linuxCapabilities" => @linux_capabilities,
    "memoryHardLimitMebibytes" => @memory_hard_limit_mebibytes,
    "mountPoints" => @mount_points,
    "portConfiguration" => @port_configuration,
    "resolvedImageDigest" => @resolved_image_digest,
    "vcpu" => @vcpu,
  })
  result.compact
end