/** * 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 AWS_RDS_API ModifyDBSnapshotAttributeRequest : public RDSRequest { public: 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::String SerializePayload() const override; protected: 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 AWS 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 * action.

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

The name of the DB snapshot attribute to modify.

To manage * authorization for other AWS 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 * action.

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

The name of the DB snapshot attribute to modify.

To manage * authorization for other AWS 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 * action.

*/ 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 AWS 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 * action.

*/ 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 AWS 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 * action.

*/ 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 AWS 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 * action.

*/ 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 AWS 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 * action.

*/ 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 AWS 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 * action.

*/ 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS accounts to copy or * restore a manual snapshot, set this list to include one or more AWS account IDs, * or all to make the manual DB snapshot restorable by any AWS * account. Do not add the all value for any manual DB snapshots that * contain private information that you don't want available to all AWS * 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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 AWS * accounts to copy or restore a manual snapshot, set this list to include one or * more AWS account identifiers, or all to remove authorization for * any AWS account to copy or restore the DB snapshot. If you specify * all, an AWS 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; Aws::String m_attributeName; bool m_attributeNameHasBeenSet; Aws::Vector m_valuesToAdd; bool m_valuesToAddHasBeenSet; Aws::Vector m_valuesToRemove; bool m_valuesToRemoveHasBeenSet; }; } // namespace Model } // namespace RDS } // namespace Aws