/** * 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 RDS { namespace Model { /** *

See Also:

AWS * API Reference

*/ class ModifyDBSnapshotAttributeRequest : public RDSRequest { public: AWS_RDS_API ModifyDBSnapshotAttributeRequest(); // 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 "ModifyDBSnapshotAttribute"; } AWS_RDS_API Aws::String SerializePayload() const override; protected: AWS_RDS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

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

*/ inline const Aws::String& GetDBSnapshotIdentifier() const{ return m_dBSnapshotIdentifier; } /** *

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

*/ inline bool DBSnapshotIdentifierHasBeenSet() const { return m_dBSnapshotIdentifierHasBeenSet; } /** *

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

*/ inline void SetDBSnapshotIdentifier(const Aws::String& value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier = value; } /** *

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

*/ inline void SetDBSnapshotIdentifier(Aws::String&& value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier = std::move(value); } /** *

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

*/ inline void SetDBSnapshotIdentifier(const char* value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier.assign(value); } /** *

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

*/ inline ModifyDBSnapshotAttributeRequest& WithDBSnapshotIdentifier(const Aws::String& value) { SetDBSnapshotIdentifier(value); return *this;} /** *

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

*/ inline ModifyDBSnapshotAttributeRequest& WithDBSnapshotIdentifier(Aws::String&& value) { SetDBSnapshotIdentifier(std::move(value)); return *this;} /** *

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

*/ inline ModifyDBSnapshotAttributeRequest& WithDBSnapshotIdentifier(const char* value) { SetDBSnapshotIdentifier(value); return *this;} /** *

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

The name of the DB snapshot attribute to modify.

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

To view the * list of attributes available to modify, use the * DescribeDBSnapshotAttributes API operation.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

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

A list of DB 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 snapshot, set this list to include * one or more Amazon Web Services account identifiers, or all to * remove authorization for any Amazon Web Services account to copy or restore the * DB snapshot. If you specify all, an Amazon Web Services account * whose account ID is explicitly added to the restore attribute can * still copy or restore the manual DB snapshot.

*/ inline ModifyDBSnapshotAttributeRequest& AddValuesToRemove(const char* value) { m_valuesToRemoveHasBeenSet = true; m_valuesToRemove.push_back(value); return *this; } private: Aws::String m_dBSnapshotIdentifier; bool m_dBSnapshotIdentifierHasBeenSet = 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 RDS } // namespace Aws