/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ResilienceHub { namespace Model { /** *

Defines a physical resource identifier.

See Also:

AWS * API Reference

*/ class PhysicalResourceId { public: AWS_RESILIENCEHUB_API PhysicalResourceId(); AWS_RESILIENCEHUB_API PhysicalResourceId(Aws::Utils::Json::JsonView jsonValue); AWS_RESILIENCEHUB_API PhysicalResourceId& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Web Services account that owns the physical resource.

*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *

The Amazon Web Services account that owns the physical resource.

*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *

The Amazon Web Services account that owns the physical resource.

*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *

The Amazon Web Services account that owns the physical resource.

*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *

The Amazon Web Services account that owns the physical resource.

*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *

The Amazon Web Services account that owns the physical resource.

*/ inline PhysicalResourceId& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *

The Amazon Web Services account that owns the physical resource.

*/ inline PhysicalResourceId& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *

The Amazon Web Services account that owns the physical resource.

*/ inline PhysicalResourceId& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline PhysicalResourceId& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline PhysicalResourceId& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region that the physical resource is located in.

*/ inline PhysicalResourceId& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} /** *

The identifier of the physical resource.

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

The identifier of the physical resource.

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

The identifier of the physical resource.

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

The identifier of the physical resource.

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

The identifier of the physical resource.

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

The identifier of the physical resource.

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

The identifier of the physical resource.

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

The identifier of the physical resource.

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

Specifies the type of physical resource identifier.

Arn
*

The resource identifier is an Amazon Resource Name (ARN) .

*
Native

The resource identifier is an Resilience Hub-native * identifier.

*/ inline const PhysicalIdentifierType& GetType() const{ return m_type; } /** *

Specifies the type of physical resource identifier.

Arn
*

The resource identifier is an Amazon Resource Name (ARN) .

*
Native

The resource identifier is an Resilience Hub-native * identifier.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Specifies the type of physical resource identifier.

Arn
*

The resource identifier is an Amazon Resource Name (ARN) .

*
Native

The resource identifier is an Resilience Hub-native * identifier.

*/ inline void SetType(const PhysicalIdentifierType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Specifies the type of physical resource identifier.

Arn
*

The resource identifier is an Amazon Resource Name (ARN) .

*
Native

The resource identifier is an Resilience Hub-native * identifier.

*/ inline void SetType(PhysicalIdentifierType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Specifies the type of physical resource identifier.

Arn
*

The resource identifier is an Amazon Resource Name (ARN) .

*
Native

The resource identifier is an Resilience Hub-native * identifier.

*/ inline PhysicalResourceId& WithType(const PhysicalIdentifierType& value) { SetType(value); return *this;} /** *

Specifies the type of physical resource identifier.

Arn
*

The resource identifier is an Amazon Resource Name (ARN) .

*
Native

The resource identifier is an Resilience Hub-native * identifier.

*/ inline PhysicalResourceId& WithType(PhysicalIdentifierType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; Aws::String m_identifier; bool m_identifierHasBeenSet = false; PhysicalIdentifierType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws