/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace ResilienceHub { namespace Model { /** */ class ImportResourcesToDraftAppVersionRequest : public ResilienceHubRequest { public: AWS_RESILIENCEHUB_API ImportResourcesToDraftAppVersionRequest(); // 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 "ImportResourcesToDraftAppVersion"; } AWS_RESILIENCEHUB_API Aws::String SerializePayload() const override; /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline const Aws::String& GetAppArn() const{ return m_appArn; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline bool AppArnHasBeenSet() const { return m_appArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(const Aws::String& value) { m_appArnHasBeenSet = true; m_appArn = value; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(Aws::String&& value) { m_appArnHasBeenSet = true; m_appArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(const char* value) { m_appArnHasBeenSet = true; m_appArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline ImportResourcesToDraftAppVersionRequest& WithAppArn(const Aws::String& value) { SetAppArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline ImportResourcesToDraftAppVersionRequest& WithAppArn(Aws::String&& value) { SetAppArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline ImportResourcesToDraftAppVersionRequest& WithAppArn(const char* value) { SetAppArn(value); return *this;} /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline const Aws::Vector& GetEksSources() const{ return m_eksSources; } /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline bool EksSourcesHasBeenSet() const { return m_eksSourcesHasBeenSet; } /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline void SetEksSources(const Aws::Vector& value) { m_eksSourcesHasBeenSet = true; m_eksSources = value; } /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline void SetEksSources(Aws::Vector&& value) { m_eksSourcesHasBeenSet = true; m_eksSources = std::move(value); } /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline ImportResourcesToDraftAppVersionRequest& WithEksSources(const Aws::Vector& value) { SetEksSources(value); return *this;} /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline ImportResourcesToDraftAppVersionRequest& WithEksSources(Aws::Vector&& value) { SetEksSources(std::move(value)); return *this;} /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline ImportResourcesToDraftAppVersionRequest& AddEksSources(const EksSource& value) { m_eksSourcesHasBeenSet = true; m_eksSources.push_back(value); return *this; } /** *

The input sources of the Amazon Elastic Kubernetes Service resources you need * to import.

*/ inline ImportResourcesToDraftAppVersionRequest& AddEksSources(EksSource&& value) { m_eksSourcesHasBeenSet = true; m_eksSources.push_back(std::move(value)); return *this; } /** *

The import strategy you would like to set to import resources into Resilience * Hub application.

*/ inline const ResourceImportStrategyType& GetImportStrategy() const{ return m_importStrategy; } /** *

The import strategy you would like to set to import resources into Resilience * Hub application.

*/ inline bool ImportStrategyHasBeenSet() const { return m_importStrategyHasBeenSet; } /** *

The import strategy you would like to set to import resources into Resilience * Hub application.

*/ inline void SetImportStrategy(const ResourceImportStrategyType& value) { m_importStrategyHasBeenSet = true; m_importStrategy = value; } /** *

The import strategy you would like to set to import resources into Resilience * Hub application.

*/ inline void SetImportStrategy(ResourceImportStrategyType&& value) { m_importStrategyHasBeenSet = true; m_importStrategy = std::move(value); } /** *

The import strategy you would like to set to import resources into Resilience * Hub application.

*/ inline ImportResourcesToDraftAppVersionRequest& WithImportStrategy(const ResourceImportStrategyType& value) { SetImportStrategy(value); return *this;} /** *

The import strategy you would like to set to import resources into Resilience * Hub application.

*/ inline ImportResourcesToDraftAppVersionRequest& WithImportStrategy(ResourceImportStrategyType&& value) { SetImportStrategy(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline const Aws::Vector& GetSourceArns() const{ return m_sourceArns; } /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline bool SourceArnsHasBeenSet() const { return m_sourceArnsHasBeenSet; } /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline void SetSourceArns(const Aws::Vector& value) { m_sourceArnsHasBeenSet = true; m_sourceArns = value; } /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline void SetSourceArns(Aws::Vector&& value) { m_sourceArnsHasBeenSet = true; m_sourceArns = std::move(value); } /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline ImportResourcesToDraftAppVersionRequest& WithSourceArns(const Aws::Vector& value) { SetSourceArns(value); return *this;} /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline ImportResourcesToDraftAppVersionRequest& WithSourceArns(Aws::Vector&& value) { SetSourceArns(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline ImportResourcesToDraftAppVersionRequest& AddSourceArns(const Aws::String& value) { m_sourceArnsHasBeenSet = true; m_sourceArns.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline ImportResourcesToDraftAppVersionRequest& AddSourceArns(Aws::String&& value) { m_sourceArnsHasBeenSet = true; m_sourceArns.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) for the resources.

*/ inline ImportResourcesToDraftAppVersionRequest& AddSourceArns(const char* value) { m_sourceArnsHasBeenSet = true; m_sourceArns.push_back(value); return *this; } /** *

A list of terraform file s3 URLs you need to import.

*/ inline const Aws::Vector& GetTerraformSources() const{ return m_terraformSources; } /** *

A list of terraform file s3 URLs you need to import.

*/ inline bool TerraformSourcesHasBeenSet() const { return m_terraformSourcesHasBeenSet; } /** *

A list of terraform file s3 URLs you need to import.

*/ inline void SetTerraformSources(const Aws::Vector& value) { m_terraformSourcesHasBeenSet = true; m_terraformSources = value; } /** *

A list of terraform file s3 URLs you need to import.

*/ inline void SetTerraformSources(Aws::Vector&& value) { m_terraformSourcesHasBeenSet = true; m_terraformSources = std::move(value); } /** *

A list of terraform file s3 URLs you need to import.

*/ inline ImportResourcesToDraftAppVersionRequest& WithTerraformSources(const Aws::Vector& value) { SetTerraformSources(value); return *this;} /** *

A list of terraform file s3 URLs you need to import.

*/ inline ImportResourcesToDraftAppVersionRequest& WithTerraformSources(Aws::Vector&& value) { SetTerraformSources(std::move(value)); return *this;} /** *

A list of terraform file s3 URLs you need to import.

*/ inline ImportResourcesToDraftAppVersionRequest& AddTerraformSources(const TerraformSource& value) { m_terraformSourcesHasBeenSet = true; m_terraformSources.push_back(value); return *this; } /** *

A list of terraform file s3 URLs you need to import.

*/ inline ImportResourcesToDraftAppVersionRequest& AddTerraformSources(TerraformSource&& value) { m_terraformSourcesHasBeenSet = true; m_terraformSources.push_back(std::move(value)); return *this; } private: Aws::String m_appArn; bool m_appArnHasBeenSet = false; Aws::Vector m_eksSources; bool m_eksSourcesHasBeenSet = false; ResourceImportStrategyType m_importStrategy; bool m_importStrategyHasBeenSet = false; Aws::Vector m_sourceArns; bool m_sourceArnsHasBeenSet = false; Aws::Vector m_terraformSources; bool m_terraformSourcesHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws