/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace AppStream { namespace Model { /** */ class CreateUpdatedImageRequest : public AppStreamRequest { public: AWS_APPSTREAM_API CreateUpdatedImageRequest(); // 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 "CreateUpdatedImage"; } AWS_APPSTREAM_API Aws::String SerializePayload() const override; AWS_APPSTREAM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the image to update.

*/ inline const Aws::String& GetExistingImageName() const{ return m_existingImageName; } /** *

The name of the image to update.

*/ inline bool ExistingImageNameHasBeenSet() const { return m_existingImageNameHasBeenSet; } /** *

The name of the image to update.

*/ inline void SetExistingImageName(const Aws::String& value) { m_existingImageNameHasBeenSet = true; m_existingImageName = value; } /** *

The name of the image to update.

*/ inline void SetExistingImageName(Aws::String&& value) { m_existingImageNameHasBeenSet = true; m_existingImageName = std::move(value); } /** *

The name of the image to update.

*/ inline void SetExistingImageName(const char* value) { m_existingImageNameHasBeenSet = true; m_existingImageName.assign(value); } /** *

The name of the image to update.

*/ inline CreateUpdatedImageRequest& WithExistingImageName(const Aws::String& value) { SetExistingImageName(value); return *this;} /** *

The name of the image to update.

*/ inline CreateUpdatedImageRequest& WithExistingImageName(Aws::String&& value) { SetExistingImageName(std::move(value)); return *this;} /** *

The name of the image to update.

*/ inline CreateUpdatedImageRequest& WithExistingImageName(const char* value) { SetExistingImageName(value); return *this;} /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline const Aws::String& GetNewImageName() const{ return m_newImageName; } /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline bool NewImageNameHasBeenSet() const { return m_newImageNameHasBeenSet; } /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline void SetNewImageName(const Aws::String& value) { m_newImageNameHasBeenSet = true; m_newImageName = value; } /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline void SetNewImageName(Aws::String&& value) { m_newImageNameHasBeenSet = true; m_newImageName = std::move(value); } /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline void SetNewImageName(const char* value) { m_newImageNameHasBeenSet = true; m_newImageName.assign(value); } /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline CreateUpdatedImageRequest& WithNewImageName(const Aws::String& value) { SetNewImageName(value); return *this;} /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline CreateUpdatedImageRequest& WithNewImageName(Aws::String&& value) { SetNewImageName(std::move(value)); return *this;} /** *

The name of the new image. The name must be unique within the AWS account and * Region.

*/ inline CreateUpdatedImageRequest& WithNewImageName(const char* value) { SetNewImageName(value); return *this;} /** *

The description to display for the new image.

*/ inline const Aws::String& GetNewImageDescription() const{ return m_newImageDescription; } /** *

The description to display for the new image.

*/ inline bool NewImageDescriptionHasBeenSet() const { return m_newImageDescriptionHasBeenSet; } /** *

The description to display for the new image.

*/ inline void SetNewImageDescription(const Aws::String& value) { m_newImageDescriptionHasBeenSet = true; m_newImageDescription = value; } /** *

The description to display for the new image.

*/ inline void SetNewImageDescription(Aws::String&& value) { m_newImageDescriptionHasBeenSet = true; m_newImageDescription = std::move(value); } /** *

The description to display for the new image.

*/ inline void SetNewImageDescription(const char* value) { m_newImageDescriptionHasBeenSet = true; m_newImageDescription.assign(value); } /** *

The description to display for the new image.

*/ inline CreateUpdatedImageRequest& WithNewImageDescription(const Aws::String& value) { SetNewImageDescription(value); return *this;} /** *

The description to display for the new image.

*/ inline CreateUpdatedImageRequest& WithNewImageDescription(Aws::String&& value) { SetNewImageDescription(std::move(value)); return *this;} /** *

The description to display for the new image.

*/ inline CreateUpdatedImageRequest& WithNewImageDescription(const char* value) { SetNewImageDescription(value); return *this;} /** *

The name to display for the new image.

*/ inline const Aws::String& GetNewImageDisplayName() const{ return m_newImageDisplayName; } /** *

The name to display for the new image.

*/ inline bool NewImageDisplayNameHasBeenSet() const { return m_newImageDisplayNameHasBeenSet; } /** *

The name to display for the new image.

*/ inline void SetNewImageDisplayName(const Aws::String& value) { m_newImageDisplayNameHasBeenSet = true; m_newImageDisplayName = value; } /** *

The name to display for the new image.

*/ inline void SetNewImageDisplayName(Aws::String&& value) { m_newImageDisplayNameHasBeenSet = true; m_newImageDisplayName = std::move(value); } /** *

The name to display for the new image.

*/ inline void SetNewImageDisplayName(const char* value) { m_newImageDisplayNameHasBeenSet = true; m_newImageDisplayName.assign(value); } /** *

The name to display for the new image.

*/ inline CreateUpdatedImageRequest& WithNewImageDisplayName(const Aws::String& value) { SetNewImageDisplayName(value); return *this;} /** *

The name to display for the new image.

*/ inline CreateUpdatedImageRequest& WithNewImageDisplayName(Aws::String&& value) { SetNewImageDisplayName(std::move(value)); return *this;} /** *

The name to display for the new image.

*/ inline CreateUpdatedImageRequest& WithNewImageDisplayName(const char* value) { SetNewImageDisplayName(value); return *this;} /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline const Aws::Map& GetNewImageTags() const{ return m_newImageTags; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline bool NewImageTagsHasBeenSet() const { return m_newImageTagsHasBeenSet; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline void SetNewImageTags(const Aws::Map& value) { m_newImageTagsHasBeenSet = true; m_newImageTags = value; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline void SetNewImageTags(Aws::Map&& value) { m_newImageTagsHasBeenSet = true; m_newImageTags = std::move(value); } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& WithNewImageTags(const Aws::Map& value) { SetNewImageTags(value); return *this;} /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& WithNewImageTags(Aws::Map&& value) { SetNewImageTags(std::move(value)); return *this;} /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& AddNewImageTags(const Aws::String& key, const Aws::String& value) { m_newImageTagsHasBeenSet = true; m_newImageTags.emplace(key, value); return *this; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& AddNewImageTags(Aws::String&& key, const Aws::String& value) { m_newImageTagsHasBeenSet = true; m_newImageTags.emplace(std::move(key), value); return *this; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& AddNewImageTags(const Aws::String& key, Aws::String&& value) { m_newImageTagsHasBeenSet = true; m_newImageTags.emplace(key, std::move(value)); return *this; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& AddNewImageTags(Aws::String&& key, Aws::String&& value) { m_newImageTagsHasBeenSet = true; m_newImageTags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& AddNewImageTags(const char* key, Aws::String&& value) { m_newImageTagsHasBeenSet = true; m_newImageTags.emplace(key, std::move(value)); return *this; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& AddNewImageTags(Aws::String&& key, const char* value) { m_newImageTagsHasBeenSet = true; m_newImageTags.emplace(std::move(key), value); return *this; } /** *

The tags to associate with the new image. A tag is a key-value pair, and the * value is optional. For example, Environment=Test. If you do not specify a value, * Environment=.

Generally allowed characters are: letters, numbers, and * spaces representable in UTF-8, and the following special characters:

_ . * : / = + \ - @

If you do not specify a value, the value is set to an empty * string.

For more information about tags, see Tagging * Your Resources in the Amazon AppStream 2.0 Administration Guide.

*/ inline CreateUpdatedImageRequest& AddNewImageTags(const char* key, const char* value) { m_newImageTagsHasBeenSet = true; m_newImageTags.emplace(key, value); return *this; } /** *

Indicates whether to display the status of image update availability before * AppStream 2.0 initiates the process of creating a new updated image. If this * value is set to true, AppStream 2.0 displays whether image updates * are available. If this value is set to false, AppStream 2.0 * initiates the process of creating a new updated image without displaying whether * image updates are available.

*/ inline bool GetDryRun() const{ return m_dryRun; } /** *

Indicates whether to display the status of image update availability before * AppStream 2.0 initiates the process of creating a new updated image. If this * value is set to true, AppStream 2.0 displays whether image updates * are available. If this value is set to false, AppStream 2.0 * initiates the process of creating a new updated image without displaying whether * image updates are available.

*/ inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } /** *

Indicates whether to display the status of image update availability before * AppStream 2.0 initiates the process of creating a new updated image. If this * value is set to true, AppStream 2.0 displays whether image updates * are available. If this value is set to false, AppStream 2.0 * initiates the process of creating a new updated image without displaying whether * image updates are available.

*/ inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } /** *

Indicates whether to display the status of image update availability before * AppStream 2.0 initiates the process of creating a new updated image. If this * value is set to true, AppStream 2.0 displays whether image updates * are available. If this value is set to false, AppStream 2.0 * initiates the process of creating a new updated image without displaying whether * image updates are available.

*/ inline CreateUpdatedImageRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} private: Aws::String m_existingImageName; bool m_existingImageNameHasBeenSet = false; Aws::String m_newImageName; bool m_newImageNameHasBeenSet = false; Aws::String m_newImageDescription; bool m_newImageDescriptionHasBeenSet = false; Aws::String m_newImageDisplayName; bool m_newImageDisplayNameHasBeenSet = false; Aws::Map m_newImageTags; bool m_newImageTagsHasBeenSet = false; bool m_dryRun; bool m_dryRunHasBeenSet = false; }; } // namespace Model } // namespace AppStream } // namespace Aws