/** * 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 ServiceCatalog { namespace Model { /** */ class CreateServiceActionRequest : public ServiceCatalogRequest { public: AWS_SERVICECATALOG_API CreateServiceActionRequest(); // 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 "CreateServiceAction"; } AWS_SERVICECATALOG_API Aws::String SerializePayload() const override; AWS_SERVICECATALOG_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The self-service action name.

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

The self-service action name.

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

The self-service action name.

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

The self-service action name.

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

The self-service action name.

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

The self-service action name.

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

The self-service action name.

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

The self-service action name.

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

The service action definition type. For example, * SSM_AUTOMATION.

*/ inline const ServiceActionDefinitionType& GetDefinitionType() const{ return m_definitionType; } /** *

The service action definition type. For example, * SSM_AUTOMATION.

*/ inline bool DefinitionTypeHasBeenSet() const { return m_definitionTypeHasBeenSet; } /** *

The service action definition type. For example, * SSM_AUTOMATION.

*/ inline void SetDefinitionType(const ServiceActionDefinitionType& value) { m_definitionTypeHasBeenSet = true; m_definitionType = value; } /** *

The service action definition type. For example, * SSM_AUTOMATION.

*/ inline void SetDefinitionType(ServiceActionDefinitionType&& value) { m_definitionTypeHasBeenSet = true; m_definitionType = std::move(value); } /** *

The service action definition type. For example, * SSM_AUTOMATION.

*/ inline CreateServiceActionRequest& WithDefinitionType(const ServiceActionDefinitionType& value) { SetDefinitionType(value); return *this;} /** *

The service action definition type. For example, * SSM_AUTOMATION.

*/ inline CreateServiceActionRequest& WithDefinitionType(ServiceActionDefinitionType&& value) { SetDefinitionType(std::move(value)); return *this;} /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline const Aws::Map& GetDefinition() const{ return m_definition; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline void SetDefinition(const Aws::Map& value) { m_definitionHasBeenSet = true; m_definition = value; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline void SetDefinition(Aws::Map&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& WithDefinition(const Aws::Map& value) { SetDefinition(value); return *this;} /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& WithDefinition(Aws::Map&& value) { SetDefinition(std::move(value)); return *this;} /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& AddDefinition(const ServiceActionDefinitionKey& key, const Aws::String& value) { m_definitionHasBeenSet = true; m_definition.emplace(key, value); return *this; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& AddDefinition(ServiceActionDefinitionKey&& key, const Aws::String& value) { m_definitionHasBeenSet = true; m_definition.emplace(std::move(key), value); return *this; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& AddDefinition(const ServiceActionDefinitionKey& key, Aws::String&& value) { m_definitionHasBeenSet = true; m_definition.emplace(key, std::move(value)); return *this; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& AddDefinition(ServiceActionDefinitionKey&& key, Aws::String&& value) { m_definitionHasBeenSet = true; m_definition.emplace(std::move(key), std::move(value)); return *this; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& AddDefinition(ServiceActionDefinitionKey&& key, const char* value) { m_definitionHasBeenSet = true; m_definition.emplace(std::move(key), value); return *this; } /** *

The self-service action definition. Can be one of the following:

*
Name

The name of the Amazon Web Services Systems Manager * document (SSM document). For example, AWS-RestartEC2Instance.

*

If you are using a shared SSM document, you must provide the ARN instead of * the name.

Version

The Amazon Web Services Systems * Manager automation document version. For example, "Version": "1" *

AssumeRole

The Amazon Resource Name (ARN) of the * role that performs the self-service actions on your behalf. For example, * "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".

To * reuse the provisioned product launch role, set to "AssumeRole": * "LAUNCH_ROLE".

Parameters

The list of * parameters in JSON format.

For example: * [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or * [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].

*
*/ inline CreateServiceActionRequest& AddDefinition(const ServiceActionDefinitionKey& key, const char* value) { m_definitionHasBeenSet = true; m_definition.emplace(key, value); return *this; } /** *

The self-service action description.

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

The self-service action description.

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

The self-service action description.

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

The self-service action description.

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

The self-service action description.

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

The self-service action description.

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

The self-service action description.

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

The self-service action description.

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

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline const Aws::String& GetAcceptLanguage() const{ return m_acceptLanguage; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline bool AcceptLanguageHasBeenSet() const { return m_acceptLanguageHasBeenSet; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(const Aws::String& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = value; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(Aws::String&& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = std::move(value); } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(const char* value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage.assign(value); } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline CreateServiceActionRequest& WithAcceptLanguage(const Aws::String& value) { SetAcceptLanguage(value); return *this;} /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline CreateServiceActionRequest& WithAcceptLanguage(Aws::String&& value) { SetAcceptLanguage(std::move(value)); return *this;} /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline CreateServiceActionRequest& WithAcceptLanguage(const char* value) { SetAcceptLanguage(value); return *this;} /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline CreateServiceActionRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;} /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline CreateServiceActionRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;} /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline CreateServiceActionRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; ServiceActionDefinitionType m_definitionType; bool m_definitionTypeHasBeenSet = false; Aws::Map m_definition; bool m_definitionHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_acceptLanguage; bool m_acceptLanguageHasBeenSet = false; Aws::String m_idempotencyToken; bool m_idempotencyTokenHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws