You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::GameLift::Types::CreateFleetInput

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing CreateFleetInput as input to an Aws::Client method, you can use a vanilla Hash:

{
  name: "NonZeroAndMaxString", # required
  description: "NonZeroAndMaxString",
  build_id: "BuildIdOrArn",
  script_id: "ScriptIdOrArn",
  server_launch_path: "NonZeroAndMaxString",
  server_launch_parameters: "NonZeroAndMaxString",
  log_paths: ["NonZeroAndMaxString"],
  ec2_instance_type: "t2.micro", # required, accepts t2.micro, t2.small, t2.medium, t2.large, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge
  ec2_inbound_permissions: [
    {
      from_port: 1, # required
      to_port: 1, # required
      ip_range: "NonBlankString", # required
      protocol: "TCP", # required, accepts TCP, UDP
    },
  ],
  new_game_session_protection_policy: "NoProtection", # accepts NoProtection, FullProtection
  runtime_configuration: {
    server_processes: [
      {
        launch_path: "NonZeroAndMaxString", # required
        parameters: "NonZeroAndMaxString",
        concurrent_executions: 1, # required
      },
    ],
    max_concurrent_game_session_activations: 1,
    game_session_activation_timeout_seconds: 1,
  },
  resource_creation_limit_policy: {
    new_game_sessions_per_creator: 1,
    policy_period_in_minutes: 1,
  },
  metric_groups: ["MetricGroup"],
  peer_vpc_aws_account_id: "NonZeroAndMaxString",
  peer_vpc_id: "NonZeroAndMaxString",
  fleet_type: "ON_DEMAND", # accepts ON_DEMAND, SPOT
  instance_role_arn: "NonEmptyString",
  certificate_configuration: {
    certificate_type: "DISABLED", # required, accepts DISABLED, GENERATED
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
}

Represents the input for a request operation.

Instance Attribute Summary collapse

Instance Attribute Details

#build_idString

A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. The custom game server build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

Returns:

  • (String)

    A unique identifier for a build to be deployed on the new fleet.

#certificate_configurationTypes::CertificateConfiguration

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not specified, the default value, DISABLED, is used. This fleet setting cannot be changed once the fleet is created. Learn more at Securing Client/Server Communication.

Note: This feature requires the AWS Certificate Manager (ACM) service, which is available in the AWS global partition but not in all other partitions. When working in a partition that does not support this feature, a request for a new fleet with certificate generation results fails with a 4xx unsupported Region error.

Valid values include:

  • GENERATED - Generate a TLS/SSL certificate for this fleet.

  • DISABLED - (default) Do not generate a TLS/SSL certificate for this fleet.

Returns:

#descriptionString

A human-readable description of a fleet.

Returns:

  • (String)

    A human-readable description of a fleet.

#ec2_inbound_permissionsArray<Types::IpPermission>

Range of IP addresses and port settings that permit inbound traffic to access game sessions that are running on the fleet. For fleets using a custom game build, this parameter is required before game sessions running on the fleet can accept connections. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime servers. You can specify multiple permission settings or add more by updating the fleet.

Returns:

  • (Array<Types::IpPermission>)

    Range of IP addresses and port settings that permit inbound traffic to access game sessions that are running on the fleet.

#ec2_instance_typeString

The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

Returns:

  • (String)

    The name of an EC2 instance type that is supported in Amazon GameLift.

#fleet_typeString

Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet. Learn more about On-Demand versus Spot Instances.

Returns:

  • (String)

    Indicates whether to use On-Demand instances or Spot instances for this fleet.

#instance_role_arnString

A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role\'s ARN from the IAM dashboard in the AWS Management Console. Learn more about using on-box credentials for your game servers at Access external resources from a game server.

Returns:

  • (String)

    A unique identifier for an AWS IAM role that manages access to your AWS services.

#log_pathsArray<String>

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference.

Returns:

  • (Array<String>)

    This parameter is no longer used.

#metric_groupsArray<String>

The name of an Amazon CloudWatch metric group to add this fleet to. A metric group aggregates the metrics for all fleets in the group. Specify an existing metric group name, or provide a new name to create a new metric group. A fleet can only be included in one metric group at a time.

Returns:

  • (Array<String>)

    The name of an Amazon CloudWatch metric group to add this fleet to.

#nameString

A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

Returns:

  • (String)

    A descriptive label that is associated with a fleet.

#new_game_session_protection_policyString

A game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet\'s protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession.

  • NoProtection - The game session can be terminated during a scale-down event.

  • FullProtection - If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

    Possible values:

    • NoProtection
    • FullProtection

Returns:

  • (String)

    A game session protection policy to apply to all instances in this fleet.

#peer_vpc_aws_account_idString

A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.

Returns:

  • (String)

    A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with.

#peer_vpc_idString

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

Returns:

  • (String)

    A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet.

#resource_creation_limit_policyTypes::ResourceCreationLimitPolicy

A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.

Returns:

#runtime_configurationTypes::RuntimeConfiguration

Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters, although requests that contain values for these parameters instead of a runtime configuration will continue to work.) This parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration replaced these parameters, but fleets that use them will continue to work.

Returns:

#script_idString

A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.

Returns:

  • (String)

    A unique identifier for a Realtime script to be deployed on the new fleet.

#server_launch_parametersString

This parameter is no longer used. Instead, specify server launch parameters in the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.)

Returns:

  • (String)

    This parameter is no longer used.

#server_launch_pathString

This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.

Returns:

  • (String)

    This parameter is no longer used.

#tagsArray<Types::Tag>

A list of labels to assign to the new fleet 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.

Returns:

  • (Array<Types::Tag>)

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