Class: AWSCDK::GameLiftStreams::CfnApplicationProps

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

Overview

Properties for defining a CfnApplication.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(application_source_uri:, description:, executable_path:, runtime_environment:, application_log_output_uri: nil, application_log_paths: nil, tags: nil) ⇒ CfnApplicationProps

Returns a new instance of CfnApplicationProps.

Parameters:

  • application_source_uri (String)

    The location of the content that you want to stream.

  • description (String)

    A human-readable label for the application.

  • executable_path (String)

    The relative path and file name of the executable file that Amazon GameLift Streams will stream.

  • runtime_environment (AWSCDK::IResolvable, AWSCDK::GameLiftStreams::CfnApplication::RuntimeEnvironmentProperty)

    A set of configuration settings to run the application on a stream group.

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

    An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs.

  • application_log_paths (Array<String>, nil) (defaults to: nil)

    Locations of log files that your content generates during a stream session.

  • tags (Hash{String => String}, nil) (defaults to: nil)

    A list of labels to assign to the new application resource.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'game_lift_streams/cfn_application_props.rb', line 16

def initialize(application_source_uri:, description:, executable_path:, runtime_environment:, application_log_output_uri: nil, application_log_paths: nil, tags: nil)
  @application_source_uri = application_source_uri
  Jsii::Type.check_type(@application_source_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "applicationSourceUri")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description")
  @executable_path = executable_path
  Jsii::Type.check_type(@executable_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executablePath")
  @runtime_environment = runtime_environment.is_a?(Hash) ? ::AWSCDK::GameLiftStreams::CfnApplication::RuntimeEnvironmentProperty.new(**runtime_environment.transform_keys(&:to_sym)) : runtime_environment
  Jsii::Type.check_type(@runtime_environment, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nYW1lbGlmdHN0cmVhbXMuQ2ZuQXBwbGljYXRpb24uUnVudGltZUVudmlyb25tZW50UHJvcGVydHkifV19fQ==")), "runtimeEnvironment")
  @application_log_output_uri = application_log_output_uri
  Jsii::Type.check_type(@application_log_output_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "applicationLogOutputUri") unless @application_log_output_uri.nil?
  @application_log_paths = application_log_paths
  Jsii::Type.check_type(@application_log_paths, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "applicationLogPaths") unless @application_log_paths.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
end

Instance Attribute Details

#application_log_output_uriString? (readonly)

An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs.

Required if you specify one or more ApplicationLogPaths .



71
72
73
# File 'game_lift_streams/cfn_application_props.rb', line 71

def application_log_output_uri
  @application_log_output_uri
end

#application_log_pathsArray<String>? (readonly)

Locations of log files that your content generates during a stream session.

Enter path values that are relative to the ApplicationSourceUri location. You can specify up to 10 log paths. Amazon GameLift Streams uploads designated log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri at the end of a stream session. To retrieve stored log files, call GetStreamSession and get the LogFileLocationUri .



78
79
80
# File 'game_lift_streams/cfn_application_props.rb', line 78

def application_log_paths
  @application_log_paths
end

#application_source_uriString (readonly)

The location of the content that you want to stream.

Enter an Amazon S3 URI to a bucket that contains your game or other application. The location can have a multi-level prefix structure, but it must include all the files needed to run the content. Amazon GameLift Streams copies everything under the specified location.

This value is immutable. To designate a different content location, create a new application.

The Amazon S3 bucket and the Amazon GameLift Streams application must be in the same AWS Region.



43
44
45
# File 'game_lift_streams/cfn_application_props.rb', line 43

def application_source_uri
  @application_source_uri
end

#descriptionString (readonly)

A human-readable label for the application.

You can update this value later.



50
51
52
# File 'game_lift_streams/cfn_application_props.rb', line 50

def description
  @description
end

#executable_pathString (readonly)

The relative path and file name of the executable file that Amazon GameLift Streams will stream.

Specify a path relative to the location set in ApplicationSourceUri . The file must be contained within the application's root folder. For Windows applications, the file must be a valid Windows executable or batch file with a filename ending in .exe, .cmd, or .bat. For Linux applications, the file must be a valid Linux binary executable or a script that contains an initial interpreter line starting with a shebang (' #! ').



57
58
59
# File 'game_lift_streams/cfn_application_props.rb', line 57

def executable_path
  @executable_path
end

#runtime_environmentAWSCDK::IResolvable, AWSCDK::GameLiftStreams::CfnApplication::RuntimeEnvironmentProperty (readonly)

A set of configuration settings to run the application on a stream group.

This configures the operating system, and can include compatibility layers and other drivers.



64
65
66
# File 'game_lift_streams/cfn_application_props.rb', line 64

def runtime_environment
  @runtime_environment
end

#tagsHash{String => String}? (readonly)

A list of labels to assign to the new application resource.

Tags are developer-defined key-value pairs. Tagging AWS resources is useful for resource management, access management and cost allocation. See Tagging AWS Resources in the AWS General Reference .



85
86
87
# File 'game_lift_streams/cfn_application_props.rb', line 85

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



87
88
89
90
91
92
93
94
95
96
97
# File 'game_lift_streams/cfn_application_props.rb', line 87

def self.jsii_properties
  {
    :application_source_uri => "applicationSourceUri",
    :description => "description",
    :executable_path => "executablePath",
    :runtime_environment => "runtimeEnvironment",
    :application_log_output_uri => "applicationLogOutputUri",
    :application_log_paths => "applicationLogPaths",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'game_lift_streams/cfn_application_props.rb', line 99

def to_jsii
  result = {}
  result.merge!({
    "applicationSourceUri" => @application_source_uri,
    "description" => @description,
    "executablePath" => @executable_path,
    "runtimeEnvironment" => @runtime_environment,
    "applicationLogOutputUri" => @application_log_output_uri,
    "applicationLogPaths" => @application_log_paths,
    "tags" => @tags,
  })
  result.compact
end