/** * 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 Proton { namespace Model { /** *

Detail data for a provisioned resource.

See Also:

AWS * API Reference

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

The provisioned resource identifier.

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

The provisioned resource identifier.

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

The provisioned resource identifier.

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

The provisioned resource identifier.

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

The provisioned resource identifier.

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

The provisioned resource identifier.

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

The provisioned resource identifier.

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

The provisioned resource identifier.

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

The provisioned resource name.

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

The provisioned resource name.

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

The provisioned resource name.

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

The provisioned resource name.

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

The provisioned resource name.

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

The provisioned resource name.

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

The provisioned resource name.

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

The provisioned resource name.

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

The resource provisioning engine. At this time, CLOUDFORMATION * can be used for Amazon Web Services-managed provisioning, and * TERRAFORM can be used for self-managed provisioning.

For * more information, see Self-managed * provisioning in the Proton User Guide.

*/ inline const ProvisionedResourceEngine& GetProvisioningEngine() const{ return m_provisioningEngine; } /** *

The resource provisioning engine. At this time, CLOUDFORMATION * can be used for Amazon Web Services-managed provisioning, and * TERRAFORM can be used for self-managed provisioning.

For * more information, see Self-managed * provisioning in the Proton User Guide.

*/ inline bool ProvisioningEngineHasBeenSet() const { return m_provisioningEngineHasBeenSet; } /** *

The resource provisioning engine. At this time, CLOUDFORMATION * can be used for Amazon Web Services-managed provisioning, and * TERRAFORM can be used for self-managed provisioning.

For * more information, see Self-managed * provisioning in the Proton User Guide.

*/ inline void SetProvisioningEngine(const ProvisionedResourceEngine& value) { m_provisioningEngineHasBeenSet = true; m_provisioningEngine = value; } /** *

The resource provisioning engine. At this time, CLOUDFORMATION * can be used for Amazon Web Services-managed provisioning, and * TERRAFORM can be used for self-managed provisioning.

For * more information, see Self-managed * provisioning in the Proton User Guide.

*/ inline void SetProvisioningEngine(ProvisionedResourceEngine&& value) { m_provisioningEngineHasBeenSet = true; m_provisioningEngine = std::move(value); } /** *

The resource provisioning engine. At this time, CLOUDFORMATION * can be used for Amazon Web Services-managed provisioning, and * TERRAFORM can be used for self-managed provisioning.

For * more information, see Self-managed * provisioning in the Proton User Guide.

*/ inline ProvisionedResource& WithProvisioningEngine(const ProvisionedResourceEngine& value) { SetProvisioningEngine(value); return *this;} /** *

The resource provisioning engine. At this time, CLOUDFORMATION * can be used for Amazon Web Services-managed provisioning, and * TERRAFORM can be used for self-managed provisioning.

For * more information, see Self-managed * provisioning in the Proton User Guide.

*/ inline ProvisionedResource& WithProvisioningEngine(ProvisionedResourceEngine&& value) { SetProvisioningEngine(std::move(value)); return *this;} private: Aws::String m_identifier; bool m_identifierHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; ProvisionedResourceEngine m_provisioningEngine; bool m_provisioningEngineHasBeenSet = false; }; } // namespace Model } // namespace Proton } // namespace Aws