/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace GameLift { namespace Model { /** */ class CreateScriptRequest : public GameLiftRequest { public: AWS_GAMELIFT_API CreateScriptRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateScript"; } AWS_GAMELIFT_API Aws::String SerializePayload() const override; AWS_GAMELIFT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline CreateScriptRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline CreateScriptRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

A descriptive label that is associated with a script. Script names don't need * to be unique. You can use UpdateScript * to change this value later.

*/ inline CreateScriptRequest& WithName(const char* value) { SetName(value); return *this;} /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline const Aws::String& GetVersion() const{ return m_version; } /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline CreateScriptRequest& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline CreateScriptRequest& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} /** *

Version information associated with a build or script. Version strings don't * need to be unique. You can use UpdateScript * to change this value later.

*/ inline CreateScriptRequest& WithVersion(const char* value) { SetVersion(value); return *this;} /** *

The location of the Amazon S3 bucket where a zipped file containing your * Realtime scripts is stored. The storage location must specify the Amazon S3 * bucket name, the zip file name (the "key"), and a role ARN that allows Amazon * GameLift to access the Amazon S3 storage location. The S3 bucket must be in the * same Region where you want to create a new script. By default, Amazon GameLift * uploads the latest version of the zip file; if you have S3 object versioning * turned on, you can use the ObjectVersion parameter to specify an * earlier version.

*/ inline const S3Location& GetStorageLocation() const{ return m_storageLocation; } /** *

The location of the Amazon S3 bucket where a zipped file containing your * Realtime scripts is stored. The storage location must specify the Amazon S3 * bucket name, the zip file name (the "key"), and a role ARN that allows Amazon * GameLift to access the Amazon S3 storage location. The S3 bucket must be in the * same Region where you want to create a new script. By default, Amazon GameLift * uploads the latest version of the zip file; if you have S3 object versioning * turned on, you can use the ObjectVersion parameter to specify an * earlier version.

*/ inline bool StorageLocationHasBeenSet() const { return m_storageLocationHasBeenSet; } /** *

The location of the Amazon S3 bucket where a zipped file containing your * Realtime scripts is stored. The storage location must specify the Amazon S3 * bucket name, the zip file name (the "key"), and a role ARN that allows Amazon * GameLift to access the Amazon S3 storage location. The S3 bucket must be in the * same Region where you want to create a new script. By default, Amazon GameLift * uploads the latest version of the zip file; if you have S3 object versioning * turned on, you can use the ObjectVersion parameter to specify an * earlier version.

*/ inline void SetStorageLocation(const S3Location& value) { m_storageLocationHasBeenSet = true; m_storageLocation = value; } /** *

The location of the Amazon S3 bucket where a zipped file containing your * Realtime scripts is stored. The storage location must specify the Amazon S3 * bucket name, the zip file name (the "key"), and a role ARN that allows Amazon * GameLift to access the Amazon S3 storage location. The S3 bucket must be in the * same Region where you want to create a new script. By default, Amazon GameLift * uploads the latest version of the zip file; if you have S3 object versioning * turned on, you can use the ObjectVersion parameter to specify an * earlier version.

*/ inline void SetStorageLocation(S3Location&& value) { m_storageLocationHasBeenSet = true; m_storageLocation = std::move(value); } /** *

The location of the Amazon S3 bucket where a zipped file containing your * Realtime scripts is stored. The storage location must specify the Amazon S3 * bucket name, the zip file name (the "key"), and a role ARN that allows Amazon * GameLift to access the Amazon S3 storage location. The S3 bucket must be in the * same Region where you want to create a new script. By default, Amazon GameLift * uploads the latest version of the zip file; if you have S3 object versioning * turned on, you can use the ObjectVersion parameter to specify an * earlier version.

*/ inline CreateScriptRequest& WithStorageLocation(const S3Location& value) { SetStorageLocation(value); return *this;} /** *

The location of the Amazon S3 bucket where a zipped file containing your * Realtime scripts is stored. The storage location must specify the Amazon S3 * bucket name, the zip file name (the "key"), and a role ARN that allows Amazon * GameLift to access the Amazon S3 storage location. The S3 bucket must be in the * same Region where you want to create a new script. By default, Amazon GameLift * uploads the latest version of the zip file; if you have S3 object versioning * turned on, you can use the ObjectVersion parameter to specify an * earlier version.

*/ inline CreateScriptRequest& WithStorageLocation(S3Location&& value) { SetStorageLocation(std::move(value)); return *this;} /** *

A data object containing your Realtime scripts and dependencies as a zip * file. The zip file can have one or multiple files. Maximum size of a zip file is * 5 MB.

When using the Amazon Web Services CLI tool to create a script, * this parameter is set to the zip file name. It must be prepended with the string * "fileb://" to indicate that the file data is a binary object. For example: * --zip-file fileb://myRealtimeScript.zip.

*/ inline const Aws::Utils::ByteBuffer& GetZipFile() const{ return m_zipFile; } /** *

A data object containing your Realtime scripts and dependencies as a zip * file. The zip file can have one or multiple files. Maximum size of a zip file is * 5 MB.

When using the Amazon Web Services CLI tool to create a script, * this parameter is set to the zip file name. It must be prepended with the string * "fileb://" to indicate that the file data is a binary object. For example: * --zip-file fileb://myRealtimeScript.zip.

*/ inline bool ZipFileHasBeenSet() const { return m_zipFileHasBeenSet; } /** *

A data object containing your Realtime scripts and dependencies as a zip * file. The zip file can have one or multiple files. Maximum size of a zip file is * 5 MB.

When using the Amazon Web Services CLI tool to create a script, * this parameter is set to the zip file name. It must be prepended with the string * "fileb://" to indicate that the file data is a binary object. For example: * --zip-file fileb://myRealtimeScript.zip.

*/ inline void SetZipFile(const Aws::Utils::ByteBuffer& value) { m_zipFileHasBeenSet = true; m_zipFile = value; } /** *

A data object containing your Realtime scripts and dependencies as a zip * file. The zip file can have one or multiple files. Maximum size of a zip file is * 5 MB.

When using the Amazon Web Services CLI tool to create a script, * this parameter is set to the zip file name. It must be prepended with the string * "fileb://" to indicate that the file data is a binary object. For example: * --zip-file fileb://myRealtimeScript.zip.

*/ inline void SetZipFile(Aws::Utils::ByteBuffer&& value) { m_zipFileHasBeenSet = true; m_zipFile = std::move(value); } /** *

A data object containing your Realtime scripts and dependencies as a zip * file. The zip file can have one or multiple files. Maximum size of a zip file is * 5 MB.

When using the Amazon Web Services CLI tool to create a script, * this parameter is set to the zip file name. It must be prepended with the string * "fileb://" to indicate that the file data is a binary object. For example: * --zip-file fileb://myRealtimeScript.zip.

*/ inline CreateScriptRequest& WithZipFile(const Aws::Utils::ByteBuffer& value) { SetZipFile(value); return *this;} /** *

A data object containing your Realtime scripts and dependencies as a zip * file. The zip file can have one or multiple files. Maximum size of a zip file is * 5 MB.

When using the Amazon Web Services CLI tool to create a script, * this parameter is set to the zip file name. It must be prepended with the string * "fileb://" to indicate that the file data is a binary object. For example: * --zip-file fileb://myRealtimeScript.zip.

*/ inline CreateScriptRequest& WithZipFile(Aws::Utils::ByteBuffer&& value) { SetZipFile(std::move(value)); return *this;} /** *

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

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

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

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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

*/ inline CreateScriptRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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

*/ inline CreateScriptRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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

*/ inline CreateScriptRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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

*/ inline CreateScriptRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_version; bool m_versionHasBeenSet = false; S3Location m_storageLocation; bool m_storageLocationHasBeenSet = false; Aws::Utils::ByteBuffer m_zipFile; bool m_zipFileHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws