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

com.pulumi.awsnative.organizations.kotlin.OrganizationsFunctions.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.organizations.kotlin

import com.pulumi.awsnative.organizations.OrganizationsFunctions.getAccountPlain
import com.pulumi.awsnative.organizations.OrganizationsFunctions.getOrganizationPlain
import com.pulumi.awsnative.organizations.OrganizationsFunctions.getOrganizationalUnitPlain
import com.pulumi.awsnative.organizations.OrganizationsFunctions.getPolicyPlain
import com.pulumi.awsnative.organizations.OrganizationsFunctions.getResourcePolicyPlain
import com.pulumi.awsnative.organizations.kotlin.inputs.GetAccountPlainArgs
import com.pulumi.awsnative.organizations.kotlin.inputs.GetAccountPlainArgsBuilder
import com.pulumi.awsnative.organizations.kotlin.inputs.GetOrganizationPlainArgs
import com.pulumi.awsnative.organizations.kotlin.inputs.GetOrganizationPlainArgsBuilder
import com.pulumi.awsnative.organizations.kotlin.inputs.GetOrganizationalUnitPlainArgs
import com.pulumi.awsnative.organizations.kotlin.inputs.GetOrganizationalUnitPlainArgsBuilder
import com.pulumi.awsnative.organizations.kotlin.inputs.GetPolicyPlainArgs
import com.pulumi.awsnative.organizations.kotlin.inputs.GetPolicyPlainArgsBuilder
import com.pulumi.awsnative.organizations.kotlin.inputs.GetResourcePolicyPlainArgs
import com.pulumi.awsnative.organizations.kotlin.inputs.GetResourcePolicyPlainArgsBuilder
import com.pulumi.awsnative.organizations.kotlin.outputs.GetAccountResult
import com.pulumi.awsnative.organizations.kotlin.outputs.GetOrganizationResult
import com.pulumi.awsnative.organizations.kotlin.outputs.GetOrganizationalUnitResult
import com.pulumi.awsnative.organizations.kotlin.outputs.GetPolicyResult
import com.pulumi.awsnative.organizations.kotlin.outputs.GetResourcePolicyResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.awsnative.organizations.kotlin.outputs.GetAccountResult.Companion.toKotlin as getAccountResultToKotlin
import com.pulumi.awsnative.organizations.kotlin.outputs.GetOrganizationResult.Companion.toKotlin as getOrganizationResultToKotlin
import com.pulumi.awsnative.organizations.kotlin.outputs.GetOrganizationalUnitResult.Companion.toKotlin as getOrganizationalUnitResultToKotlin
import com.pulumi.awsnative.organizations.kotlin.outputs.GetPolicyResult.Companion.toKotlin as getPolicyResultToKotlin
import com.pulumi.awsnative.organizations.kotlin.outputs.GetResourcePolicyResult.Companion.toKotlin as getResourcePolicyResultToKotlin

public object OrganizationsFunctions {
    /**
     * You can use AWS::Organizations::Account to manage accounts in organization.
     * @param argument null
     * @return null
     */
    public suspend fun getAccount(argument: GetAccountPlainArgs): GetAccountResult =
        getAccountResultToKotlin(getAccountPlain(argument.toJava()).await())

    /**
     * @see [getAccount].
     * @param accountId If the account was created successfully, the unique identifier (ID) of the new account.
     * @return null
     */
    public suspend fun getAccount(accountId: String): GetAccountResult {
        val argument = GetAccountPlainArgs(
            accountId = accountId,
        )
        return getAccountResultToKotlin(getAccountPlain(argument.toJava()).await())
    }

