/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace LakeFormation { namespace Model { /** */ class RevokePermissionsRequest : public LakeFormationRequest { public: AWS_LAKEFORMATION_API RevokePermissionsRequest(); // 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 "RevokePermissions"; } AWS_LAKEFORMATION_API Aws::String SerializePayload() const override; /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline const Aws::String& GetCatalogId() const{ return m_catalogId; } /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline RevokePermissionsRequest& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline RevokePermissionsRequest& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} /** *

The identifier for the Data Catalog. By default, the account ID. The Data * Catalog is the persistent metadata store. It contains database definitions, * table definitions, and other control information to manage your Lake Formation * environment.

*/ inline RevokePermissionsRequest& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} /** *

The principal to be revoked permissions on the resource.

*/ inline const DataLakePrincipal& GetPrincipal() const{ return m_principal; } /** *

The principal to be revoked permissions on the resource.

*/ inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } /** *

The principal to be revoked permissions on the resource.

*/ inline void SetPrincipal(const DataLakePrincipal& value) { m_principalHasBeenSet = true; m_principal = value; } /** *

The principal to be revoked permissions on the resource.

*/ inline void SetPrincipal(DataLakePrincipal&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); } /** *

The principal to be revoked permissions on the resource.

*/ inline RevokePermissionsRequest& WithPrincipal(const DataLakePrincipal& value) { SetPrincipal(value); return *this;} /** *

The principal to be revoked permissions on the resource.

*/ inline RevokePermissionsRequest& WithPrincipal(DataLakePrincipal&& value) { SetPrincipal(std::move(value)); return *this;} /** *

The resource to which permissions are to be revoked.

*/ inline const Resource& GetResource() const{ return m_resource; } /** *

The resource to which permissions are to be revoked.

*/ inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } /** *

The resource to which permissions are to be revoked.

*/ inline void SetResource(const Resource& value) { m_resourceHasBeenSet = true; m_resource = value; } /** *

The resource to which permissions are to be revoked.

*/ inline void SetResource(Resource&& value) { m_resourceHasBeenSet = true; m_resource = std::move(value); } /** *

The resource to which permissions are to be revoked.

*/ inline RevokePermissionsRequest& WithResource(const Resource& value) { SetResource(value); return *this;} /** *

The resource to which permissions are to be revoked.

*/ inline RevokePermissionsRequest& WithResource(Resource&& value) { SetResource(std::move(value)); return *this;} /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline const Aws::Vector& GetPermissions() const{ return m_permissions; } /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; } /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline void SetPermissions(const Aws::Vector& value) { m_permissionsHasBeenSet = true; m_permissions = value; } /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline void SetPermissions(Aws::Vector&& value) { m_permissionsHasBeenSet = true; m_permissions = std::move(value); } /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline RevokePermissionsRequest& WithPermissions(const Aws::Vector& value) { SetPermissions(value); return *this;} /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline RevokePermissionsRequest& WithPermissions(Aws::Vector&& value) { SetPermissions(std::move(value)); return *this;} /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline RevokePermissionsRequest& AddPermissions(const Permission& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; } /** *

The permissions revoked to the principal on the resource. For information * about permissions, see Security * and Access Control to Metadata and Data.

*/ inline RevokePermissionsRequest& AddPermissions(Permission&& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(std::move(value)); return *this; } /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline const Aws::Vector& GetPermissionsWithGrantOption() const{ return m_permissionsWithGrantOption; } /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline bool PermissionsWithGrantOptionHasBeenSet() const { return m_permissionsWithGrantOptionHasBeenSet; } /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline void SetPermissionsWithGrantOption(const Aws::Vector& value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption = value; } /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline void SetPermissionsWithGrantOption(Aws::Vector&& value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption = std::move(value); } /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline RevokePermissionsRequest& WithPermissionsWithGrantOption(const Aws::Vector& value) { SetPermissionsWithGrantOption(value); return *this;} /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline RevokePermissionsRequest& WithPermissionsWithGrantOption(Aws::Vector&& value) { SetPermissionsWithGrantOption(std::move(value)); return *this;} /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline RevokePermissionsRequest& AddPermissionsWithGrantOption(const Permission& value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption.push_back(value); return *this; } /** *

Indicates a list of permissions for which to revoke the grant option allowing * the principal to pass permissions to other principals.

*/ inline RevokePermissionsRequest& AddPermissionsWithGrantOption(Permission&& value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption.push_back(std::move(value)); return *this; } private: Aws::String m_catalogId; bool m_catalogIdHasBeenSet = false; DataLakePrincipal m_principal; bool m_principalHasBeenSet = false; Resource m_resource; bool m_resourceHasBeenSet = false; Aws::Vector m_permissions; bool m_permissionsHasBeenSet = false; Aws::Vector m_permissionsWithGrantOption; bool m_permissionsWithGrantOptionHasBeenSet = false; }; } // namespace Model } // namespace LakeFormation } // namespace Aws