/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace Redshift { namespace Model { class AuthorizeDataShareResult { public: AWS_REDSHIFT_API AuthorizeDataShareResult(); AWS_REDSHIFT_API AuthorizeDataShareResult(const Aws::AmazonWebServiceResult& result); AWS_REDSHIFT_API AuthorizeDataShareResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

An Amazon Resource Name (ARN) that references the datashare that is owned by * a specific namespace of the producer cluster. A datashare ARN is in the * arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} * format.

*/ inline const Aws::String& GetDataShareArn() const{ return m_dataShareArn; } /** *

An Amazon Resource Name (ARN) that references the datashare that is owned by * a specific namespace of the producer cluster. A datashare ARN is in the * arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} * format.

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

An Amazon Resource Name (ARN) that references the datashare that is owned by * a specific namespace of the producer cluster. A datashare ARN is in the * arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} * format.

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

An Amazon Resource Name (ARN) that references the datashare that is owned by * a specific namespace of the producer cluster. A datashare ARN is in the * arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} * format.

*/ inline void SetDataShareArn(const char* value) { m_dataShareArn.assign(value); } /** *

An Amazon Resource Name (ARN) that references the datashare that is owned by * a specific namespace of the producer cluster. A datashare ARN is in the * arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} * format.

*/ inline AuthorizeDataShareResult& WithDataShareArn(const Aws::String& value) { SetDataShareArn(value); return *this;} /** *

An Amazon Resource Name (ARN) that references the datashare that is owned by * a specific namespace of the producer cluster. A datashare ARN is in the * arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} * format.

*/ inline AuthorizeDataShareResult& WithDataShareArn(Aws::String&& value) { SetDataShareArn(std::move(value)); return *this;} /** *

An Amazon Resource Name (ARN) that references the datashare that is owned by * a specific namespace of the producer cluster. A datashare ARN is in the * arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} * format.

*/ inline AuthorizeDataShareResult& WithDataShareArn(const char* value) { SetDataShareArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the producer.

*/ inline const Aws::String& GetProducerArn() const{ return m_producerArn; } /** *

The Amazon Resource Name (ARN) of the producer.

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

The Amazon Resource Name (ARN) of the producer.

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

The Amazon Resource Name (ARN) of the producer.

*/ inline void SetProducerArn(const char* value) { m_producerArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the producer.

*/ inline AuthorizeDataShareResult& WithProducerArn(const Aws::String& value) { SetProducerArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the producer.

*/ inline AuthorizeDataShareResult& WithProducerArn(Aws::String&& value) { SetProducerArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the producer.

*/ inline AuthorizeDataShareResult& WithProducerArn(const char* value) { SetProducerArn(value); return *this;} /** *

A value that specifies whether the datashare can be shared to a publicly * accessible cluster.

*/ inline bool GetAllowPubliclyAccessibleConsumers() const{ return m_allowPubliclyAccessibleConsumers; } /** *

A value that specifies whether the datashare can be shared to a publicly * accessible cluster.

*/ inline void SetAllowPubliclyAccessibleConsumers(bool value) { m_allowPubliclyAccessibleConsumers = value; } /** *

A value that specifies whether the datashare can be shared to a publicly * accessible cluster.

*/ inline AuthorizeDataShareResult& WithAllowPubliclyAccessibleConsumers(bool value) { SetAllowPubliclyAccessibleConsumers(value); return *this;} /** *

A value that specifies when the datashare has an association between producer * and data consumers.

*/ inline const Aws::Vector& GetDataShareAssociations() const{ return m_dataShareAssociations; } /** *

A value that specifies when the datashare has an association between producer * and data consumers.

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

A value that specifies when the datashare has an association between producer * and data consumers.

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

A value that specifies when the datashare has an association between producer * and data consumers.

*/ inline AuthorizeDataShareResult& WithDataShareAssociations(const Aws::Vector& value) { SetDataShareAssociations(value); return *this;} /** *

A value that specifies when the datashare has an association between producer * and data consumers.

*/ inline AuthorizeDataShareResult& WithDataShareAssociations(Aws::Vector&& value) { SetDataShareAssociations(std::move(value)); return *this;} /** *

A value that specifies when the datashare has an association between producer * and data consumers.

*/ inline AuthorizeDataShareResult& AddDataShareAssociations(const DataShareAssociation& value) { m_dataShareAssociations.push_back(value); return *this; } /** *

A value that specifies when the datashare has an association between producer * and data consumers.

*/ inline AuthorizeDataShareResult& AddDataShareAssociations(DataShareAssociation&& value) { m_dataShareAssociations.push_back(std::move(value)); return *this; } /** *

The identifier of a datashare to show its managing entity.

*/ inline const Aws::String& GetManagedBy() const{ return m_managedBy; } /** *

The identifier of a datashare to show its managing entity.

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

The identifier of a datashare to show its managing entity.

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

The identifier of a datashare to show its managing entity.

*/ inline void SetManagedBy(const char* value) { m_managedBy.assign(value); } /** *

The identifier of a datashare to show its managing entity.

*/ inline AuthorizeDataShareResult& WithManagedBy(const Aws::String& value) { SetManagedBy(value); return *this;} /** *

The identifier of a datashare to show its managing entity.

*/ inline AuthorizeDataShareResult& WithManagedBy(Aws::String&& value) { SetManagedBy(std::move(value)); return *this;} /** *

The identifier of a datashare to show its managing entity.

*/ inline AuthorizeDataShareResult& WithManagedBy(const char* value) { SetManagedBy(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 AuthorizeDataShareResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline AuthorizeDataShareResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_dataShareArn; Aws::String m_producerArn; bool m_allowPubliclyAccessibleConsumers; Aws::Vector m_dataShareAssociations; Aws::String m_managedBy; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace Redshift } // namespace Aws