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

The list of Resilience Hub application input sources.

See * Also:

AWS * API Reference

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

The namespace on your Amazon Elastic Kubernetes Service cluster.

*/ inline const EksSourceClusterNamespace& GetEksSourceClusterNamespace() const{ return m_eksSourceClusterNamespace; } /** *

The namespace on your Amazon Elastic Kubernetes Service cluster.

*/ inline bool EksSourceClusterNamespaceHasBeenSet() const { return m_eksSourceClusterNamespaceHasBeenSet; } /** *

The namespace on your Amazon Elastic Kubernetes Service cluster.

*/ inline void SetEksSourceClusterNamespace(const EksSourceClusterNamespace& value) { m_eksSourceClusterNamespaceHasBeenSet = true; m_eksSourceClusterNamespace = value; } /** *

The namespace on your Amazon Elastic Kubernetes Service cluster.

*/ inline void SetEksSourceClusterNamespace(EksSourceClusterNamespace&& value) { m_eksSourceClusterNamespaceHasBeenSet = true; m_eksSourceClusterNamespace = std::move(value); } /** *

The namespace on your Amazon Elastic Kubernetes Service cluster.

*/ inline AppInputSource& WithEksSourceClusterNamespace(const EksSourceClusterNamespace& value) { SetEksSourceClusterNamespace(value); return *this;} /** *

The namespace on your Amazon Elastic Kubernetes Service cluster.

*/ inline AppInputSource& WithEksSourceClusterNamespace(EksSourceClusterNamespace&& value) { SetEksSourceClusterNamespace(std::move(value)); return *this;} /** *

The resource type of the input source.

*/ inline const ResourceMappingType& GetImportType() const{ return m_importType; } /** *

The resource type of the input source.

*/ inline bool ImportTypeHasBeenSet() const { return m_importTypeHasBeenSet; } /** *

The resource type of the input source.

*/ inline void SetImportType(const ResourceMappingType& value) { m_importTypeHasBeenSet = true; m_importType = value; } /** *

The resource type of the input source.

*/ inline void SetImportType(ResourceMappingType&& value) { m_importTypeHasBeenSet = true; m_importType = std::move(value); } /** *

The resource type of the input source.

*/ inline AppInputSource& WithImportType(const ResourceMappingType& value) { SetImportType(value); return *this;} /** *

The resource type of the input source.

*/ inline AppInputSource& WithImportType(ResourceMappingType&& value) { SetImportType(std::move(value)); return *this;} /** *

The number of resources.

*/ inline int GetResourceCount() const{ return m_resourceCount; } /** *

The number of resources.

*/ inline bool ResourceCountHasBeenSet() const { return m_resourceCountHasBeenSet; } /** *

The number of resources.

*/ inline void SetResourceCount(int value) { m_resourceCountHasBeenSet = true; m_resourceCount = value; } /** *

The number of resources.

*/ inline AppInputSource& WithResourceCount(int value) { SetResourceCount(value); return *this;} /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline const Aws::String& GetSourceArn() const{ return m_sourceArn; } /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetSourceArn(const Aws::String& value) { m_sourceArnHasBeenSet = true; m_sourceArn = value; } /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetSourceArn(Aws::String&& value) { m_sourceArnHasBeenSet = true; m_sourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetSourceArn(const char* value) { m_sourceArnHasBeenSet = true; m_sourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline AppInputSource& WithSourceArn(const Aws::String& value) { SetSourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline AppInputSource& WithSourceArn(Aws::String&& value) { SetSourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the input source. For more information * about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline AppInputSource& WithSourceArn(const char* value) { SetSourceArn(value); return *this;} /** *

The name of the input source.

*/ inline const Aws::String& GetSourceName() const{ return m_sourceName; } /** *

The name of the input source.

*/ inline bool SourceNameHasBeenSet() const { return m_sourceNameHasBeenSet; } /** *

The name of the input source.

*/ inline void SetSourceName(const Aws::String& value) { m_sourceNameHasBeenSet = true; m_sourceName = value; } /** *

The name of the input source.

*/ inline void SetSourceName(Aws::String&& value) { m_sourceNameHasBeenSet = true; m_sourceName = std::move(value); } /** *

The name of the input source.

*/ inline void SetSourceName(const char* value) { m_sourceNameHasBeenSet = true; m_sourceName.assign(value); } /** *

The name of the input source.

*/ inline AppInputSource& WithSourceName(const Aws::String& value) { SetSourceName(value); return *this;} /** *

The name of the input source.

*/ inline AppInputSource& WithSourceName(Aws::String&& value) { SetSourceName(std::move(value)); return *this;} /** *

The name of the input source.

*/ inline AppInputSource& WithSourceName(const char* value) { SetSourceName(value); return *this;} /** *

The name of the Terraform s3 state file.

*/ inline const TerraformSource& GetTerraformSource() const{ return m_terraformSource; } /** *

The name of the Terraform s3 state file.

*/ inline bool TerraformSourceHasBeenSet() const { return m_terraformSourceHasBeenSet; } /** *

The name of the Terraform s3 state file.

*/ inline void SetTerraformSource(const TerraformSource& value) { m_terraformSourceHasBeenSet = true; m_terraformSource = value; } /** *

The name of the Terraform s3 state file.

*/ inline void SetTerraformSource(TerraformSource&& value) { m_terraformSourceHasBeenSet = true; m_terraformSource = std::move(value); } /** *

The name of the Terraform s3 state file.

*/ inline AppInputSource& WithTerraformSource(const TerraformSource& value) { SetTerraformSource(value); return *this;} /** *

The name of the Terraform s3 state file.

*/ inline AppInputSource& WithTerraformSource(TerraformSource&& value) { SetTerraformSource(std::move(value)); return *this;} private: EksSourceClusterNamespace m_eksSourceClusterNamespace; bool m_eksSourceClusterNamespaceHasBeenSet = false; ResourceMappingType m_importType; bool m_importTypeHasBeenSet = false; int m_resourceCount; bool m_resourceCountHasBeenSet = false; Aws::String m_sourceArn; bool m_sourceArnHasBeenSet = false; Aws::String m_sourceName; bool m_sourceNameHasBeenSet = false; TerraformSource m_terraformSource; bool m_terraformSourceHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws