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

com.pulumi.awsnative.secretsmanager.kotlin.SecretsmanagerFunctions.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.secretsmanager.kotlin

import com.pulumi.awsnative.secretsmanager.SecretsmanagerFunctions.getResourcePolicyPlain
import com.pulumi.awsnative.secretsmanager.SecretsmanagerFunctions.getSecretPlain
import com.pulumi.awsnative.secretsmanager.kotlin.inputs.GetResourcePolicyPlainArgs
import com.pulumi.awsnative.secretsmanager.kotlin.inputs.GetResourcePolicyPlainArgsBuilder
import com.pulumi.awsnative.secretsmanager.kotlin.inputs.GetSecretPlainArgs
import com.pulumi.awsnative.secretsmanager.kotlin.inputs.GetSecretPlainArgsBuilder
import com.pulumi.awsnative.secretsmanager.kotlin.outputs.GetResourcePolicyResult
import com.pulumi.awsnative.secretsmanager.kotlin.outputs.GetSecretResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.awsnative.secretsmanager.kotlin.outputs.GetResourcePolicyResult.Companion.toKotlin as getResourcePolicyResultToKotlin
import com.pulumi.awsnative.secretsmanager.kotlin.outputs.GetSecretResult.Companion.toKotlin as getSecretResultToKotlin

public object SecretsmanagerFunctions {
    /**
     * Resource Type definition for AWS::SecretsManager::ResourcePolicy
     * @param argument null
     * @return null
     */
    public suspend fun getResourcePolicy(argument: GetResourcePolicyPlainArgs): GetResourcePolicyResult =
        getResourcePolicyResultToKotlin(getResourcePolicyPlain(argument.toJava()).await())

    /**
     * @see [getResourcePolicy].
     * @param id The Arn of the secret.
     * @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.secretsmanager.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())
    }

    /**
     * Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.
     *  For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).
     *  To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).
     *  A common scenario is to first create a secret with ``GenerateSecretString``, which generates a password, and then use a dynamic reference to retrieve the username and password from the secret to use as credentials for a new database. See the example *Creating a Redshift cluster and a secret for the admin credentials*.
     *  For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).
     *  For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html).
     * @param argument null
     * @return null
     */
    public suspend fun getSecret(argument: GetSecretPlainArgs): GetSecretResult =
        getSecretResultToKotlin(getSecretPlain(argument.toJava()).await())

    /**
     * @see [getSecret].
     * @param id The ARN of the secret.
     * @return null
     */
    public suspend fun getSecret(id: String): GetSecretResult {
        val argument = GetSecretPlainArgs(
            id = id,
        )
        return getSecretResultToKotlin(getSecretPlain(argument.toJava()).await())
    }

    /**
     * @see [getSecret].
     * @param argument Builder for [com.pulumi.awsnative.secretsmanager.kotlin.inputs.GetSecretPlainArgs].
     * @return null
     */
    public suspend fun getSecret(argument: suspend GetSecretPlainArgsBuilder.() -> Unit): GetSecretResult {
        val builder = GetSecretPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSecretResultToKotlin(getSecretPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy