Class CfnPrincipalPermissions

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:58.418Z") @Stability(Stable) public class CfnPrincipalPermissions extends CfnResource implements IInspectable
A CloudFormation AWS::LakeFormation::PrincipalPermissions.

The AWS::LakeFormation::PrincipalPermissions resource represents the permissions that a principal has on a Data Catalog resource (such as AWS Glue databases or AWS Glue tables). When you create a PrincipalPermissions resource, the permissions are granted via the AWS Lake Formation GrantPermissions API operation. When you delete a PrincipalPermissions resource, the permissions on principal-resource pair are revoked via the AWS Lake Formation RevokePermissions API operation.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.lakeformation.*;
 Object catalog;
 Object tableWildcard;
 CfnPrincipalPermissions cfnPrincipalPermissions = CfnPrincipalPermissions.Builder.create(this, "MyCfnPrincipalPermissions")
         .permissions(List.of("permissions"))
         .permissionsWithGrantOption(List.of("permissionsWithGrantOption"))
         .principal(DataLakePrincipalProperty.builder()
                 .dataLakePrincipalIdentifier("dataLakePrincipalIdentifier")
                 .build())
         .resource(ResourceProperty.builder()
                 .catalog(catalog)
                 .database(DatabaseResourceProperty.builder()
                         .catalogId("catalogId")
                         .name("name")
                         .build())
                 .dataCellsFilter(DataCellsFilterResourceProperty.builder()
                         .databaseName("databaseName")
                         .name("name")
                         .tableCatalogId("tableCatalogId")
                         .tableName("tableName")
                         .build())
                 .dataLocation(DataLocationResourceProperty.builder()
                         .catalogId("catalogId")
                         .resourceArn("resourceArn")
                         .build())
                 .lfTag(LFTagKeyResourceProperty.builder()
                         .catalogId("catalogId")
                         .tagKey("tagKey")
                         .tagValues(List.of("tagValues"))
                         .build())
                 .lfTagPolicy(LFTagPolicyResourceProperty.builder()
                         .catalogId("catalogId")
                         .expression(List.of(LFTagProperty.builder()
                                 .tagKey("tagKey")
                                 .tagValues(List.of("tagValues"))
                                 .build()))
                         .resourceType("resourceType")
                         .build())
                 .table(TableResourceProperty.builder()
                         .catalogId("catalogId")
                         .databaseName("databaseName")
                         // the properties below are optional
                         .name("name")
                         .tableWildcard(tableWildcard)
                         .build())
                 .tableWithColumns(TableWithColumnsResourceProperty.builder()
                         .catalogId("catalogId")
                         .databaseName("databaseName")
                         .name("name")
                         // the properties below are optional
                         .columnNames(List.of("columnNames"))
                         .columnWildcard(ColumnWildcardProperty.builder()
                                 .excludedColumnNames(List.of("excludedColumnNames"))
                                 .build())
                         .build())
                 .build())
         // the properties below are optional
         .catalog("catalog")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnPrincipalPermissions

      protected CfnPrincipalPermissions(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnPrincipalPermissions

      protected CfnPrincipalPermissions(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnPrincipalPermissions

      @Stability(Stable) public CfnPrincipalPermissions(@NotNull Construct scope, @NotNull String id, @NotNull CfnPrincipalPermissionsProps props)
      Create a new AWS::LakeFormation::PrincipalPermissions.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrPrincipalIdentifier

      @Stability(Stable) @NotNull public String getAttrPrincipalIdentifier()
      Json encoding of the input principal.

      For example: {"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/ExampleRole"}

    • getAttrResourceIdentifier

      @Stability(Stable) @NotNull public String getAttrResourceIdentifier()
      Json encoding of the input resource.

      For example: {"Catalog":null,"Database":null,"Table":null,"TableWithColumns":null,"DataLocation":null,"DataCellsFilter":{"TableCatalogId":"123456789012","DatabaseName":"ExampleDatabase","TableName":"ExampleTable","Name":"ExampleFilter"},"LFTag":null,"LFTagPolicy":null}

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getPermissions

      @Stability(Stable) @NotNull public List<String> getPermissions()
      The permissions granted or revoked.
    • setPermissions

      @Stability(Stable) public void setPermissions(@NotNull List<String> value)
      The permissions granted or revoked.
    • getPermissionsWithGrantOption

      @Stability(Stable) @NotNull public List<String> getPermissionsWithGrantOption()
      Indicates the ability to grant permissions (as a subset of permissions granted).
    • setPermissionsWithGrantOption

      @Stability(Stable) public void setPermissionsWithGrantOption(@NotNull List<String> value)
      Indicates the ability to grant permissions (as a subset of permissions granted).
    • getPrincipal

      @Stability(Stable) @NotNull public Object getPrincipal()
      The principal to be granted a permission.
    • setPrincipal

      @Stability(Stable) public void setPrincipal(@NotNull IResolvable value)
      The principal to be granted a permission.
    • setPrincipal

      @Stability(Stable) public void setPrincipal(@NotNull CfnPrincipalPermissions.DataLakePrincipalProperty value)
      The principal to be granted a permission.
    • getResource

      @Stability(Stable) @NotNull public Object getResource()
      The resource to be granted or revoked permissions.
    • setResource

      @Stability(Stable) public void setResource(@NotNull IResolvable value)
      The resource to be granted or revoked permissions.
    • setResource

      @Stability(Stable) public void setResource(@NotNull CfnPrincipalPermissions.ResourceProperty value)
      The resource to be granted or revoked permissions.
    • getCatalog

      @Stability(Stable) @Nullable public String getCatalog()
      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.

    • setCatalog

      @Stability(Stable) public void setCatalog(@Nullable String 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.