    /**
     * @see [getAccount].
     * @param argument Builder for [com.pulumi.awsnative.organizations.kotlin.inputs.GetAccountPlainArgs].
     * @return null
     */
    public suspend fun getAccount(argument: suspend GetAccountPlainArgsBuilder.() -> Unit): GetAccountResult {
        val builder = GetAccountPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAccountResultToKotlin(getAccountPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource schema for AWS::Organizations::Organization
     * @param argument null
     * @return null
     */
    public suspend fun getOrganization(argument: GetOrganizationPlainArgs): GetOrganizationResult =
        getOrganizationResultToKotlin(getOrganizationPlain(argument.toJava()).await())

    /**
     * @see [getOrganization].
     * @param id The unique identifier (ID) of an organization.
     * @return null
     */
    public suspend fun getOrganization(id: String): GetOrganizationResult {
        val argument = GetOrganizationPlainArgs(
            id = id,
        )
        return getOrganizationResultToKotlin(getOrganizationPlain(argument.toJava()).await())
    }

    /**
     * @see [getOrganization].
     * @param argument Builder for [com.pulumi.awsnative.organizations.kotlin.inputs.GetOrganizationPlainArgs].
     * @return null
     */
    public suspend fun getOrganization(argument: suspend GetOrganizationPlainArgsBuilder.() -> Unit): GetOrganizationResult {
        val builder = GetOrganizationPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getOrganizationResultToKotlin(getOrganizationPlain(builtArgument.toJava()).await())
    }

    /**
     * You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root.
     * @param argument null
     * @return null
     */
    public suspend fun getOrganizationalUnit(argument: GetOrganizationalUnitPlainArgs): GetOrganizationalUnitResult =
        getOrganizationalUnitResultToKotlin(getOrganizationalUnitPlain(argument.toJava()).await())

    /**
     * @see [getOrganizationalUnit].
     * @param id The unique identifier (ID) associated with this OU.
     * @return null
     */
    public suspend fun getOrganizationalUnit(id: String): GetOrganizationalUnitResult {
        val argument = GetOrganizationalUnitPlainArgs(
            id = id,
        )
        return getOrganizationalUnitResultToKotlin(getOrganizationalUnitPlain(argument.toJava()).await())
    }

    /**
     * @see [getOrganizationalUnit].
     * @param argument Builder for [com.pulumi.awsnative.organizations.kotlin.inputs.GetOrganizationalUnitPlainArgs].
     * @return null
     */
    public suspend fun getOrganizationalUnit(argument: suspend GetOrganizationalUnitPlainArgsBuilder.() -> Unit): GetOrganizationalUnitResult {
        val builder = GetOrganizationalUnitPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getOrganizationalUnitResultToKotlin(getOrganizationalUnitPlain(builtArgument.toJava()).await())
    }

    /**
     * Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization.  You can use policies when all features are enabled in your organization.
     * @param argument null
     * @return null
     */
    public suspend fun getPolicy(argument: GetPolicyPlainArgs): GetPolicyResult =
        getPolicyResultToKotlin(getPolicyPlain(argument.toJava()).await())

    /**
     * @see [getPolicy].
     * @param id Id of the Policy
     * @return null
     */
    public suspend fun getPolicy(id: String): GetPolicyResult {
        val argument = GetPolicyPlainArgs(
            id = id,
        )
        return getPolicyResultToKotlin(getPolicyPlain(argument.toJava()).await())
    }

    /**
     * @see [getPolicy].
     * @param argument Builder for [com.pulumi.awsnative.organizations.kotlin.inputs.GetPolicyPlainArgs].
     * @return null
     */
    public suspend fun getPolicy(argument: suspend GetPolicyPlainArgsBuilder.() -> Unit): GetPolicyResult {
        val builder = GetPolicyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getPolicyResultToKotlin(getPolicyPlain(builtArgument.toJava()).await())
    }

    /**
     * You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account.
     * @param argument null
     * @return null
     */
    public suspend fun getResourcePolicy(argument: GetResourcePolicyPlainArgs): GetResourcePolicyResult =
        getResourcePolicyResultToKotlin(getResourcePolicyPlain(argument.toJava()).await())

    /**
     * @see [getResourcePolicy].
     * @param id The unique identifier (ID) associated with this resource policy.
     * @return null
     */
    public suspend fun getResourcePolicy(id: String): GetResourcePolicyResult {
        val argument = GetResourcePolicyPlainArgs(
            id = id,
        )
        return getResourcePolicyResultToKotlin(getResourcePolicyPlain(argument.toJava()).await())
    }

    /**
     * @see [getResourcePolicy].
     * @param argument Builder for [com.pulumi.awsnative.organizations.kotlin.inputs.GetResourcePolicyPlainArgs].
     * @return null
     */
    public suspend fun getResourcePolicy(argument: suspend GetResourcePolicyPlainArgsBuilder.() -> Unit): GetResourcePolicyResult {
        val builder = GetResourcePolicyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getResourcePolicyResultToKotlin(getResourcePolicyPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy