/** * 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 CloudControlApi { namespace Model { /** */ class UpdateResourceRequest : public CloudControlApiRequest { public: AWS_CLOUDCONTROLAPI_API UpdateResourceRequest(); // 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 "UpdateResource"; } AWS_CLOUDCONTROLAPI_API Aws::String SerializePayload() const override; AWS_CLOUDCONTROLAPI_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the resource type.

*/ inline const Aws::String& GetTypeName() const{ return m_typeName; } /** *

The name of the resource type.

*/ inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } /** *

The name of the resource type.

*/ inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } /** *

The name of the resource type.

*/ inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } /** *

The name of the resource type.

*/ inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } /** *

The name of the resource type.

*/ inline UpdateResourceRequest& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} /** *

The name of the resource type.

*/ inline UpdateResourceRequest& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} /** *

The name of the resource type.

*/ inline UpdateResourceRequest& WithTypeName(const char* value) { SetTypeName(value); return *this;} /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline const Aws::String& GetTypeVersionId() const{ return m_typeVersionId; } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline bool TypeVersionIdHasBeenSet() const { return m_typeVersionIdHasBeenSet; } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline void SetTypeVersionId(const Aws::String& value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId = value; } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline void SetTypeVersionId(Aws::String&& value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId = std::move(value); } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline void SetTypeVersionId(const char* value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId.assign(value); } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline UpdateResourceRequest& WithTypeVersionId(const Aws::String& value) { SetTypeVersionId(value); return *this;} /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline UpdateResourceRequest& WithTypeVersionId(Aws::String&& value) { SetTypeVersionId(std::move(value)); return *this;} /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline UpdateResourceRequest& WithTypeVersionId(const char* value) { SetTypeVersionId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline UpdateResourceRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline UpdateResourceRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique identifier to ensure the idempotency of the resource request. As a * best practice, specify this token to ensure idempotency, so that Amazon Web * Services Cloud Control API can accurately distinguish between request retries * and new resource requests. You might retry a resource request to ensure that it * was successfully received.

A client token is valid for 36 hours once * used. After that, a resource request with the same client token is treated as a * new request.

If you do not specify a client token, one is generated for * inclusion in the request.

For more information, see Ensuring * resource operation requests are unique in the Amazon Web Services Cloud * Control API User Guide.

*/ inline UpdateResourceRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline const Aws::String& GetIdentifier() const{ return m_identifier; } /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} /** *

The identifier for the resource.

You can specify the primary * identifier, or any secondary identifier defined for the resource type in its * resource schema. You can only specify one identifier. Primary identifiers can be * specified as a string or JSON; secondary identifiers must be specified as * JSON.

For compound primary identifiers (that is, one that consists of * multiple resource properties strung together), to specify the primary identifier * as a string, list the property values in the order they are specified in * the primary identifier definition, separated by |.

For more * information, see Identifying * resources in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline const Aws::String& GetPatchDocument() const{ return m_patchDocument; } /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline bool PatchDocumentHasBeenSet() const { return m_patchDocumentHasBeenSet; } /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetPatchDocument(const Aws::String& value) { m_patchDocumentHasBeenSet = true; m_patchDocument = value; } /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetPatchDocument(Aws::String&& value) { m_patchDocumentHasBeenSet = true; m_patchDocument = std::move(value); } /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetPatchDocument(const char* value) { m_patchDocumentHasBeenSet = true; m_patchDocument.assign(value); } /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithPatchDocument(const Aws::String& value) { SetPatchDocument(value); return *this;} /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithPatchDocument(Aws::String&& value) { SetPatchDocument(std::move(value)); return *this;} /** *

A JavaScript Object Notation (JSON) document listing the patch operations * that represent the updates to apply to the current resource properties. For * details, see Composing * the patch document in the Amazon Web Services Cloud Control API User * Guide.

*/ inline UpdateResourceRequest& WithPatchDocument(const char* value) { SetPatchDocument(value); return *this;} private: Aws::String m_typeName; bool m_typeNameHasBeenSet = false; Aws::String m_typeVersionId; bool m_typeVersionIdHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_identifier; bool m_identifierHasBeenSet = false; Aws::String m_patchDocument; bool m_patchDocumentHasBeenSet = false; }; } // namespace Model } // namespace CloudControlApi } // namespace Aws