/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace Redshift { namespace Model { /** *

Describes an endpoint authorization for authorizing Redshift-managed VPC * endpoint access to a cluster across Amazon Web Services accounts.

See * Also:

AWS * API Reference

*/ class AWS_REDSHIFT_API AuthorizeEndpointAccessResult { public: AuthorizeEndpointAccessResult(); AuthorizeEndpointAccessResult(const Aws::AmazonWebServiceResult& result); AuthorizeEndpointAccessResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Web Services account ID of the cluster owner.

*/ inline const Aws::String& GetGrantor() const{ return m_grantor; } /** *

The Amazon Web Services account ID of the cluster owner.

*/ inline void SetGrantor(const Aws::String& value) { m_grantor = value; } /** *

The Amazon Web Services account ID of the cluster owner.

*/ inline void SetGrantor(Aws::String&& value) { m_grantor = std::move(value); } /** *

The Amazon Web Services account ID of the cluster owner.

*/ inline void SetGrantor(const char* value) { m_grantor.assign(value); } /** *

The Amazon Web Services account ID of the cluster owner.

*/ inline AuthorizeEndpointAccessResult& WithGrantor(const Aws::String& value) { SetGrantor(value); return *this;} /** *

The Amazon Web Services account ID of the cluster owner.

*/ inline AuthorizeEndpointAccessResult& WithGrantor(Aws::String&& value) { SetGrantor(std::move(value)); return *this;} /** *

The Amazon Web Services account ID of the cluster owner.

*/ inline AuthorizeEndpointAccessResult& WithGrantor(const char* value) { SetGrantor(value); return *this;} /** *

The Amazon Web Services account ID of the grantee of the cluster.

*/ inline const Aws::String& GetGrantee() const{ return m_grantee; } /** *

The Amazon Web Services account ID of the grantee of the cluster.

*/ inline void SetGrantee(const Aws::String& value) { m_grantee = value; } /** *

The Amazon Web Services account ID of the grantee of the cluster.

*/ inline void SetGrantee(Aws::String&& value) { m_grantee = std::move(value); } /** *

The Amazon Web Services account ID of the grantee of the cluster.

*/ inline void SetGrantee(const char* value) { m_grantee.assign(value); } /** *

The Amazon Web Services account ID of the grantee of the cluster.

*/ inline AuthorizeEndpointAccessResult& WithGrantee(const Aws::String& value) { SetGrantee(value); return *this;} /** *

The Amazon Web Services account ID of the grantee of the cluster.

*/ inline AuthorizeEndpointAccessResult& WithGrantee(Aws::String&& value) { SetGrantee(std::move(value)); return *this;} /** *

The Amazon Web Services account ID of the grantee of the cluster.

*/ inline AuthorizeEndpointAccessResult& WithGrantee(const char* value) { SetGrantee(value); return *this;} /** *

The cluster identifier.

*/ inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } /** *

The cluster identifier.

*/ inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifier = value; } /** *

The cluster identifier.

*/ inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifier = std::move(value); } /** *

The cluster identifier.

*/ inline void SetClusterIdentifier(const char* value) { m_clusterIdentifier.assign(value); } /** *

The cluster identifier.

*/ inline AuthorizeEndpointAccessResult& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} /** *

The cluster identifier.

*/ inline AuthorizeEndpointAccessResult& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} /** *

The cluster identifier.

*/ inline AuthorizeEndpointAccessResult& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} /** *

The time (UTC) when the authorization was created.

*/ inline const Aws::Utils::DateTime& GetAuthorizeTime() const{ return m_authorizeTime; } /** *

The time (UTC) when the authorization was created.

*/ inline void SetAuthorizeTime(const Aws::Utils::DateTime& value) { m_authorizeTime = value; } /** *

The time (UTC) when the authorization was created.

*/ inline void SetAuthorizeTime(Aws::Utils::DateTime&& value) { m_authorizeTime = std::move(value); } /** *

The time (UTC) when the authorization was created.

*/ inline AuthorizeEndpointAccessResult& WithAuthorizeTime(const Aws::Utils::DateTime& value) { SetAuthorizeTime(value); return *this;} /** *

The time (UTC) when the authorization was created.

*/ inline AuthorizeEndpointAccessResult& WithAuthorizeTime(Aws::Utils::DateTime&& value) { SetAuthorizeTime(std::move(value)); return *this;} /** *

The status of the cluster.

*/ inline const Aws::String& GetClusterStatus() const{ return m_clusterStatus; } /** *

The status of the cluster.

*/ inline void SetClusterStatus(const Aws::String& value) { m_clusterStatus = value; } /** *

The status of the cluster.

*/ inline void SetClusterStatus(Aws::String&& value) { m_clusterStatus = std::move(value); } /** *

The status of the cluster.

*/ inline void SetClusterStatus(const char* value) { m_clusterStatus.assign(value); } /** *

The status of the cluster.

*/ inline AuthorizeEndpointAccessResult& WithClusterStatus(const Aws::String& value) { SetClusterStatus(value); return *this;} /** *

The status of the cluster.

*/ inline AuthorizeEndpointAccessResult& WithClusterStatus(Aws::String&& value) { SetClusterStatus(std::move(value)); return *this;} /** *

The status of the cluster.

*/ inline AuthorizeEndpointAccessResult& WithClusterStatus(const char* value) { SetClusterStatus(value); return *this;} /** *

The status of the authorization action.

*/ inline const AuthorizationStatus& GetStatus() const{ return m_status; } /** *

The status of the authorization action.

*/ inline void SetStatus(const AuthorizationStatus& value) { m_status = value; } /** *

The status of the authorization action.

*/ inline void SetStatus(AuthorizationStatus&& value) { m_status = std::move(value); } /** *

The status of the authorization action.

*/ inline AuthorizeEndpointAccessResult& WithStatus(const AuthorizationStatus& value) { SetStatus(value); return *this;} /** *

The status of the authorization action.

*/ inline AuthorizeEndpointAccessResult& WithStatus(AuthorizationStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

Indicates whether all VPCs in the grantee account are allowed access to the * cluster.

*/ inline bool GetAllowedAllVPCs() const{ return m_allowedAllVPCs; } /** *

Indicates whether all VPCs in the grantee account are allowed access to the * cluster.

*/ inline void SetAllowedAllVPCs(bool value) { m_allowedAllVPCs = value; } /** *

Indicates whether all VPCs in the grantee account are allowed access to the * cluster.

*/ inline AuthorizeEndpointAccessResult& WithAllowedAllVPCs(bool value) { SetAllowedAllVPCs(value); return *this;} /** *

The VPCs allowed access to the cluster.

*/ inline const Aws::Vector& GetAllowedVPCs() const{ return m_allowedVPCs; } /** *

The VPCs allowed access to the cluster.

*/ inline void SetAllowedVPCs(const Aws::Vector& value) { m_allowedVPCs = value; } /** *

The VPCs allowed access to the cluster.

*/ inline void SetAllowedVPCs(Aws::Vector&& value) { m_allowedVPCs = std::move(value); } /** *

The VPCs allowed access to the cluster.

*/ inline AuthorizeEndpointAccessResult& WithAllowedVPCs(const Aws::Vector& value) { SetAllowedVPCs(value); return *this;} /** *

The VPCs allowed access to the cluster.

*/ inline AuthorizeEndpointAccessResult& WithAllowedVPCs(Aws::Vector&& value) { SetAllowedVPCs(std::move(value)); return *this;} /** *

The VPCs allowed access to the cluster.

*/ inline AuthorizeEndpointAccessResult& AddAllowedVPCs(const Aws::String& value) { m_allowedVPCs.push_back(value); return *this; } /** *

The VPCs allowed access to the cluster.

*/ inline AuthorizeEndpointAccessResult& AddAllowedVPCs(Aws::String&& value) { m_allowedVPCs.push_back(std::move(value)); return *this; } /** *

The VPCs allowed access to the cluster.

*/ inline AuthorizeEndpointAccessResult& AddAllowedVPCs(const char* value) { m_allowedVPCs.push_back(value); return *this; } /** *

The number of Redshift-managed VPC endpoints created for the * authorization.

*/ inline int GetEndpointCount() const{ return m_endpointCount; } /** *

The number of Redshift-managed VPC endpoints created for the * authorization.

*/ inline void SetEndpointCount(int value) { m_endpointCount = value; } /** *

The number of Redshift-managed VPC endpoints created for the * authorization.

*/ inline AuthorizeEndpointAccessResult& WithEndpointCount(int value) { SetEndpointCount(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline AuthorizeEndpointAccessResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline AuthorizeEndpointAccessResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_grantor; Aws::String m_grantee; Aws::String m_clusterIdentifier; Aws::Utils::DateTime m_authorizeTime; Aws::String m_clusterStatus; AuthorizationStatus m_status; bool m_allowedAllVPCs; Aws::Vector m_allowedVPCs; int m_endpointCount; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace Redshift } // namespace Aws