Class: AWSCDK::GameLiftStreams::CfnStreamGroup::LocationConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
game_lift_streams/cfn_stream_group.rb

Overview

Configuration settings that define a stream group's stream capacity for a location.

When configuring a location for the first time, you must specify a numeric value for at least one of the two capacity types.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(location_name:, always_on_capacity: nil, maximum_capacity: nil, on_demand_capacity: nil, target_idle_capacity: nil, vpc_transit_configuration: nil) ⇒ LocationConfigurationProperty

Returns a new instance of LocationConfigurationProperty.

Parameters:

  • location_name (String)

    A location's name.

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

    This setting, if non-zero, indicates minimum streaming capacity which is allocated to you and is never released back to the service.

  • maximum_capacity (Numeric, nil) (defaults to: nil)
  • on_demand_capacity (Numeric, nil) (defaults to: nil)

    This field is deprecated. Use MaximumCapacity instead. This parameter is ignored when MaximumCapacity is specified.

  • target_idle_capacity (Numeric, nil) (defaults to: nil)
  • vpc_transit_configuration (AWSCDK::IResolvable, AWSCDK::GameLiftStreams::CfnStreamGroup::VPCTransitConfigurationProperty, nil) (defaults to: nil)


642
643
644
645
646
647
648
649
650
651
652
653
654
655
# File 'game_lift_streams/cfn_stream_group.rb', line 642

def initialize(location_name:, always_on_capacity: nil, maximum_capacity: nil, on_demand_capacity: nil, target_idle_capacity: nil, vpc_transit_configuration: nil)
  @location_name = location_name
  Jsii::Type.check_type(@location_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "locationName")
  @always_on_capacity = always_on_capacity
  Jsii::Type.check_type(@always_on_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "alwaysOnCapacity") unless @always_on_capacity.nil?
  @maximum_capacity = maximum_capacity
  Jsii::Type.check_type(@maximum_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumCapacity") unless @maximum_capacity.nil?
  @on_demand_capacity = on_demand_capacity
  Jsii::Type.check_type(@on_demand_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "onDemandCapacity") unless @on_demand_capacity.nil?
  @target_idle_capacity = target_idle_capacity
  Jsii::Type.check_type(@target_idle_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "targetIdleCapacity") unless @target_idle_capacity.nil?
  @vpc_transit_configuration = vpc_transit_configuration.is_a?(Hash) ? ::AWSCDK::GameLiftStreams::CfnStreamGroup::VPCTransitConfigurationProperty.new(**vpc_transit_configuration.transform_keys(&:to_sym)) : vpc_transit_configuration
  Jsii::Type.check_type(@vpc_transit_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdHN0cmVhbXMuQ2ZuU3RyZWFtR3JvdXAuVnBjVHJhbnNpdENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "vpcTransitConfiguration") unless @vpc_transit_configuration.nil?
end

Instance Attribute Details

#always_on_capacityNumeric? (readonly)

This setting, if non-zero, indicates minimum streaming capacity which is allocated to you and is never released back to the service.

You pay for this base level of capacity at all times, whether used or idle.



670
671
672
# File 'game_lift_streams/cfn_stream_group.rb', line 670

def always_on_capacity
  @always_on_capacity
end

#location_nameString (readonly)

A location's name.

For example, us-east-1 . For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide .



663
664
665
# File 'game_lift_streams/cfn_stream_group.rb', line 663

def location_name
  @location_name
end

#maximum_capacityNumeric? (readonly)



673
674
675
# File 'game_lift_streams/cfn_stream_group.rb', line 673

def maximum_capacity
  @maximum_capacity
end

#on_demand_capacityNumeric? (readonly)

This field is deprecated. Use MaximumCapacity instead. This parameter is ignored when MaximumCapacity is specified.

The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when you create a stream group or add a location.



680
681
682
# File 'game_lift_streams/cfn_stream_group.rb', line 680

def on_demand_capacity
  @on_demand_capacity
end

#target_idle_capacityNumeric? (readonly)



683
684
685
# File 'game_lift_streams/cfn_stream_group.rb', line 683

def target_idle_capacity
  @target_idle_capacity
end

Class Method Details

.jsii_propertiesObject



688
689
690
691
692
693
694
695
696
697
# File 'game_lift_streams/cfn_stream_group.rb', line 688

def self.jsii_properties
  {
    :location_name => "locationName",
    :always_on_capacity => "alwaysOnCapacity",
    :maximum_capacity => "maximumCapacity",
    :on_demand_capacity => "onDemandCapacity",
    :target_idle_capacity => "targetIdleCapacity",
    :vpc_transit_configuration => "vpcTransitConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



699
700
701
702
703
704
705
706
707
708
709
710
# File 'game_lift_streams/cfn_stream_group.rb', line 699

def to_jsii
  result = {}
  result.merge!({
    "locationName" => @location_name,
    "alwaysOnCapacity" => @always_on_capacity,
    "maximumCapacity" => @maximum_capacity,
    "onDemandCapacity" => @on_demand_capacity,
    "targetIdleCapacity" => @target_idle_capacity,
    "vpcTransitConfiguration" => @vpc_transit_configuration,
  })
  result.compact
end