java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.gamelift.alpha.FleetBase
software.amazon.awscdk.services.gamelift.alpha.BuildFleet
All Implemented Interfaces:
IResource, IBuildFleet, IFleet, IGameSessionQueueDestination, IGrantable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-07-12T19:34:11.676Z") @Stability(Experimental) public class BuildFleet extends FleetBase implements IBuildFleet
(experimental) A fleet contains Amazon Elastic Compute Cloud (Amazon EC2) instances that GameLift hosts.

A fleet uses the configuration and scaling logic that you define to run your game server build. You can use a fleet directly without a queue. You can also associate multiple fleets with a GameLift queue.

For example, you can use Spot Instance fleets configured with your preferred locations, along with a backup On-Demand Instance fleet with the same locations. Using multiple Spot Instance fleets of different instance types reduces the chance of needing On-Demand Instance placement.

Example:

 Build build;
 // Server processes can be delcared in a declarative way through the constructor
 BuildFleet fleet = BuildFleet.Builder.create(this, "Game server fleet")
         .fleetName("test-fleet")
         .content(build)
         .instanceType(InstanceType.of(InstanceClass.C4, InstanceSize.LARGE))
         .runtimeConfiguration(RuntimeConfiguration.builder()
                 .serverProcesses(List.of(ServerProcess.builder()
                         .launchPath("/local/game/GameLiftExampleServer.x86_64")
                         .parameters("-logFile /local/game/logs/myserver1935.log -port 1935")
                         .concurrentExecutions(100)
                         .build()))
                 .build())
         .build();
 
  • Constructor Details

    • BuildFleet

      protected BuildFleet(software.amazon.jsii.JsiiObjectRef objRef)
    • BuildFleet

      protected BuildFleet(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • BuildFleet

      @Stability(Experimental) public BuildFleet(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull BuildFleetProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • fromBuildFleetArn

      @Stability(Experimental) @NotNull public static IBuildFleet fromBuildFleetArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String buildFleetArn)
      (experimental) Import an existing fleet from its ARN.

      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      buildFleetArn - This parameter is required.
    • fromBuildFleetId

      @Stability(Experimental) @NotNull public static IBuildFleet fromBuildFleetId(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String buildFleetId)
      (experimental) Import an existing fleet from its identifier.

      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      buildFleetId - This parameter is required.
    • addIngressRule

      @Stability(Experimental) public void addIngressRule(@NotNull IPeer source, @NotNull Port port)
      (experimental) Adds an ingress rule to allow inbound traffic to access game sessions on this fleet.

      Parameters:
      source - A range of allowed IP addresses. This parameter is required.
      port - The port range used for ingress traffic. This parameter is required.
    • getContent

      @Stability(Experimental) @NotNull public IBuild getContent()
      (experimental) The build content of the fleet.
    • getFleetArn

      @Stability(Experimental) @NotNull public String getFleetArn()
      (experimental) The ARN of the fleet.
      Specified by:
      getFleetArn in interface IFleet
      Specified by:
      getFleetArn in class FleetBase
    • getFleetId

      @Stability(Experimental) @NotNull public String getFleetId()
      (experimental) The Identifier of the fleet.
      Specified by:
      getFleetId in interface IFleet
      Specified by:
      getFleetId in class FleetBase
    • getGrantPrincipal

      @Stability(Experimental) @NotNull public IPrincipal getGrantPrincipal()
      (experimental) The principal this GameLift fleet is using.
      Specified by:
      getGrantPrincipal in interface IGrantable
      Specified by:
      getGrantPrincipal in class FleetBase
    • getRole

      @Stability(Experimental) @NotNull public IRole getRole()
      (experimental) The IAM role GameLift assumes by fleet instances to access AWS ressources.