/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace DocDB { namespace Model { /** *

Represents the input to * ModifyDBClusterSnapshotAttribute.

See Also:

AWS * API Reference

*/ class ModifyDBClusterSnapshotAttributeRequest : public DocDBRequest { public: AWS_DOCDB_API ModifyDBClusterSnapshotAttributeRequest(); // 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 "ModifyDBClusterSnapshotAttribute"; } AWS_DOCDB_API Aws::String SerializePayload() const override; protected: AWS_DOCDB_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline const Aws::String& GetDBClusterSnapshotIdentifier() const{ return m_dBClusterSnapshotIdentifier; } /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline bool DBClusterSnapshotIdentifierHasBeenSet() const { return m_dBClusterSnapshotIdentifierHasBeenSet; } /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline void SetDBClusterSnapshotIdentifier(const Aws::String& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = value; } /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline void SetDBClusterSnapshotIdentifier(Aws::String&& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = std::move(value); } /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline void SetDBClusterSnapshotIdentifier(const char* value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier.assign(value); } /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithDBClusterSnapshotIdentifier(const Aws::String& value) { SetDBClusterSnapshotIdentifier(value); return *this;} /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithDBClusterSnapshotIdentifier(Aws::String&& value) { SetDBClusterSnapshotIdentifier(std::move(value)); return *this;} /** *

The identifier for the cluster snapshot to modify the attributes for.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithDBClusterSnapshotIdentifier(const char* value) { SetDBClusterSnapshotIdentifier(value); return *this;} /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline const Aws::String& GetAttributeName() const{ return m_attributeName; } /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline bool AttributeNameHasBeenSet() const { return m_attributeNameHasBeenSet; } /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline void SetAttributeName(const Aws::String& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; } /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline void SetAttributeName(Aws::String&& value) { m_attributeNameHasBeenSet = true; m_attributeName = std::move(value); } /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline void SetAttributeName(const char* value) { m_attributeNameHasBeenSet = true; m_attributeName.assign(value); } /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithAttributeName(const Aws::String& value) { SetAttributeName(value); return *this;} /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithAttributeName(Aws::String&& value) { SetAttributeName(std::move(value)); return *this;} /** *

The name of the cluster snapshot attribute to modify.

To manage * authorization for other Amazon Web Services accounts to copy or restore a manual * cluster snapshot, set this value to restore.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithAttributeName(const char* value) { SetAttributeName(value); return *this;} /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline const Aws::Vector& GetValuesToAdd() const{ return m_valuesToAdd; } /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline bool ValuesToAddHasBeenSet() const { return m_valuesToAddHasBeenSet; } /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline void SetValuesToAdd(const Aws::Vector& value) { m_valuesToAddHasBeenSet = true; m_valuesToAdd = value; } /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline void SetValuesToAdd(Aws::Vector&& value) { m_valuesToAddHasBeenSet = true; m_valuesToAdd = std::move(value); } /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithValuesToAdd(const Aws::Vector& value) { SetValuesToAdd(value); return *this;} /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithValuesToAdd(Aws::Vector&& value) { SetValuesToAdd(std::move(value)); return *this;} /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline ModifyDBClusterSnapshotAttributeRequest& AddValuesToAdd(const Aws::String& value) { m_valuesToAddHasBeenSet = true; m_valuesToAdd.push_back(value); return *this; } /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline ModifyDBClusterSnapshotAttributeRequest& AddValuesToAdd(Aws::String&& value) { m_valuesToAddHasBeenSet = true; m_valuesToAdd.push_back(std::move(value)); return *this; } /** *

A list of cluster snapshot attributes to add to the attribute specified by * AttributeName.

To authorize other Amazon Web Services * accounts to copy or restore a manual cluster snapshot, set this list to include * one or more Amazon Web Services account IDs. To make the manual cluster snapshot * restorable by any Amazon Web Services account, set it to all. Do * not add the all value for any manual cluster snapshots that contain * private information that you don't want to be available to all Amazon Web * Services accounts.

*/ inline ModifyDBClusterSnapshotAttributeRequest& AddValuesToAdd(const char* value) { m_valuesToAddHasBeenSet = true; m_valuesToAdd.push_back(value); return *this; } /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline const Aws::Vector& GetValuesToRemove() const{ return m_valuesToRemove; } /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline bool ValuesToRemoveHasBeenSet() const { return m_valuesToRemoveHasBeenSet; } /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline void SetValuesToRemove(const Aws::Vector& value) { m_valuesToRemoveHasBeenSet = true; m_valuesToRemove = value; } /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline void SetValuesToRemove(Aws::Vector&& value) { m_valuesToRemoveHasBeenSet = true; m_valuesToRemove = std::move(value); } /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithValuesToRemove(const Aws::Vector& value) { SetValuesToRemove(value); return *this;} /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline ModifyDBClusterSnapshotAttributeRequest& WithValuesToRemove(Aws::Vector&& value) { SetValuesToRemove(std::move(value)); return *this;} /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline ModifyDBClusterSnapshotAttributeRequest& AddValuesToRemove(const Aws::String& value) { m_valuesToRemoveHasBeenSet = true; m_valuesToRemove.push_back(value); return *this; } /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline ModifyDBClusterSnapshotAttributeRequest& AddValuesToRemove(Aws::String&& value) { m_valuesToRemoveHasBeenSet = true; m_valuesToRemove.push_back(std::move(value)); return *this; } /** *

A list of cluster snapshot attributes to remove from the attribute specified * by AttributeName.

To remove authorization for other Amazon * Web Services accounts to copy or restore a manual cluster snapshot, set this * list to include one or more Amazon Web Services account identifiers. To remove * authorization for any Amazon Web Services account to copy or restore the cluster * snapshot, set it to all . If you specify all, an * Amazon Web Services account whose account ID is explicitly added to the * restore attribute can still copy or restore a manual cluster * snapshot.

*/ inline ModifyDBClusterSnapshotAttributeRequest& AddValuesToRemove(const char* value) { m_valuesToRemoveHasBeenSet = true; m_valuesToRemove.push_back(value); return *this; } private: Aws::String m_dBClusterSnapshotIdentifier; bool m_dBClusterSnapshotIdentifierHasBeenSet = false; Aws::String m_attributeName; bool m_attributeNameHasBeenSet = false; Aws::Vector m_valuesToAdd; bool m_valuesToAddHasBeenSet = false; Aws::Vector m_valuesToRemove; bool m_valuesToRemoveHasBeenSet = false; }; } // namespace Model } // namespace DocDB } // namespace Aws