/** * 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 AppConfig { namespace Model { /** */ class CreateExtensionAssociationRequest : public AppConfigRequest { public: AWS_APPCONFIG_API CreateExtensionAssociationRequest(); // 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 "CreateExtensionAssociation"; } AWS_APPCONFIG_API Aws::String SerializePayload() const override; /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline const Aws::String& GetExtensionIdentifier() const{ return m_extensionIdentifier; } /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline bool ExtensionIdentifierHasBeenSet() const { return m_extensionIdentifierHasBeenSet; } /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline void SetExtensionIdentifier(const Aws::String& value) { m_extensionIdentifierHasBeenSet = true; m_extensionIdentifier = value; } /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline void SetExtensionIdentifier(Aws::String&& value) { m_extensionIdentifierHasBeenSet = true; m_extensionIdentifier = std::move(value); } /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline void SetExtensionIdentifier(const char* value) { m_extensionIdentifierHasBeenSet = true; m_extensionIdentifier.assign(value); } /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline CreateExtensionAssociationRequest& WithExtensionIdentifier(const Aws::String& value) { SetExtensionIdentifier(value); return *this;} /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline CreateExtensionAssociationRequest& WithExtensionIdentifier(Aws::String&& value) { SetExtensionIdentifier(std::move(value)); return *this;} /** *

The name, the ID, or the Amazon Resource Name (ARN) of the extension.

*/ inline CreateExtensionAssociationRequest& WithExtensionIdentifier(const char* value) { SetExtensionIdentifier(value); return *this;} /** *

The version number of the extension. If not specified, AppConfig uses the * maximum version of the extension.

*/ inline int GetExtensionVersionNumber() const{ return m_extensionVersionNumber; } /** *

The version number of the extension. If not specified, AppConfig uses the * maximum version of the extension.

*/ inline bool ExtensionVersionNumberHasBeenSet() const { return m_extensionVersionNumberHasBeenSet; } /** *

The version number of the extension. If not specified, AppConfig uses the * maximum version of the extension.

*/ inline void SetExtensionVersionNumber(int value) { m_extensionVersionNumberHasBeenSet = true; m_extensionVersionNumber = value; } /** *

The version number of the extension. If not specified, AppConfig uses the * maximum version of the extension.

*/ inline CreateExtensionAssociationRequest& WithExtensionVersionNumber(int value) { SetExtensionVersionNumber(value); return *this;} /** *

The ARN of an application, configuration profile, or environment.

*/ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } /** *

The ARN of an application, configuration profile, or environment.

*/ inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } /** *

The ARN of an application, configuration profile, or environment.

*/ inline void SetResourceIdentifier(const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = value; } /** *

The ARN of an application, configuration profile, or environment.

*/ inline void SetResourceIdentifier(Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = std::move(value); } /** *

The ARN of an application, configuration profile, or environment.

*/ inline void SetResourceIdentifier(const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.assign(value); } /** *

The ARN of an application, configuration profile, or environment.

*/ inline CreateExtensionAssociationRequest& WithResourceIdentifier(const Aws::String& value) { SetResourceIdentifier(value); return *this;} /** *

The ARN of an application, configuration profile, or environment.

*/ inline CreateExtensionAssociationRequest& WithResourceIdentifier(Aws::String&& value) { SetResourceIdentifier(std::move(value)); return *this;} /** *

The ARN of an application, configuration profile, or environment.

*/ inline CreateExtensionAssociationRequest& WithResourceIdentifier(const char* value) { SetResourceIdentifier(value); return *this;} /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

The parameter names and values defined in the extensions. Extension * parameters marked Required must be entered for this field.

*/ inline CreateExtensionAssociationRequest& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

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

Adds one or more tags for the specified extension association. Tags are * metadata that help you categorize resources in different ways, for example, by * purpose, owner, or environment. Each tag consists of a key and an optional * value, both of which you define.

*/ inline CreateExtensionAssociationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_extensionIdentifier; bool m_extensionIdentifierHasBeenSet = false; int m_extensionVersionNumber; bool m_extensionVersionNumberHasBeenSet = false; Aws::String m_resourceIdentifier; bool m_resourceIdentifierHasBeenSet = false; Aws::Map m_parameters; bool m_parametersHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace AppConfig } // namespace Aws