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

commonMain.aws.sdk.kotlin.services.verifiedpermissions.model.PolicyDefinitionDetail.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.verifiedpermissions.model



/**
 * A structure that describes a policy definition. It must always have either an `static` or a `templateLinked` element.
 *
 * This data type is used as a response parameter for the [GetPolicy](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetPolicy.html) operation.
 */
public sealed class PolicyDefinitionDetail {
    /**
     * Information about a static policy that wasn't created with a policy template.
     */
    public data class Static(val value: aws.sdk.kotlin.services.verifiedpermissions.model.StaticPolicyDefinitionDetail) : aws.sdk.kotlin.services.verifiedpermissions.model.PolicyDefinitionDetail() {
    }

    /**
     * Information about a template-linked policy that was created by instantiating a policy template.
     */
    public data class TemplateLinked(val value: aws.sdk.kotlin.services.verifiedpermissions.model.TemplateLinkedPolicyDefinitionDetail) : aws.sdk.kotlin.services.verifiedpermissions.model.PolicyDefinitionDetail() {
    }

    public object SdkUnknown : aws.sdk.kotlin.services.verifiedpermissions.model.PolicyDefinitionDetail() {
    }

    /**
     * Casts this [PolicyDefinitionDetail] as a [Static] and retrieves its [aws.sdk.kotlin.services.verifiedpermissions.model.StaticPolicyDefinitionDetail] value. Throws an exception if the [PolicyDefinitionDetail] is not a
     * [Static].
     */
    public fun asStatic(): aws.sdk.kotlin.services.verifiedpermissions.model.StaticPolicyDefinitionDetail = (this as PolicyDefinitionDetail.Static).value

    /**
     * Casts this [PolicyDefinitionDetail] as a [Static] and retrieves its [aws.sdk.kotlin.services.verifiedpermissions.model.StaticPolicyDefinitionDetail] value. Returns null if the [PolicyDefinitionDetail] is not a [Static].
     */
    public fun asStaticOrNull(): aws.sdk.kotlin.services.verifiedpermissions.model.StaticPolicyDefinitionDetail? = (this as? PolicyDefinitionDetail.Static)?.value

    /**
     * Casts this [PolicyDefinitionDetail] as a [TemplateLinked] and retrieves its [aws.sdk.kotlin.services.verifiedpermissions.model.TemplateLinkedPolicyDefinitionDetail] value. Throws an exception if the [PolicyDefinitionDetail] is not a
     * [TemplateLinked].
     */
    public fun asTemplateLinked(): aws.sdk.kotlin.services.verifiedpermissions.model.TemplateLinkedPolicyDefinitionDetail = (this as PolicyDefinitionDetail.TemplateLinked).value

    /**
     * Casts this [PolicyDefinitionDetail] as a [TemplateLinked] and retrieves its [aws.sdk.kotlin.services.verifiedpermissions.model.TemplateLinkedPolicyDefinitionDetail] value. Returns null if the [PolicyDefinitionDetail] is not a [TemplateLinked].
     */
    public fun asTemplateLinkedOrNull(): aws.sdk.kotlin.services.verifiedpermissions.model.TemplateLinkedPolicyDefinitionDetail? = (this as? PolicyDefinitionDetail.TemplateLinked)?.value
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy