All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsResource.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.lakeformation.kotlin.outputs

import kotlin.Suppress

/**
 * A structure for the resource.
 * @property catalog 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 LFlong environment.
 * @property dataCellsFilter A data cell filter.
 * @property dataLocation The location of an Amazon S3 path where permissions are granted or revoked.
 * @property database The database for the resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database permissions to a principal.
 * @property lfTag The LF-tag key and values attached to a resource.
 * @property lfTagPolicy A list of LF-tag conditions that define a resource's LF-tag policy.
 * @property table The table for the resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.
 * @property tableWithColumns The table with columns for the resource. A principal with permissions to this resource can select metadata from the columns of a table in the Data Catalog and the underlying data in Amazon S3.
 */
public data class PrincipalPermissionsResource(
    public val catalog: PrincipalPermissionsCatalogResource? = null,
    public val dataCellsFilter: PrincipalPermissionsDataCellsFilterResource? = null,
    public val dataLocation: PrincipalPermissionsDataLocationResource? = null,
    public val database: PrincipalPermissionsDatabaseResource? = null,
    public val lfTag: PrincipalPermissionsLfTagKeyResource? = null,
    public val lfTagPolicy: PrincipalPermissionsLfTagPolicyResource? = null,
    public val table: PrincipalPermissionsTableResource? = null,
    public val tableWithColumns: PrincipalPermissionsTableWithColumnsResource? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.lakeformation.outputs.PrincipalPermissionsResource): PrincipalPermissionsResource = PrincipalPermissionsResource(
            catalog = javaType.catalog().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsCatalogResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
            dataCellsFilter = javaType.dataCellsFilter().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsDataCellsFilterResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
            dataLocation = javaType.dataLocation().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsDataLocationResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
            database = javaType.database().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsDatabaseResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
            lfTag = javaType.lfTag().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsLfTagKeyResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
            lfTagPolicy = javaType.lfTagPolicy().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsLfTagPolicyResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
            table = javaType.table().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsTableResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
            tableWithColumns = javaType.tableWithColumns().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.lakeformation.kotlin.outputs.PrincipalPermissionsTableWithColumnsResource.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy