Interface FleetProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
BuildFleetProps
All Known Implementing Classes:
BuildFleetProps.Jsii$Proxy, FleetProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-08T21:35:15.679Z") @Stability(Experimental) public interface FleetProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for a new Gamelift fleet.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.gamelift.alpha.*;
 import software.amazon.awscdk.*;
 import software.amazon.awscdk.services.ec2.*;
 import software.amazon.awscdk.services.iam.*;
 InstanceType instanceType;
 Role role;
 Vpc vpc;
 FleetProps fleetProps = FleetProps.builder()
         .fleetName("fleetName")
         .instanceType(instanceType)
         .runtimeConfiguration(RuntimeConfiguration.builder()
                 .serverProcesses(List.of(ServerProcess.builder()
                         .launchPath("launchPath")
                         // the properties below are optional
                         .concurrentExecutions(123)
                         .parameters("parameters")
                         .build()))
                 // the properties below are optional
                 .gameSessionActivationTimeout(Duration.minutes(30))
                 .maxConcurrentGameSessionActivations(123)
                 .build())
         // the properties below are optional
         .description("description")
         .desiredCapacity(123)
         .locations(List.of(Location.builder()
                 .region("region")
                 // the properties below are optional
                 .capacity(LocationCapacity.builder()
                         .desiredCapacity(123)
                         .maxSize(123)
                         .minSize(123)
                         .build())
                 .build()))
         .maxSize(123)
         .metricGroup("metricGroup")
         .minSize(123)
         .peerVpc(vpc)
         .protectNewGameSession(false)
         .resourceCreationLimitPolicy(ResourceCreationLimitPolicy.builder()
                 .newGameSessionsPerCreator(123)
                 .policyPeriod(Duration.minutes(30))
                 .build())
         .role(role)
         .useCertificate(false)
         .useSpot(false)
         .build();
 
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final class 
    A builder for FleetProps
    static final class 
    An implementation for FleetProps
  • Method Summary

    Modifier and Type
    Method
    Description
     
    default String
    (experimental) A human-readable description of the fleet.
    default Number
    (experimental) The number of EC2 instances that you want this fleet to host.
    (experimental) A descriptive label that is associated with a fleet.
    (experimental) The GameLift-supported Amazon EC2 instance type to use for all fleet instances.
    default List<Location>
    (experimental) A set of remote locations to deploy additional instances to and manage as part of the fleet.
    default Number
    (experimental) The maximum number of instances that are allowed in the specified fleet location.
    default String
    (experimental) The name of an AWS CloudWatch metric group to add this fleet to.
    default Number
    (experimental) The minimum number of instances that are allowed in the specified fleet location.
    default IVpc
    (experimental) A VPC peering connection between your GameLift-hosted game servers and your other non-GameLift resources.
    default Boolean
    (experimental) The status of termination protection for active game sessions on the fleet.
    (experimental) A policy that limits the number of game sessions that an individual player can create on instances in this fleet within a specified span of time.
    default IRole
    (experimental) The IAM role assumed by GameLift fleet instances to access AWS ressources.
    (experimental) A collection of server process configurations that describe the set of processes to run on each instance in a fleet.
    default Boolean
    (experimental) Prompts GameLift to generate a TLS/SSL certificate for the fleet.
    default Boolean
    (experimental) Indicates whether to use On-Demand or Spot instances for this fleet.

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Method Details

    • getFleetName

      @Stability(Experimental) @NotNull String getFleetName()
      (experimental) A descriptive label that is associated with a fleet.

      Fleet names do not need to be unique.

    • getInstanceType

      @Stability(Experimental) @NotNull InstanceType getInstanceType()
      (experimental) The GameLift-supported Amazon EC2 instance type to use for all fleet instances.

      Instance type determines the computing resources that will be used to host your game servers, including CPU, memory, storage, and networking capacity.

      See Also:
    • getRuntimeConfiguration

      @Stability(Experimental) @NotNull RuntimeConfiguration getRuntimeConfiguration()
      (experimental) A collection of server process configurations that describe the set of processes to run on each instance in a fleet.

      Server processes run either an executable in a custom game build or a Realtime Servers script. GameLift launches the configured processes, manages their life cycle, and replaces them as needed. Each instance checks regularly for an updated runtime configuration.

      A GameLift instance is limited to 50 processes running concurrently. To calculate the total number of processes in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess.

      See Also:
    • getDescription

      @Stability(Experimental) @Nullable default String getDescription()
      (experimental) A human-readable description of the fleet.

      Default: no description is provided

    • getDesiredCapacity

      @Stability(Experimental) @Nullable default Number getDesiredCapacity()
      (experimental) The number of EC2 instances that you want this fleet to host.

      When creating a new fleet, GameLift automatically sets this value to "1" and initiates a single instance. Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet.

      Default: Default capacity is 0

    • getLocations

      @Stability(Experimental) @Nullable default List<Location> getLocations()
      (experimental) A set of remote locations to deploy additional instances to and manage as part of the fleet.

      This parameter can only be used when creating fleets in AWS Regions that support multiple locations. You can add any GameLift-supported AWS Region as a remote location, in the form of an AWS Region code such as us-west-2. To create a fleet with instances in the home region only, omit this parameter.

      Default: Create a fleet with instances in the home region only

    • getMaxSize

      @Stability(Experimental) @Nullable default Number getMaxSize()
      (experimental) The maximum number of instances that are allowed in the specified fleet location.

      Default: the default is 1

    • getMetricGroup

      @Stability(Experimental) @Nullable default String getMetricGroup()
      (experimental) The name of an AWS CloudWatch metric group to add this fleet to.

      A metric group is used to aggregate the metrics for multiple fleets. You can specify an existing metric group name or set a new name to create a new metric group. A fleet can be included in only one metric group at a time.

      Default: Fleet metrics are aggregated with other fleets in the default metric group

    • getMinSize

      @Stability(Experimental) @Nullable default Number getMinSize()
      (experimental) The minimum number of instances that are allowed in the specified fleet location.

      Default: the default is 0

    • getPeerVpc

      @Stability(Experimental) @Nullable default IVpc getPeerVpc()
      (experimental) A VPC peering connection between your GameLift-hosted game servers and your other non-GameLift resources.

      Use Amazon Virtual Private Cloud (VPC) peering connections to enable your game servers to communicate directly and privately with your other AWS resources, such as a web service or a repository. You can establish VPC peering with any resources that run on AWS and are managed by an AWS account that you have access to. The VPC must be in the same Region as your fleet.

      Warning: Be sure to create a VPC Peering authorization through Gamelift Service API.

      Default: no vpc peering

      See Also:
    • getProtectNewGameSession

      @Stability(Experimental) @Nullable default Boolean getProtectNewGameSession()
      (experimental) The status of termination protection for active game sessions on the fleet.

      By default, new game sessions are protected and cannot be terminated during a scale-down event.

      Default: true - Game sessions in `ACTIVE` status cannot be terminated during a scale-down event.

    • getResourceCreationLimitPolicy

      @Stability(Experimental) @Nullable default ResourceCreationLimitPolicy getResourceCreationLimitPolicy()
      (experimental) A policy that limits the number of game sessions that an individual player can create on instances in this fleet within a specified span of time.

      Default: No resource creation limit policy

    • getRole

      @Stability(Experimental) @Nullable default IRole getRole()
      (experimental) The IAM role assumed by GameLift fleet instances to access AWS ressources.

      With a role set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). If providing a custom role, it needs to trust the GameLift service principal (gamelift.amazonaws.com). No permission is required by default.

      This property cannot be changed after the fleet is created.

      Default: - a role will be created with default trust to Gamelift service principal.

      See Also:
    • getUseCertificate

      @Stability(Experimental) @Nullable default Boolean getUseCertificate()
      (experimental) Prompts GameLift to generate a TLS/SSL certificate for the fleet.

      GameLift uses the certificates to encrypt traffic between game clients and the game servers running on GameLift.

      You can't change this property after you create the fleet.

      Additionnal info: AWS Certificate Manager (ACM) certificates expire after 13 months. Certificate expiration can cause fleets to fail, preventing players from connecting to instances in the fleet. We recommend you replace fleets before 13 months, consider using fleet aliases for a smooth transition.

      Default: TLS/SSL certificate are generated for the fleet

    • getUseSpot

      @Stability(Experimental) @Nullable default Boolean getUseSpot()
      (experimental) Indicates whether to use On-Demand or Spot instances for this fleet. By default, fleet use on demand capacity.

      This property cannot be changed after the fleet is created.

      Default: Gamelift fleet use on demand capacity

      See Also:
    • builder

      @Stability(Experimental) static FleetProps.Builder builder()
      Returns:
      a FleetProps.Builder of FleetProps