/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the gamelift-2015-10-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.GameLift.Model
{
///
/// Container for the parameters to the CreateBuild operation.
/// 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 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 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
///
///
public partial class CreateBuildRequest : AmazonGameLiftRequest
{
private string _name;
private OperatingSystem _operatingSystem;
private string _serverSdkVersion;
private S3Location _storageLocation;
private List _tags = new List();
private string _version;
///
/// Gets and sets the property Name.
///
/// A descriptive label associated with a build. Build names don't need to be unique.
/// You can change this value later.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property OperatingSystem.
///
/// 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.
///
///
///
/// If you have active fleets using the Windows Server 2012 operating system, you can
/// continue to create new builds using this OS until October 10, 2023, when Microsoft
/// ends its support. All others must use Windows Server 2016 when creating new Windows-based
/// builds.
///
///
///
public OperatingSystem OperatingSystem
{
get { return this._operatingSystem; }
set { this._operatingSystem = value; }
}
// Check to see if OperatingSystem property is set
internal bool IsSetOperatingSystem()
{
return this._operatingSystem != null;
}
///
/// Gets and sets the property ServerSdkVersion.
///
/// 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
.
///
///
[AWSProperty(Max=128)]
public string ServerSdkVersion
{
get { return this._serverSdkVersion; }
set { this._serverSdkVersion = value; }
}
// Check to see if ServerSdkVersion property is set
internal bool IsSetServerSdkVersion()
{
return this._serverSdkVersion != null;
}
///
/// Gets and sets the property 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.
///
///
public S3Location StorageLocation
{
get { return this._storageLocation; }
set { this._storageLocation = value; }
}
// Check to see if StorageLocation property is set
internal bool IsSetStorageLocation()
{
return this._storageLocation != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=0, Max=200)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property Version.
///
/// Version information associated with a build or script. Version strings don't need
/// to be unique. You can change this value later.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Version
{
get { return this._version; }
set { this._version = value; }
}
// Check to see if Version property is set
internal bool IsSetVersion()
{
return this._version != null;
}
}
}