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

An IAM role that the cluster can use to access other Amazon Web Services * services.

See Also:

AWS * API Reference

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

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline const Aws::String& GetApplyStatus() const{ return m_applyStatus; } /** *

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline bool ApplyStatusHasBeenSet() const { return m_applyStatusHasBeenSet; } /** *

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline void SetApplyStatus(const Aws::String& value) { m_applyStatusHasBeenSet = true; m_applyStatus = value; } /** *

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline void SetApplyStatus(Aws::String&& value) { m_applyStatusHasBeenSet = true; m_applyStatus = std::move(value); } /** *

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline void SetApplyStatus(const char* value) { m_applyStatusHasBeenSet = true; m_applyStatus.assign(value); } /** *

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline AwsRedshiftClusterIamRole& WithApplyStatus(const Aws::String& value) { SetApplyStatus(value); return *this;} /** *

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline AwsRedshiftClusterIamRole& WithApplyStatus(Aws::String&& value) { SetApplyStatus(std::move(value)); return *this;} /** *

The status of the IAM role's association with the cluster.

Valid * values: in-sync | adding | removing

*/ inline AwsRedshiftClusterIamRole& WithApplyStatus(const char* value) { SetApplyStatus(value); return *this;} /** *

The ARN of the IAM role.

*/ inline const Aws::String& GetIamRoleArn() const{ return m_iamRoleArn; } /** *

The ARN of the IAM role.

*/ inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; } /** *

The ARN of the IAM role.

*/ inline void SetIamRoleArn(const Aws::String& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = value; } /** *

The ARN of the IAM role.

*/ inline void SetIamRoleArn(Aws::String&& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = std::move(value); } /** *

The ARN of the IAM role.

*/ inline void SetIamRoleArn(const char* value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn.assign(value); } /** *

The ARN of the IAM role.

*/ inline AwsRedshiftClusterIamRole& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); return *this;} /** *

The ARN of the IAM role.

*/ inline AwsRedshiftClusterIamRole& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); return *this;} /** *

The ARN of the IAM role.

*/ inline AwsRedshiftClusterIamRole& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} private: Aws::String m_applyStatus; bool m_applyStatusHasBeenSet = false; Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws