GameLift / Client / create_build
create_build#
- GameLift.Client.create_build(**kwargs)#
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.
Warning
When setting up a new game build for Amazon 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 an Amazon GameLift Amazon S3 location, and (2) it creates a new build resource.
You can use the
CreateBuild
operation in the following scenarios: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.
Upload your build files to a Amazon 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 Amazon 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 inREADY
status before you can create fleets with it.Learn more
Create a Build with Files in Amazon S3
See also: AWS API Documentation
Request Syntax
response = client.create_build( Name='string', Version='string', StorageLocation={ 'Bucket': 'string', 'Key': 'string', 'RoleArn': 'string', 'ObjectVersion': 'string' }, OperatingSystem='WINDOWS_2012'|'AMAZON_LINUX'|'AMAZON_LINUX_2'|'WINDOWS_2016'|'AMAZON_LINUX_2023', Tags=[ { 'Key': 'string', 'Value': 'string' }, ], ServerSdkVersion='string' )
- Parameters:
Name (string) – A descriptive label associated with a build. Build names don’t need to be unique. You can change this value later.
Version (string) – Version information associated with a build or script. Version strings don’t need to be unique. You can change this value later.
StorageLocation (dict) –
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 aSizeOnDisk
of 0.Bucket (string) –
An Amazon S3 bucket identifier. Thename of the S3 bucket.
Note
Amazon GameLift doesn’t support uploading from Amazon S3 buckets with names that contain a dot (.).
Key (string) –
The name of the zip file that contains the build files or script files.
RoleArn (string) –
The Amazon Resource Name ( ARN) for an IAM role that allows Amazon GameLift to access the S3 bucket.
ObjectVersion (string) –
The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses this information when retrieving files from an S3 bucket that you own. Use this parameter to specify a specific version of the file. If not set, the latest version of the file is retrieved.
OperatingSystem (string) –
The operating system that your game server binaries run on. This value determines the type of fleet resources that you use for this build. If your game build contains multiple executables, they all must run on the same operating system. You must specify a valid operating system in this request. There is no default value. You can’t change a build’s operating system later.
Note
Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details in the Amazon Linux 2 FAQs. For game servers that are hosted on AL2 and use Amazon GameLift server SDK 4.x., first update the game server build to server SDK 5.x, and then deploy to AL2023 instances. See Migrate to Amazon GameLift server SDK version 5.
Tags (list) –
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.
(dict) –
A label that you can assign to a Amazon GameLift resource.
Learn more
Tagging Amazon Web Services Resources in the Amazon Web Services General Reference
Amazon Web Services Tagging Strategies
Related actions
Key (string) – [REQUIRED]
The key for a developer-defined key value pair for tagging an Amazon Web Services resource.
Value (string) – [REQUIRED]
The value for a developer-defined key value pair for tagging an Amazon Web Services resource.
ServerSdkVersion (string) – A server SDK version you used when integrating your game server build with Amazon GameLift. For more information see Integrate games with custom game servers. By default Amazon GameLift sets this value to
4.0.2
.
- Return type:
dict
- Returns:
Response Syntax
{ 'Build': { 'BuildId': 'string', 'BuildArn': 'string', 'Name': 'string', 'Version': 'string', 'Status': 'INITIALIZED'|'READY'|'FAILED', 'SizeOnDisk': 123, 'OperatingSystem': 'WINDOWS_2012'|'AMAZON_LINUX'|'AMAZON_LINUX_2'|'WINDOWS_2016'|'AMAZON_LINUX_2023', 'CreationTime': datetime(2015, 1, 1), 'ServerSdkVersion': 'string' }, 'UploadCredentials': { 'AccessKeyId': 'string', 'SecretAccessKey': 'string', 'SessionToken': 'string' }, 'StorageLocation': { 'Bucket': 'string', 'Key': 'string', 'RoleArn': 'string', 'ObjectVersion': 'string' } }
Response Structure
(dict) –
Build (dict) –
The newly created build resource, including a unique build IDs and status.
BuildId (string) –
A unique identifier for the build.
BuildArn (string) –
The Amazon Resource Name ( ARN) assigned to a Amazon GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. Format is
arn:aws:gamelift:<region>::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912
. In a GameLift build ARN, the resource ID matches the BuildId value.Name (string) –
A descriptive label associated with a build. Build names don’t need to be unique. It can be set using CreateBuild or UpdateBuild.
Version (string) –
Version information associated with a build or script. Version strings don’t need to be unique.
Status (string) –
Current status of the build.
Possible build statuses include the following:
INITIALIZED – A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.
READY – The game build has been successfully uploaded. You can now create new fleets for this build.
FAILED – The game build upload failed. You cannot create new fleets for this build.
SizeOnDisk (integer) –
File size of the uploaded game build, expressed in bytes. When the build status is
INITIALIZED
or when using a custom Amazon S3 storage location, this value is 0.OperatingSystem (string) –
Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.
Note
Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details in the Amazon Linux 2 FAQs. For game servers that are hosted on AL2 and use Amazon GameLift server SDK 4.x., first update the game server build to server SDK 5.x, and then deploy to AL2023 instances. See Migrate to Amazon GameLift server SDK version 5.
CreationTime (datetime) –
A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example
"1469498468.057"
).ServerSdkVersion (string) –
The Amazon GameLift Server SDK version used to develop your game server.
UploadCredentials (dict) –
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.
AccessKeyId (string) –
The access key ID that identifies the temporary security credentials.
SecretAccessKey (string) –
The secret access key that can be used to sign requests.
SessionToken (string) –
The token that users must pass to the service API to use the temporary credentials.
StorageLocation (dict) –
Amazon S3 location for your game build file, including bucket name and key.
Bucket (string) –
An Amazon S3 bucket identifier. Thename of the S3 bucket.
Note
Amazon GameLift doesn’t support uploading from Amazon S3 buckets with names that contain a dot (.).
Key (string) –
The name of the zip file that contains the build files or script files.
RoleArn (string) –
The Amazon Resource Name ( ARN) for an IAM role that allows Amazon GameLift to access the S3 bucket.
ObjectVersion (string) –
The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses this information when retrieving files from an S3 bucket that you own. Use this parameter to specify a specific version of the file. If not set, the latest version of the file is retrieved.
Exceptions
GameLift.Client.exceptions.UnauthorizedException
GameLift.Client.exceptions.InvalidRequestException
GameLift.Client.exceptions.ConflictException
GameLift.Client.exceptions.TaggingFailedException
GameLift.Client.exceptions.InternalServiceException