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

com.pulumi.aws.s3.kotlin.outputs.ObjectCopyGrant.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.s3.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property email Email address of the grantee. Used only when `type` is `AmazonCustomerByEmail`.
 * @property id Canonical user ID of the grantee. Used only when `type` is `CanonicalUser`.
 * @property permissions List of permissions to grant to grantee. Valid values are `READ`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.
 * @property type Type of grantee. Valid values are `CanonicalUser`, `Group`, and `AmazonCustomerByEmail`.
 * This configuration block has the following optional arguments (one of the three is required):
 * @property uri URI of the grantee group. Used only when `type` is `Group`.
 */
public data class ObjectCopyGrant(
    public val email: String? = null,
    public val id: String? = null,
    public val permissions: List,
    public val type: String,
    public val uri: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.aws.s3.outputs.ObjectCopyGrant): ObjectCopyGrant =
            ObjectCopyGrant(
                email = javaType.email().map({ args0 -> args0 }).orElse(null),
                id = javaType.id().map({ args0 -> args0 }).orElse(null),
                permissions = javaType.permissions().map({ args0 -> args0 }),
                type = javaType.type(),
                uri = javaType.uri().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy