/** * 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 namespace Aws { namespace Panorama { namespace Model { /** */ class CreateApplicationInstanceRequest : public PanoramaRequest { public: AWS_PANORAMA_API CreateApplicationInstanceRequest(); // 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 "CreateApplicationInstance"; } AWS_PANORAMA_API Aws::String SerializePayload() const override; /** *

The ID of an application instance to replace with the new instance.

*/ inline const Aws::String& GetApplicationInstanceIdToReplace() const{ return m_applicationInstanceIdToReplace; } /** *

The ID of an application instance to replace with the new instance.

*/ inline bool ApplicationInstanceIdToReplaceHasBeenSet() const { return m_applicationInstanceIdToReplaceHasBeenSet; } /** *

The ID of an application instance to replace with the new instance.

*/ inline void SetApplicationInstanceIdToReplace(const Aws::String& value) { m_applicationInstanceIdToReplaceHasBeenSet = true; m_applicationInstanceIdToReplace = value; } /** *

The ID of an application instance to replace with the new instance.

*/ inline void SetApplicationInstanceIdToReplace(Aws::String&& value) { m_applicationInstanceIdToReplaceHasBeenSet = true; m_applicationInstanceIdToReplace = std::move(value); } /** *

The ID of an application instance to replace with the new instance.

*/ inline void SetApplicationInstanceIdToReplace(const char* value) { m_applicationInstanceIdToReplaceHasBeenSet = true; m_applicationInstanceIdToReplace.assign(value); } /** *

The ID of an application instance to replace with the new instance.

*/ inline CreateApplicationInstanceRequest& WithApplicationInstanceIdToReplace(const Aws::String& value) { SetApplicationInstanceIdToReplace(value); return *this;} /** *

The ID of an application instance to replace with the new instance.

*/ inline CreateApplicationInstanceRequest& WithApplicationInstanceIdToReplace(Aws::String&& value) { SetApplicationInstanceIdToReplace(std::move(value)); return *this;} /** *

The ID of an application instance to replace with the new instance.

*/ inline CreateApplicationInstanceRequest& WithApplicationInstanceIdToReplace(const char* value) { SetApplicationInstanceIdToReplace(value); return *this;} /** *

A device's ID.

*/ inline const Aws::String& GetDefaultRuntimeContextDevice() const{ return m_defaultRuntimeContextDevice; } /** *

A device's ID.

*/ inline bool DefaultRuntimeContextDeviceHasBeenSet() const { return m_defaultRuntimeContextDeviceHasBeenSet; } /** *

A device's ID.

*/ inline void SetDefaultRuntimeContextDevice(const Aws::String& value) { m_defaultRuntimeContextDeviceHasBeenSet = true; m_defaultRuntimeContextDevice = value; } /** *

A device's ID.

*/ inline void SetDefaultRuntimeContextDevice(Aws::String&& value) { m_defaultRuntimeContextDeviceHasBeenSet = true; m_defaultRuntimeContextDevice = std::move(value); } /** *

A device's ID.

*/ inline void SetDefaultRuntimeContextDevice(const char* value) { m_defaultRuntimeContextDeviceHasBeenSet = true; m_defaultRuntimeContextDevice.assign(value); } /** *

A device's ID.

*/ inline CreateApplicationInstanceRequest& WithDefaultRuntimeContextDevice(const Aws::String& value) { SetDefaultRuntimeContextDevice(value); return *this;} /** *

A device's ID.

*/ inline CreateApplicationInstanceRequest& WithDefaultRuntimeContextDevice(Aws::String&& value) { SetDefaultRuntimeContextDevice(std::move(value)); return *this;} /** *

A device's ID.

*/ inline CreateApplicationInstanceRequest& WithDefaultRuntimeContextDevice(const char* value) { SetDefaultRuntimeContextDevice(value); return *this;} /** *

A description for the application instance.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description for the application instance.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description for the application instance.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description for the application instance.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description for the application instance.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description for the application instance.

*/ inline CreateApplicationInstanceRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description for the application instance.

*/ inline CreateApplicationInstanceRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description for the application instance.

*/ inline CreateApplicationInstanceRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Setting overrides for the application manifest.

*/ inline const ManifestOverridesPayload& GetManifestOverridesPayload() const{ return m_manifestOverridesPayload; } /** *

Setting overrides for the application manifest.

*/ inline bool ManifestOverridesPayloadHasBeenSet() const { return m_manifestOverridesPayloadHasBeenSet; } /** *

Setting overrides for the application manifest.

*/ inline void SetManifestOverridesPayload(const ManifestOverridesPayload& value) { m_manifestOverridesPayloadHasBeenSet = true; m_manifestOverridesPayload = value; } /** *

Setting overrides for the application manifest.

*/ inline void SetManifestOverridesPayload(ManifestOverridesPayload&& value) { m_manifestOverridesPayloadHasBeenSet = true; m_manifestOverridesPayload = std::move(value); } /** *

Setting overrides for the application manifest.

*/ inline CreateApplicationInstanceRequest& WithManifestOverridesPayload(const ManifestOverridesPayload& value) { SetManifestOverridesPayload(value); return *this;} /** *

Setting overrides for the application manifest.

*/ inline CreateApplicationInstanceRequest& WithManifestOverridesPayload(ManifestOverridesPayload&& value) { SetManifestOverridesPayload(std::move(value)); return *this;} /** *

The application's manifest document.

*/ inline const ManifestPayload& GetManifestPayload() const{ return m_manifestPayload; } /** *

The application's manifest document.

*/ inline bool ManifestPayloadHasBeenSet() const { return m_manifestPayloadHasBeenSet; } /** *

The application's manifest document.

*/ inline void SetManifestPayload(const ManifestPayload& value) { m_manifestPayloadHasBeenSet = true; m_manifestPayload = value; } /** *

The application's manifest document.

*/ inline void SetManifestPayload(ManifestPayload&& value) { m_manifestPayloadHasBeenSet = true; m_manifestPayload = std::move(value); } /** *

The application's manifest document.

*/ inline CreateApplicationInstanceRequest& WithManifestPayload(const ManifestPayload& value) { SetManifestPayload(value); return *this;} /** *

The application's manifest document.

*/ inline CreateApplicationInstanceRequest& WithManifestPayload(ManifestPayload&& value) { SetManifestPayload(std::move(value)); return *this;} /** *

A name for the application instance.

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

A name for the application instance.

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

A name for the application instance.

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

A name for the application instance.

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

A name for the application instance.

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

A name for the application instance.

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

A name for the application instance.

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

A name for the application instance.

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

The ARN of a runtime role for the application instance.

*/ inline const Aws::String& GetRuntimeRoleArn() const{ return m_runtimeRoleArn; } /** *

The ARN of a runtime role for the application instance.

*/ inline bool RuntimeRoleArnHasBeenSet() const { return m_runtimeRoleArnHasBeenSet; } /** *

The ARN of a runtime role for the application instance.

*/ inline void SetRuntimeRoleArn(const Aws::String& value) { m_runtimeRoleArnHasBeenSet = true; m_runtimeRoleArn = value; } /** *

The ARN of a runtime role for the application instance.

*/ inline void SetRuntimeRoleArn(Aws::String&& value) { m_runtimeRoleArnHasBeenSet = true; m_runtimeRoleArn = std::move(value); } /** *

The ARN of a runtime role for the application instance.

*/ inline void SetRuntimeRoleArn(const char* value) { m_runtimeRoleArnHasBeenSet = true; m_runtimeRoleArn.assign(value); } /** *

The ARN of a runtime role for the application instance.

*/ inline CreateApplicationInstanceRequest& WithRuntimeRoleArn(const Aws::String& value) { SetRuntimeRoleArn(value); return *this;} /** *

The ARN of a runtime role for the application instance.

*/ inline CreateApplicationInstanceRequest& WithRuntimeRoleArn(Aws::String&& value) { SetRuntimeRoleArn(std::move(value)); return *this;} /** *

The ARN of a runtime role for the application instance.

*/ inline CreateApplicationInstanceRequest& WithRuntimeRoleArn(const char* value) { SetRuntimeRoleArn(value); return *this;} /** *

Tags for the application instance.

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

Tags for the application instance.

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

Tags for the application instance.

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

Tags for the application instance.

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

Tags for the application instance.

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

Tags for the application instance.

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

Tags for the application instance.

*/ inline CreateApplicationInstanceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Tags for the application instance.

*/ inline CreateApplicationInstanceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags for the application instance.

*/ inline CreateApplicationInstanceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags for the application instance.

*/ inline CreateApplicationInstanceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

Tags for the application instance.

*/ inline CreateApplicationInstanceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags for the application instance.

*/ inline CreateApplicationInstanceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags for the application instance.

*/ inline CreateApplicationInstanceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_applicationInstanceIdToReplace; bool m_applicationInstanceIdToReplaceHasBeenSet = false; Aws::String m_defaultRuntimeContextDevice; bool m_defaultRuntimeContextDeviceHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; ManifestOverridesPayload m_manifestOverridesPayload; bool m_manifestOverridesPayloadHasBeenSet = false; ManifestPayload m_manifestPayload; bool m_manifestPayloadHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_runtimeRoleArn; bool m_runtimeRoleArnHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace Panorama } // namespace Aws