com.pulumi.gcp.bigquery.kotlin.outputs.DatasetAccess.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.bigquery.kotlin.outputs
import kotlin.String
import kotlin.Suppress
/**
*
* @property dataset Grants all resources of particular types in a particular dataset read access to the current dataset.
* Structure is documented below.
* @property domain A domain to grant access to. Any users signed in with the
* domain specified will be granted the specified access
* @property groupByEmail An email address of a Google Group to grant access to.
* @property iamMember Some other type of member that appears in the IAM Policy but isn't a user,
* group, domain, or special group. For example: `allUsers`
* @property role Describes the rights granted to the user specified by the other
* member of the access object. Basic, predefined, and custom roles
* are supported. Predefined roles that have equivalent basic roles
* are swapped by the API to their basic counterparts. See
* [official docs](https://cloud.google.com/bigquery/docs/access-control).
* @property routine A routine from a different dataset to grant access to. Queries
* executed against that routine will have read access to tables in
* this dataset. The role field is not required when this field is
* set. If that routine is updated by any user, access to the routine
* needs to be granted again via an update operation.
* Structure is documented below.
* @property specialGroup A special group to grant access to. Possible values include:
* * `projectOwners`: Owners of the enclosing project.
* * `projectReaders`: Readers of the enclosing project.
* * `projectWriters`: Writers of the enclosing project.
* * `allAuthenticatedUsers`: All authenticated BigQuery users.
* @property userByEmail An email address of a user to grant access to. For example:
* [email protected]
* @property view A view from a different dataset to grant access to. Queries
* executed against that view will have read access to tables in
* this dataset. The role field is not required when this field is
* set. If that view is updated by any user, access to the view
* needs to be granted again via an update operation.
* Structure is documented below.
*/
public data class DatasetAccess(
public val dataset: DatasetAccessDataset? = null,
public val domain: String? = null,
public val groupByEmail: String? = null,
public val iamMember: String? = null,
public val role: String? = null,
public val routine: DatasetAccessRoutine? = null,
public val specialGroup: String? = null,
public val userByEmail: String? = null,
public val view: DatasetAccessView? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.bigquery.outputs.DatasetAccess): DatasetAccess =
DatasetAccess(
dataset = javaType.dataset().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.bigquery.kotlin.outputs.DatasetAccessDataset.Companion.toKotlin(args0)
})
}).orElse(null),
domain = javaType.domain().map({ args0 -> args0 }).orElse(null),
groupByEmail = javaType.groupByEmail().map({ args0 -> args0 }).orElse(null),
iamMember = javaType.iamMember().map({ args0 -> args0 }).orElse(null),
role = javaType.role().map({ args0 -> args0 }).orElse(null),
routine = javaType.routine().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.bigquery.kotlin.outputs.DatasetAccessRoutine.Companion.toKotlin(args0)
})
}).orElse(null),
specialGroup = javaType.specialGroup().map({ args0 -> args0 }).orElse(null),
userByEmail = javaType.userByEmail().map({ args0 -> args0 }).orElse(null),
view = javaType.view().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.bigquery.kotlin.outputs.DatasetAccessView.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy