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

commonMain.aws.sdk.kotlin.services.datazone.model.PolicyGrantPrincipal.kt Maven / Gradle / Ivy

There is a newer version: 1.3.76
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.datazone.model



/**
 * The policy grant principal.
 */
public sealed class PolicyGrantPrincipal {
    /**
     * The domain unit of the policy grant principal.
     */
    public data class DomainUnit(val value: aws.sdk.kotlin.services.datazone.model.DomainUnitPolicyGrantPrincipal) : aws.sdk.kotlin.services.datazone.model.PolicyGrantPrincipal() {
    }

    /**
     * The group of the policy grant principal.
     */
    public data class Group(val value: aws.sdk.kotlin.services.datazone.model.GroupPolicyGrantPrincipal) : aws.sdk.kotlin.services.datazone.model.PolicyGrantPrincipal() {
    }

    /**
     * The project of the policy grant principal.
     */
    public data class Project(val value: aws.sdk.kotlin.services.datazone.model.ProjectPolicyGrantPrincipal) : aws.sdk.kotlin.services.datazone.model.PolicyGrantPrincipal() {
    }

    /**
     * The user of the policy grant principal.
     */
    public data class User(val value: aws.sdk.kotlin.services.datazone.model.UserPolicyGrantPrincipal) : aws.sdk.kotlin.services.datazone.model.PolicyGrantPrincipal() {
    }

    public object SdkUnknown : aws.sdk.kotlin.services.datazone.model.PolicyGrantPrincipal() {
    }

    /**
     * Casts this [PolicyGrantPrincipal] as a [DomainUnit] and retrieves its [aws.sdk.kotlin.services.datazone.model.DomainUnitPolicyGrantPrincipal] value. Throws an exception if the [PolicyGrantPrincipal] is not a
     * [DomainUnit].
     */
    public fun asDomainUnit(): aws.sdk.kotlin.services.datazone.model.DomainUnitPolicyGrantPrincipal = (this as PolicyGrantPrincipal.DomainUnit).value

    /**
     * Casts this [PolicyGrantPrincipal] as a [DomainUnit] and retrieves its [aws.sdk.kotlin.services.datazone.model.DomainUnitPolicyGrantPrincipal] value. Returns null if the [PolicyGrantPrincipal] is not a [DomainUnit].
     */
    public fun asDomainUnitOrNull(): aws.sdk.kotlin.services.datazone.model.DomainUnitPolicyGrantPrincipal? = (this as? PolicyGrantPrincipal.DomainUnit)?.value

    /**
     * Casts this [PolicyGrantPrincipal] as a [Group] and retrieves its [aws.sdk.kotlin.services.datazone.model.GroupPolicyGrantPrincipal] value. Throws an exception if the [PolicyGrantPrincipal] is not a
     * [Group].
     */
    public fun asGroup(): aws.sdk.kotlin.services.datazone.model.GroupPolicyGrantPrincipal = (this as PolicyGrantPrincipal.Group).value

    /**
     * Casts this [PolicyGrantPrincipal] as a [Group] and retrieves its [aws.sdk.kotlin.services.datazone.model.GroupPolicyGrantPrincipal] value. Returns null if the [PolicyGrantPrincipal] is not a [Group].
     */
    public fun asGroupOrNull(): aws.sdk.kotlin.services.datazone.model.GroupPolicyGrantPrincipal? = (this as? PolicyGrantPrincipal.Group)?.value

    /**
     * Casts this [PolicyGrantPrincipal] as a [Project] and retrieves its [aws.sdk.kotlin.services.datazone.model.ProjectPolicyGrantPrincipal] value. Throws an exception if the [PolicyGrantPrincipal] is not a
     * [Project].
     */
    public fun asProject(): aws.sdk.kotlin.services.datazone.model.ProjectPolicyGrantPrincipal = (this as PolicyGrantPrincipal.Project).value

    /**
     * Casts this [PolicyGrantPrincipal] as a [Project] and retrieves its [aws.sdk.kotlin.services.datazone.model.ProjectPolicyGrantPrincipal] value. Returns null if the [PolicyGrantPrincipal] is not a [Project].
     */
    public fun asProjectOrNull(): aws.sdk.kotlin.services.datazone.model.ProjectPolicyGrantPrincipal? = (this as? PolicyGrantPrincipal.Project)?.value

    /**
     * Casts this [PolicyGrantPrincipal] as a [User] and retrieves its [aws.sdk.kotlin.services.datazone.model.UserPolicyGrantPrincipal] value. Throws an exception if the [PolicyGrantPrincipal] is not a
     * [User].
     */
    public fun asUser(): aws.sdk.kotlin.services.datazone.model.UserPolicyGrantPrincipal = (this as PolicyGrantPrincipal.User).value

    /**
     * Casts this [PolicyGrantPrincipal] as a [User] and retrieves its [aws.sdk.kotlin.services.datazone.model.UserPolicyGrantPrincipal] value. Returns null if the [PolicyGrantPrincipal] is not a [User].
     */
    public fun asUserOrNull(): aws.sdk.kotlin.services.datazone.model.UserPolicyGrantPrincipal? = (this as? PolicyGrantPrincipal.User)?.value
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy