/** * 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 Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFormation { namespace Model { /** *

Describes the target resource of an import operation.

See * Also:

AWS * API Reference

*/ class ResourceToImport { public: AWS_CLOUDFORMATION_API ResourceToImport(); AWS_CLOUDFORMATION_API ResourceToImport(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API ResourceToImport& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline ResourceToImport& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline ResourceToImport& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

The type of resource to import into your stack, such as * AWS::S3::Bucket. For a list of supported resource types, see Resources * that support import operations in the CloudFormation User Guide.

*/ inline ResourceToImport& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

The logical ID of the target resource as specified in the template.

*/ inline const Aws::String& GetLogicalResourceId() const{ return m_logicalResourceId; } /** *

The logical ID of the target resource as specified in the template.

*/ inline bool LogicalResourceIdHasBeenSet() const { return m_logicalResourceIdHasBeenSet; } /** *

The logical ID of the target resource as specified in the template.

*/ inline void SetLogicalResourceId(const Aws::String& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = value; } /** *

The logical ID of the target resource as specified in the template.

*/ inline void SetLogicalResourceId(Aws::String&& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = std::move(value); } /** *

The logical ID of the target resource as specified in the template.

*/ inline void SetLogicalResourceId(const char* value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId.assign(value); } /** *

The logical ID of the target resource as specified in the template.

*/ inline ResourceToImport& WithLogicalResourceId(const Aws::String& value) { SetLogicalResourceId(value); return *this;} /** *

The logical ID of the target resource as specified in the template.

*/ inline ResourceToImport& WithLogicalResourceId(Aws::String&& value) { SetLogicalResourceId(std::move(value)); return *this;} /** *

The logical ID of the target resource as specified in the template.

*/ inline ResourceToImport& WithLogicalResourceId(const char* value) { SetLogicalResourceId(value); return *this;} /** *

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

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

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

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

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

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

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

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

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

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

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

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

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

*/ inline ResourceToImport& AddResourceIdentifier(const Aws::String& key, const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.emplace(key, value); return *this; } /** *

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

*/ inline ResourceToImport& AddResourceIdentifier(Aws::String&& key, const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.emplace(std::move(key), value); return *this; } /** *

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

*/ inline ResourceToImport& AddResourceIdentifier(const Aws::String& key, Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.emplace(key, std::move(value)); return *this; } /** *

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

*/ inline ResourceToImport& AddResourceIdentifier(Aws::String&& key, Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.emplace(std::move(key), std::move(value)); return *this; } /** *

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

*/ inline ResourceToImport& AddResourceIdentifier(const char* key, Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.emplace(key, std::move(value)); return *this; } /** *

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

*/ inline ResourceToImport& AddResourceIdentifier(Aws::String&& key, const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.emplace(std::move(key), value); return *this; } /** *

A key-value pair that identifies the target resource. The key is an * identifier property (for example, BucketName for * AWS::S3::Bucket resources) and the value is the actual property * value (for example, MyS3Bucket).

*/ inline ResourceToImport& AddResourceIdentifier(const char* key, const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.emplace(key, value); return *this; } private: Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_logicalResourceId; bool m_logicalResourceIdHasBeenSet = false; Aws::Map m_resourceIdentifier; bool m_resourceIdentifierHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws