Class: AWSCDK::GameLift::CfnContainerFleet::LocationCapacityProperty

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

Overview

Current resource capacity settings in a specified fleet or location.

The location value might refer to a fleet's remote location or its home Region.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(max_size:, desired_ec2_instances: nil, managed_capacity_configuration: nil, min_size: nil) ⇒ LocationCapacityProperty

Returns a new instance of LocationCapacityProperty.

Parameters:

  • max_size (Numeric)

    The maximum value that is allowed for the fleet's instance count for a location.

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

    Defaults to MinSize if not defined.

  • managed_capacity_configuration (AWSCDK::IResolvable, AWSCDK::GameLift::CfnContainerFleet::ManagedCapacityConfigurationProperty, nil) (defaults to: nil)

    Configuration options for Amazon GameLift Servers managed capacity behavior.

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

    The minimum value allowed for the fleet's instance count for a location.



1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
# File 'game_lift/cfn_container_fleet.rb', line 1105

def initialize(max_size:, desired_ec2_instances: nil, managed_capacity_configuration: nil, min_size: nil)
  @max_size = max_size
  Jsii::Type.check_type(@max_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxSize")
  @desired_ec2_instances = desired_ec2_instances
  Jsii::Type.check_type(@desired_ec2_instances, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "desiredEc2Instances") unless @desired_ec2_instances.nil?
  @managed_capacity_configuration = managed_capacity_configuration.is_a?(Hash) ? ::AWSCDK::GameLift::CfnContainerFleet::ManagedCapacityConfigurationProperty.new(**managed_capacity_configuration.transform_keys(&:to_sym)) : managed_capacity_configuration
  Jsii::Type.check_type(@managed_capacity_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdC5DZm5Db250YWluZXJGbGVldC5NYW5hZ2VkQ2FwYWNpdHlDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "managedCapacityConfiguration") unless @managed_capacity_configuration.nil?
  @min_size = min_size
  Jsii::Type.check_type(@min_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minSize") unless @min_size.nil?
end

Instance Attribute Details

#desired_ec2_instancesNumeric? (readonly)

Defaults to MinSize if not defined.

The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits. If any auto-scaling policy is defined for the container fleet, the desired instance will only be applied once during fleet creation and will be ignored in updates to avoid conflicts with auto-scaling. During updates with any auto-scaling policy defined, if current desired instance is lower than the new MinSize, it will be increased to the new MinSize; if current desired instance is larger than the new MaxSize, it will be decreased to the new MaxSize.



1127
1128
1129
# File 'game_lift/cfn_container_fleet.rb', line 1127

def desired_ec2_instances
  @desired_ec2_instances
end

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

Configuration options for Amazon GameLift Servers managed capacity behavior.



1132
1133
1134
# File 'game_lift/cfn_container_fleet.rb', line 1132

def managed_capacity_configuration
  @managed_capacity_configuration
end

#max_sizeNumeric (readonly)

The maximum value that is allowed for the fleet's instance count for a location.



1120
1121
1122
# File 'game_lift/cfn_container_fleet.rb', line 1120

def max_size
  @max_size
end

#min_sizeNumeric? (readonly)

The minimum value allowed for the fleet's instance count for a location.



1137
1138
1139
# File 'game_lift/cfn_container_fleet.rb', line 1137

def min_size
  @min_size
end

Class Method Details

.jsii_propertiesObject



1139
1140
1141
1142
1143
1144
1145
1146
# File 'game_lift/cfn_container_fleet.rb', line 1139

def self.jsii_properties
  {
    :max_size => "maxSize",
    :desired_ec2_instances => "desiredEc2Instances",
    :managed_capacity_configuration => "managedCapacityConfiguration",
    :min_size => "minSize",
  }
end

Instance Method Details

#to_jsiiObject



1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
# File 'game_lift/cfn_container_fleet.rb', line 1148

def to_jsii
  result = {}
  result.merge!({
    "maxSize" => @max_size,
    "desiredEc2Instances" => @desired_ec2_instances,
    "managedCapacityConfiguration" => @managed_capacity_configuration,
    "minSize" => @min_size,
  })
  result.compact
end