/** * 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 Neptune { namespace Model { /** */ class ModifyDBClusterSnapshotAttributeRequest : public NeptuneRequest { public: AWS_NEPTUNE_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_NEPTUNE_API Aws::String SerializePayload() const override; protected: AWS_NEPTUNE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

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

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

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

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

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

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

The identifier for the DB 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 DB cluster snapshot to modify the attributes for.

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

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

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

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

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

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

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

The name of the DB cluster snapshot attribute to modify.

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

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

The name of the DB cluster snapshot attribute to modify.

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

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

The name of the DB cluster snapshot attribute to modify.

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

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

The name of the DB cluster snapshot attribute to modify.

To manage * authorization for other Amazon accounts to copy or restore a manual DB 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 DB cluster snapshot attribute to modify.

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

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

The name of the DB cluster snapshot attribute to modify.

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

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

The name of the DB cluster snapshot attribute to modify.

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

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

The name of the DB cluster snapshot attribute to modify.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

To remove authorization for * other Amazon accounts to copy or restore a manual DB cluster snapshot, set this * list to include one or more Amazon account identifiers, or all to * remove authorization for any Amazon account to copy or restore the DB cluster * snapshot. If you specify all, an Amazon account whose account ID is * explicitly added to the restore attribute can still copy or restore * a manual DB 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 Neptune } // namespace Aws