Class: AWSCDK::GameLift::CfnGameSessionQueueProps

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

Overview

Properties for defining a CfnGameSessionQueue.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, custom_event_data: nil, destinations: nil, filter_configuration: nil, notification_target: nil, player_latency_policies: nil, priority_configuration: nil, tags: nil, timeout_in_seconds: nil) ⇒ CfnGameSessionQueueProps

Returns a new instance of CfnGameSessionQueueProps.

Parameters:



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

def initialize(name:, custom_event_data: nil, destinations: nil, filter_configuration: nil, notification_target: nil, player_latency_policies: nil, priority_configuration: nil, tags: nil, timeout_in_seconds: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @custom_event_data = custom_event_data
  Jsii::Type.check_type(@custom_event_data, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customEventData") unless @custom_event_data.nil?
  @destinations = destinations
  Jsii::Type.check_type(@destinations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2FtZWxpZnQuQ2ZuR2FtZVNlc3Npb25RdWV1ZS5EZXN0aW5hdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "destinations") unless @destinations.nil?
  @filter_configuration = filter_configuration.is_a?(Hash) ? ::AWSCDK::GameLift::CfnGameSessionQueue::FilterConfigurationProperty.new(**filter_configuration.transform_keys(&:to_sym)) : filter_configuration
  Jsii::Type.check_type(@filter_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdC5DZm5HYW1lU2Vzc2lvblF1ZXVlLkZpbHRlckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "filterConfiguration") unless @filter_configuration.nil?
  @notification_target = notification_target
  Jsii::Type.check_type(@notification_target, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "notificationTarget") unless @notification_target.nil?
  @player_latency_policies = player_latency_policies
  Jsii::Type.check_type(@player_latency_policies, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2FtZWxpZnQuQ2ZuR2FtZVNlc3Npb25RdWV1ZS5QbGF5ZXJMYXRlbmN5UG9saWN5UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "playerLatencyPolicies") unless @player_latency_policies.nil?
  @priority_configuration = priority_configuration.is_a?(Hash) ? ::AWSCDK::GameLift::CfnGameSessionQueue::PriorityConfigurationProperty.new(**priority_configuration.transform_keys(&:to_sym)) : priority_configuration
  Jsii::Type.check_type(@priority_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdC5DZm5HYW1lU2Vzc2lvblF1ZXVlLlByaW9yaXR5Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "priorityConfiguration") unless @priority_configuration.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?
  @timeout_in_seconds = timeout_in_seconds
  Jsii::Type.check_type(@timeout_in_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeoutInSeconds") unless @timeout_in_seconds.nil?
end

Instance Attribute Details

#custom_event_dataString? (readonly)

Information to be added to all events that are related to this game session queue.



50
51
52
# File 'game_lift/cfn_game_session_queue_props.rb', line 50

def custom_event_data
  @custom_event_data
end

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

A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue.

Destinations are identified by either a fleet ARN or a fleet alias ARN, and are listed in order of placement preference.



57
58
59
# File 'game_lift/cfn_game_session_queue_props.rb', line 57

def destinations
  @destinations
end

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

A list of locations where a queue is allowed to place new game sessions.

Locations are specified in the form of AWS Region codes, such as us-west-2 . If this parameter is not set, game sessions can be placed in any queue location.



64
65
66
# File 'game_lift/cfn_game_session_queue_props.rb', line 64

def filter_configuration
  @filter_configuration
end

#nameString (readonly)

A descriptive label that is associated with game session queue.

Queue names must be unique within each Region.



45
46
47
# File 'game_lift/cfn_game_session_queue_props.rb', line 45

def name
  @name
end

#notification_targetString? (readonly)

An SNS topic ARN that is set up to receive game session placement notifications.

See Setting up notifications for game session placement .



71
72
73
# File 'game_lift/cfn_game_session_queue_props.rb', line 71

def notification_target
  @notification_target
end

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

A set of policies that enforce a sliding cap on player latency when processing game sessions placement requests.

Use multiple policies to gradually relax the cap over time if Amazon GameLift Servers can't make a placement. Policies are evaluated in order starting with the lowest maximum latency value.



78
79
80
# File 'game_lift/cfn_game_session_queue_props.rb', line 78

def player_latency_policies
  @player_latency_policies
end

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

Custom settings to use when prioritizing destinations and locations for game session placements.

This configuration replaces the FleetIQ default prioritization process. Priority types that are not explicitly named will be automatically applied at the end of the prioritization process.



85
86
87
# File 'game_lift/cfn_game_session_queue_props.rb', line 85

def priority_configuration
  @priority_configuration
end

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

A list of labels to assign to the new game session queue resource.

Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference . Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.



92
93
94
# File 'game_lift/cfn_game_session_queue_props.rb', line 92

def tags
  @tags
end

#timeout_in_secondsNumeric? (readonly)

The maximum time, in seconds, that a new game session placement request remains in the queue.

When a request exceeds this time, the game session placement changes to a TIMED_OUT status. If you don't specify a request timeout, the queue uses a default value.



99
100
101
# File 'game_lift/cfn_game_session_queue_props.rb', line 99

def timeout_in_seconds
  @timeout_in_seconds
end

Class Method Details

.jsii_propertiesObject



101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'game_lift/cfn_game_session_queue_props.rb', line 101

def self.jsii_properties
  {
    :name => "name",
    :custom_event_data => "customEventData",
    :destinations => "destinations",
    :filter_configuration => "filterConfiguration",
    :notification_target => "notificationTarget",
    :player_latency_policies => "playerLatencyPolicies",
    :priority_configuration => "priorityConfiguration",
    :tags => "tags",
    :timeout_in_seconds => "timeoutInSeconds",
  }
end

Instance Method Details

#to_jsiiObject



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'game_lift/cfn_game_session_queue_props.rb', line 115

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "customEventData" => @custom_event_data,
    "destinations" => @destinations,
    "filterConfiguration" => @filter_configuration,
    "notificationTarget" => @notification_target,
    "playerLatencyPolicies" => @player_latency_policies,
    "priorityConfiguration" => @priority_configuration,
    "tags" => @tags,
    "timeoutInSeconds" => @timeout_in_seconds,
  })
  result.compact
end