amazonka-gamelift-2.0: Amazon GameLift SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.GameLift.CreateBuild

Description

Creates a new Amazon GameLift build resource for your game server binary files. Combine game server binaries into a zip file for use with Amazon GameLift.

When setting up a new game build for GameLift, we recommend using the CLI command upload-build . This helper command combines two tasks: (1) it uploads your build files from a file directory to a GameLift Amazon S3 location, and (2) it creates a new build resource.

You can use the operation in the following scenarios:

  • To create a new game build with build files that are in an Amazon S3 location under an Amazon Web Services account that you control. To use this option, you give Amazon GameLift access to the Amazon S3 bucket. With permissions in place, specify a build name, operating system, and the Amazon S3 storage location of your game build.
  • To directly upload your build files to a GameLift Amazon S3 location. To use this option, specify a build name and operating system. This operation creates a new build resource and also returns an Amazon S3 location with temporary access credentials. Use the credentials to manually upload your build files to the specified Amazon S3 location. For more information, see Uploading Objects in the Amazon S3 Developer Guide. After you upload build files to the GameLift Amazon S3 location, you can't update them.

If successful, this operation creates a new build resource with a unique build ID and places it in INITIALIZED status. A build must be in READY status before you can create fleets with it.

Learn more

Uploading Your Game

Create a Build with Files in Amazon S3

All APIs by task

Synopsis

Creating a Request

data CreateBuild Source #

See: newCreateBuild smart constructor.

Constructors

CreateBuild' 

Fields

  • name :: Maybe Text

    A descriptive label associated with a build. Build names do not need to be unique. You can change this value later.

  • operatingSystem :: Maybe OperatingSystem

    The operating system that you built the game server binaries to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, GameLift uses the default value (WINDOWS_2012). This value cannot be changed later.

  • serverSdkVersion :: Maybe Text

    A server SDK version you used when integrating your game server build with GameLift. For more information see Integrate games with custom game servers.

  • storageLocation :: Maybe S3Location

    Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key. The location must also specify a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket and your new build must be in the same Region.

    If a StorageLocation is specified, the size of your file can be found in your Amazon S3 bucket. Amazon GameLift will report a SizeOnDisk of 0.

  • tags :: Maybe [Tag]

    A list of labels to assign to the new build resource. Tags are developer defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services 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 Amazon Web Services General Reference for actual tagging limits.

  • version :: Maybe Text

    Version information associated with a build or script. Version strings do not need to be unique. You can change this value later.

Instances

Instances details
ToJSON CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

ToHeaders CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Methods

toHeaders :: CreateBuild -> [Header] #

ToPath CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

ToQuery CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

AWSRequest CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Associated Types

type AWSResponse CreateBuild #

Generic CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Associated Types

type Rep CreateBuild :: Type -> Type #

Read CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Show CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

NFData CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Methods

rnf :: CreateBuild -> () #

Eq CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Hashable CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

type AWSResponse CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

type Rep CreateBuild Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

