/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Information about the associated IAM roles.

See Also:

AWS * API Reference

*/ class AssociatedRole { public: AWS_EC2_API AssociatedRole(); AWS_EC2_API AssociatedRole(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API AssociatedRole& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ARN of the associated IAM role.

*/ inline const Aws::String& GetAssociatedRoleArn() const{ return m_associatedRoleArn; } /** *

The ARN of the associated IAM role.

*/ inline bool AssociatedRoleArnHasBeenSet() const { return m_associatedRoleArnHasBeenSet; } /** *

The ARN of the associated IAM role.

*/ inline void SetAssociatedRoleArn(const Aws::String& value) { m_associatedRoleArnHasBeenSet = true; m_associatedRoleArn = value; } /** *

The ARN of the associated IAM role.

*/ inline void SetAssociatedRoleArn(Aws::String&& value) { m_associatedRoleArnHasBeenSet = true; m_associatedRoleArn = std::move(value); } /** *

The ARN of the associated IAM role.

*/ inline void SetAssociatedRoleArn(const char* value) { m_associatedRoleArnHasBeenSet = true; m_associatedRoleArn.assign(value); } /** *

The ARN of the associated IAM role.

*/ inline AssociatedRole& WithAssociatedRoleArn(const Aws::String& value) { SetAssociatedRoleArn(value); return *this;} /** *

The ARN of the associated IAM role.

*/ inline AssociatedRole& WithAssociatedRoleArn(Aws::String&& value) { SetAssociatedRoleArn(std::move(value)); return *this;} /** *

The ARN of the associated IAM role.

*/ inline AssociatedRole& WithAssociatedRoleArn(const char* value) { SetAssociatedRoleArn(value); return *this;} /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline const Aws::String& GetCertificateS3BucketName() const{ return m_certificateS3BucketName; } /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline bool CertificateS3BucketNameHasBeenSet() const { return m_certificateS3BucketNameHasBeenSet; } /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline void SetCertificateS3BucketName(const Aws::String& value) { m_certificateS3BucketNameHasBeenSet = true; m_certificateS3BucketName = value; } /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline void SetCertificateS3BucketName(Aws::String&& value) { m_certificateS3BucketNameHasBeenSet = true; m_certificateS3BucketName = std::move(value); } /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline void SetCertificateS3BucketName(const char* value) { m_certificateS3BucketNameHasBeenSet = true; m_certificateS3BucketName.assign(value); } /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline AssociatedRole& WithCertificateS3BucketName(const Aws::String& value) { SetCertificateS3BucketName(value); return *this;} /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline AssociatedRole& WithCertificateS3BucketName(Aws::String&& value) { SetCertificateS3BucketName(std::move(value)); return *this;} /** *

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

*/ inline AssociatedRole& WithCertificateS3BucketName(const char* value) { SetCertificateS3BucketName(value); return *this;} /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline const Aws::String& GetCertificateS3ObjectKey() const{ return m_certificateS3ObjectKey; } /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline bool CertificateS3ObjectKeyHasBeenSet() const { return m_certificateS3ObjectKeyHasBeenSet; } /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline void SetCertificateS3ObjectKey(const Aws::String& value) { m_certificateS3ObjectKeyHasBeenSet = true; m_certificateS3ObjectKey = value; } /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline void SetCertificateS3ObjectKey(Aws::String&& value) { m_certificateS3ObjectKeyHasBeenSet = true; m_certificateS3ObjectKey = std::move(value); } /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline void SetCertificateS3ObjectKey(const char* value) { m_certificateS3ObjectKeyHasBeenSet = true; m_certificateS3ObjectKey.assign(value); } /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline AssociatedRole& WithCertificateS3ObjectKey(const Aws::String& value) { SetCertificateS3ObjectKey(value); return *this;} /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline AssociatedRole& WithCertificateS3ObjectKey(Aws::String&& value) { SetCertificateS3ObjectKey(std::move(value)); return *this;} /** *

The key of the Amazon S3 object ey where the certificate, certificate chain, * and encrypted private key bundle is stored. The object key is formated as * follows: role_arn/certificate_arn.

*/ inline AssociatedRole& WithCertificateS3ObjectKey(const char* value) { SetCertificateS3ObjectKey(value); return *this;} /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline const Aws::String& GetEncryptionKmsKeyId() const{ return m_encryptionKmsKeyId; } /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline bool EncryptionKmsKeyIdHasBeenSet() const { return m_encryptionKmsKeyIdHasBeenSet; } /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline void SetEncryptionKmsKeyId(const Aws::String& value) { m_encryptionKmsKeyIdHasBeenSet = true; m_encryptionKmsKeyId = value; } /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline void SetEncryptionKmsKeyId(Aws::String&& value) { m_encryptionKmsKeyIdHasBeenSet = true; m_encryptionKmsKeyId = std::move(value); } /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline void SetEncryptionKmsKeyId(const char* value) { m_encryptionKmsKeyIdHasBeenSet = true; m_encryptionKmsKeyId.assign(value); } /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline AssociatedRole& WithEncryptionKmsKeyId(const Aws::String& value) { SetEncryptionKmsKeyId(value); return *this;} /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline AssociatedRole& WithEncryptionKmsKeyId(Aws::String&& value) { SetEncryptionKmsKeyId(std::move(value)); return *this;} /** *

The ID of the KMS customer master key (CMK) used to encrypt the private * key.

*/ inline AssociatedRole& WithEncryptionKmsKeyId(const char* value) { SetEncryptionKmsKeyId(value); return *this;} private: Aws::String m_associatedRoleArn; bool m_associatedRoleArnHasBeenSet = false; Aws::String m_certificateS3BucketName; bool m_certificateS3BucketNameHasBeenSet = false; Aws::String m_certificateS3ObjectKey; bool m_certificateS3ObjectKeyHasBeenSet = false; Aws::String m_encryptionKmsKeyId; bool m_encryptionKmsKeyIdHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws