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

commonMain.aws.sdk.kotlin.services.verifiedpermissions.model.PolicyDefinitionItem.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 [PolicyDefinintion](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_PolicyDefinintion.html). It will always have either an `StaticPolicy` or a `TemplateLinkedPolicy` element.
 *
 * This data type is used as a response parameter for the [CreatePolicy](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html) and [ListPolicies](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicies.html) operations.
 */
public sealed class PolicyDefinitionItem {
    /**
     * 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.StaticPolicyDefinitionItem) : aws.sdk.kotlin.services.verifiedpermissions.model.PolicyDefinitionItem() {
    }

    /**
     * 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.TemplateLinkedPolicyDefinitionItem) : aws.sdk.kotlin.services.verifiedpermissions.model.PolicyDefinitionItem() {
    }

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

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy