Class StartStreamSessionResponse

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<StartStreamSessionResponse.Builder,StartStreamSessionResponse>

@Generated("software.amazon.awssdk:codegen") public final class StartStreamSessionResponse extends GameLiftStreamsResponse implements ToCopyableBuilder<StartStreamSessionResponse.Builder,StartStreamSessionResponse>
  • Method Details

    • arn

      public final String arn()

      The Amazon Resource Name (ARN) that's assigned to a stream session resource. When combined with the stream group resource ID, this value uniquely identifies the stream session across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream group resource ID]/[stream session resource ID] .

      Returns:
      The Amazon Resource Name (ARN) that's assigned to a stream session resource. When combined with the stream group resource ID, this value uniquely identifies the stream session across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream group resource ID]/[stream session resource ID] .
    • description

      public final String description()

      A human-readable label for the stream session. You can update this value at any time.

      Returns:
      A human-readable label for the stream session. You can update this value at any time.
    • streamGroupId

      public final String streamGroupId()

      The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4.

      Returns:
      The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4.
    • userId

      public final String userId()

      An opaque, unique identifier for an end-user, defined by the developer.

      Returns:
      An opaque, unique identifier for an end-user, defined by the developer.
    • status

      public final StreamSessionStatus status()

      The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

      • ACTIVATING: The stream session is starting and preparing to stream.

      • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

      • ERROR: The stream session failed to activate.

      • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

      • TERMINATING: The stream session is ending.

      • TERMINATED: The stream session has ended.

      If the service returns an enum value that is not available in the current SDK version, status will return StreamSessionStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

      • ACTIVATING: The stream session is starting and preparing to stream.

      • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

      • ERROR: The stream session failed to activate.

      • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

      • TERMINATING: The stream session is ending.

      • TERMINATED: The stream session has ended.

      See Also:
    • statusAsString

      public final String statusAsString()

      The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

      • ACTIVATING: The stream session is starting and preparing to stream.

      • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

      • ERROR: The stream session failed to activate.

      • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

      • TERMINATING: The stream session is ending.

      • TERMINATED: The stream session has ended.

      If the service returns an enum value that is not available in the current SDK version, status will return StreamSessionStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

      • ACTIVATING: The stream session is starting and preparing to stream.

      • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

      • ERROR: The stream session failed to activate.

      • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

      • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

      • TERMINATING: The stream session is ending.

      • TERMINATED: The stream session has ended.

      See Also:
    • statusReason

      public final StreamSessionStatusReason statusReason()

      A short description of the reason the stream session is in ERROR status.

      If the service returns an enum value that is not available in the current SDK version, statusReason will return StreamSessionStatusReason.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusReasonAsString().

      Returns:
      A short description of the reason the stream session is in ERROR status.
      See Also:
    • statusReasonAsString

      public final String statusReasonAsString()

      A short description of the reason the stream session is in ERROR status.

      If the service returns an enum value that is not available in the current SDK version, statusReason will return StreamSessionStatusReason.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusReasonAsString().

      Returns:
      A short description of the reason the stream session is in ERROR status.
      See Also:
    • protocol

      public final Protocol protocol()

      The data transfer protocol in use with the stream session.

      If the service returns an enum value that is not available in the current SDK version, protocol will return Protocol.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from protocolAsString().

      Returns:
      The data transfer protocol in use with the stream session.
      See Also:
    • protocolAsString

      public final String protocolAsString()

      The data transfer protocol in use with the stream session.

      If the service returns an enum value that is not available in the current SDK version, protocol will return Protocol.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from protocolAsString().

      Returns:
      The data transfer protocol in use with the stream session.
      See Also:
    • location

      public final String location()

      The location where Amazon GameLift Streams hosts and streams your application. 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.

      Returns:
      The location where Amazon GameLift Streams hosts and streams your application. 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.
    • signalRequest

      public final String signalRequest()

      The WebRTC ICE offer string that a client generates to initiate a connection to the stream session.

      Returns:
      The WebRTC ICE offer string that a client generates to initiate a connection to the stream session.
    • signalResponse

      public final String signalResponse()

      The WebRTC answer string that the stream server generates in response to the SignalRequest.

      Returns:
      The WebRTC answer string that the stream server generates in response to the SignalRequest.
    • connectionTimeoutSeconds

      public final Integer connectionTimeoutSeconds()

      The length of time that Amazon GameLift Streams should wait for a client to connect or reconnect to the stream session. This time span starts when the stream session reaches ACTIVE or PENDING_CLIENT_RECONNECTION state. If no client connects (or reconnects) before the timeout, Amazon GameLift Streams terminates the stream session.

      Returns:
      The length of time that Amazon GameLift Streams should wait for a client to connect or reconnect to the stream session. This time span starts when the stream session reaches ACTIVE or PENDING_CLIENT_RECONNECTION state. If no client connects (or reconnects) before the timeout, Amazon GameLift Streams terminates the stream session.
    • sessionLengthSeconds

      public final Integer sessionLengthSeconds()

      The maximum duration of a session. Amazon GameLift Streams will automatically terminate a session after this amount of time has elapsed, regardless of any existing client connections.

      Returns:
      The maximum duration of a session. Amazon GameLift Streams will automatically terminate a session after this amount of time has elapsed, regardless of any existing client connections.
    • hasAdditionalLaunchArgs

      public final boolean hasAdditionalLaunchArgs()
      For responses, this returns true if the service returned a value for the AdditionalLaunchArgs property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • additionalLaunchArgs

      public final List<String> additionalLaunchArgs()

      A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

      AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAdditionalLaunchArgs() method.

      Returns:
      A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

      AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

    • hasAdditionalEnvironmentVariables

      public final boolean hasAdditionalEnvironmentVariables()
      For responses, this returns true if the service returned a value for the AdditionalEnvironmentVariables property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • additionalEnvironmentVariables

      public final Map<String,String> additionalEnvironmentVariables()

      A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

      If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

      AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAdditionalEnvironmentVariables() method.

      Returns:
      A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

      If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

      AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

    • logFileLocationUri

      public final String logFileLocationUri()

      Access location for log files that your content generates during a stream session. These log files are uploaded to cloud storage location at the end of a stream session. The Amazon GameLift Streams application resource defines which log files to upload.

      Returns:
      Access location for log files that your content generates during a stream session. These log files are uploaded to cloud storage location at the end of a stream session. The Amazon GameLift Streams application resource defines which log files to upload.
    • webSdkProtocolUrl

      public final String webSdkProtocolUrl()

      The URL of an S3 bucket that stores Amazon GameLift Streams WebSDK files. The URL is used to establish connection with the client.

      Returns:
      The URL of an S3 bucket that stores Amazon GameLift Streams WebSDK files. The URL is used to establish connection with the client.
    • lastUpdatedAt

      public final Instant lastUpdatedAt()

      A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

      Returns:
      A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).
    • createdAt

      public final Instant createdAt()

      A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

      Returns:
      A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).
    • applicationArn

      public final String applicationArn()

      The application streaming in this session.

      This value is an Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

      Returns:
      The application streaming in this session.

      This value is an Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

    • exportFilesMetadata

      public final ExportFilesMetadata exportFilesMetadata()

      Provides details about the stream session's exported files.

      Returns:
      Provides details about the stream session's exported files.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<StartStreamSessionResponse.Builder,StartStreamSessionResponse>
      Specified by:
      toBuilder in class AwsResponse
      Returns:
      a builder for type T
    • builder

      public static StartStreamSessionResponse.Builder builder()
    • serializableBuilderClass

      public static Class<? extends StartStreamSessionResponse.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsResponse
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsResponse
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkResponse
      Used to retrieve the value of a field from any class that extends SdkResponse. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkResponse.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkResponse
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.