type Rep CreateBuild = D1 ('MetaData "CreateBuild" "Amazonka.GameLift.CreateBuild" "amazonka-gamelift-2.0-IjhNQby9jLV6gj30IrgsyK" 'False) (C1 ('MetaCons "CreateBuild'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "operatingSystem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe OperatingSystem)) :*: S1 ('MetaSel ('Just "serverSdkVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "storageLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe S3Location)) :*: (S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Tag])) :*: S1 ('MetaSel ('Just "version") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))

newCreateBuild :: CreateBuild Source #

Create a value of CreateBuild with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

CreateBuild, createBuild_name - A descriptive label associated with a build. Build names do not need to be unique. You can change this value later.

CreateBuild, createBuild_operatingSystem - The operating system that you built the game server binaries to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, GameLift uses the default value (WINDOWS_2012). This value cannot be changed later.

CreateBuild, createBuild_serverSdkVersion - A server SDK version you used when integrating your game server build with GameLift. For more information see Integrate games with custom game servers.

CreateBuild, createBuild_storageLocation - Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key. The location must also specify a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket and your new build must be in the same Region.

If a StorageLocation is specified, the size of your file can be found in your Amazon S3 bucket. Amazon GameLift will report a SizeOnDisk of 0.

$sel:tags:CreateBuild', createBuild_tags - A list of labels to assign to the new build resource. Tags are developer defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services 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 Amazon Web Services General Reference for actual tagging limits.

CreateBuild, createBuild_version - Version information associated with a build or script. Version strings do not need to be unique. You can change this value later.

Request Lenses

createBuild_name :: Lens' CreateBuild (Maybe Text) Source #

A descriptive label associated with a build. Build names do not need to be unique. You can change this value later.

createBuild_operatingSystem :: Lens' CreateBuild (Maybe OperatingSystem) Source #

The operating system that you built the game server binaries to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, GameLift uses the default value (WINDOWS_2012). This value cannot be changed later.

createBuild_serverSdkVersion :: Lens' CreateBuild (Maybe Text) Source #

A server SDK version you used when integrating your game server build with GameLift. For more information see Integrate games with custom game servers.

createBuild_storageLocation :: Lens' CreateBuild (Maybe S3Location) Source #

Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key. The location must also specify a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket and your new build must be in the same Region.

If a StorageLocation is specified, the size of your file can be found in your Amazon S3 bucket. Amazon GameLift will report a SizeOnDisk of 0.

createBuild_tags :: Lens' CreateBuild (Maybe [Tag]) Source #

A list of labels to assign to the new build resource. Tags are developer defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services 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 Amazon Web Services General Reference for actual tagging limits.

createBuild_version :: Lens' CreateBuild (Maybe Text) Source #

Version information associated with a build or script. Version strings do not need to be unique. You can change this value later.

Destructuring the Response

data CreateBuildResponse Source #

See: newCreateBuildResponse smart constructor.

Constructors

CreateBuildResponse' 

Fields

Instances

Instances details
Generic CreateBuildResponse Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Associated Types

type Rep CreateBuildResponse :: Type -> Type #

Show CreateBuildResponse Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

NFData CreateBuildResponse Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

Methods

rnf :: CreateBuildResponse -> () #

Eq CreateBuildResponse Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

type Rep CreateBuildResponse Source # 
Instance details

Defined in Amazonka.GameLift.CreateBuild

type Rep CreateBuildResponse = D1 ('MetaData "CreateBuildResponse" "Amazonka.GameLift.CreateBuild" "amazonka-gamelift-2.0-IjhNQby9jLV6gj30IrgsyK" 'False) (C1 ('MetaCons "CreateBuildResponse'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "build") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Build)) :*: S1 ('MetaSel ('Just "storageLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe S3Location))) :*: (S1 ('MetaSel ('Just "uploadCredentials") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Sensitive AwsCredentials))) :*: S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))))

newCreateBuildResponse Source #

Create a value of CreateBuildResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:build:CreateBuildResponse', createBuildResponse_build - The newly created build resource, including a unique build IDs and status.

CreateBuild, createBuildResponse_storageLocation - Amazon S3 location for your game build file, including bucket name and key.

$sel:uploadCredentials:CreateBuildResponse', createBuildResponse_uploadCredentials - This element is returned only when the operation is called without a storage location. It contains credentials to use when you are uploading a build file to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these credentials, call RequestUploadCredentials.

$sel:httpStatus:CreateBuildResponse', createBuildResponse_httpStatus - The response's http status code.

Response Lenses

createBuildResponse_build :: Lens' CreateBuildResponse (Maybe Build) Source #

The newly created build resource, including a unique build IDs and status.

createBuildResponse_storageLocation :: Lens' CreateBuildResponse (Maybe S3Location) Source #

Amazon S3 location for your game build file, including bucket name and key.

createBuildResponse_uploadCredentials :: Lens' CreateBuildResponse (Maybe AwsCredentials) Source #

This element is returned only when the operation is called without a storage location. It contains credentials to use when you are uploading a build file to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these credentials, call RequestUploadCredentials.