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

com.pulumi.awsnative.rds.kotlin.RdsFunctions.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.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.rds.kotlin

import com.pulumi.awsnative.rds.RdsFunctions.getCustomDbEngineVersionPlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbClusterParameterGroupPlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbClusterPlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbInstancePlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbParameterGroupPlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbProxyEndpointPlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbProxyPlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbProxyTargetGroupPlain
import com.pulumi.awsnative.rds.RdsFunctions.getDbSubnetGroupPlain
import com.pulumi.awsnative.rds.RdsFunctions.getEventSubscriptionPlain
import com.pulumi.awsnative.rds.RdsFunctions.getGlobalClusterPlain
import com.pulumi.awsnative.rds.RdsFunctions.getIntegrationPlain
import com.pulumi.awsnative.rds.RdsFunctions.getOptionGroupPlain
import com.pulumi.awsnative.rds.kotlin.inputs.GetCustomDbEngineVersionPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetCustomDbEngineVersionPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbClusterParameterGroupPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbClusterParameterGroupPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbClusterPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbClusterPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbInstancePlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbInstancePlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbParameterGroupPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbParameterGroupPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyEndpointPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyEndpointPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyTargetGroupPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyTargetGroupPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbSubnetGroupPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetDbSubnetGroupPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetEventSubscriptionPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetEventSubscriptionPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetGlobalClusterPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetGlobalClusterPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetIntegrationPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetIntegrationPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.inputs.GetOptionGroupPlainArgs
import com.pulumi.awsnative.rds.kotlin.inputs.GetOptionGroupPlainArgsBuilder
import com.pulumi.awsnative.rds.kotlin.outputs.GetCustomDbEngineVersionResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbClusterParameterGroupResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbClusterResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbInstanceResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbParameterGroupResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbProxyEndpointResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbProxyResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbProxyTargetGroupResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbSubnetGroupResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetEventSubscriptionResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetGlobalClusterResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetIntegrationResult
import com.pulumi.awsnative.rds.kotlin.outputs.GetOptionGroupResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.awsnative.rds.kotlin.outputs.GetCustomDbEngineVersionResult.Companion.toKotlin as getCustomDbEngineVersionResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbClusterParameterGroupResult.Companion.toKotlin as getDbClusterParameterGroupResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbClusterResult.Companion.toKotlin as getDbClusterResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbInstanceResult.Companion.toKotlin as getDbInstanceResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbParameterGroupResult.Companion.toKotlin as getDbParameterGroupResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbProxyEndpointResult.Companion.toKotlin as getDbProxyEndpointResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbProxyResult.Companion.toKotlin as getDbProxyResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbProxyTargetGroupResult.Companion.toKotlin as getDbProxyTargetGroupResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetDbSubnetGroupResult.Companion.toKotlin as getDbSubnetGroupResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetEventSubscriptionResult.Companion.toKotlin as getEventSubscriptionResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetGlobalClusterResult.Companion.toKotlin as getGlobalClusterResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetIntegrationResult.Companion.toKotlin as getIntegrationResultToKotlin
import com.pulumi.awsnative.rds.kotlin.outputs.GetOptionGroupResult.Companion.toKotlin as getOptionGroupResultToKotlin

public object RdsFunctions {
    /**
     * The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version.
     * @param argument null
     * @return null
     */
    public suspend fun getCustomDbEngineVersion(argument: GetCustomDbEngineVersionPlainArgs): GetCustomDbEngineVersionResult =
        getCustomDbEngineVersionResultToKotlin(getCustomDbEngineVersionPlain(argument.toJava()).await())

    /**
     * @see [getCustomDbEngineVersion].
     * @param engine The database engine to use for your custom engine version (CEV). The only supported value is `custom-oracle-ee`.
     * @param engineVersion The name of your CEV. The name format is 19.customized_string . For example, a valid name is 19.my_cev1. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of Engine and EngineVersion is unique per customer per Region.
     * @return null
     */
    public suspend fun getCustomDbEngineVersion(engine: String, engineVersion: String): GetCustomDbEngineVersionResult {
        val argument = GetCustomDbEngineVersionPlainArgs(
            engine = engine,
            engineVersion = engineVersion,
        )
        return getCustomDbEngineVersionResultToKotlin(getCustomDbEngineVersionPlain(argument.toJava()).await())
    }

    /**
     * @see [getCustomDbEngineVersion].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetCustomDbEngineVersionPlainArgs].
     * @return null
     */
    public suspend fun getCustomDbEngineVersion(argument: suspend GetCustomDbEngineVersionPlainArgsBuilder.() -> Unit): GetCustomDbEngineVersionResult {
        val builder = GetCustomDbEngineVersionPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getCustomDbEngineVersionResultToKotlin(getCustomDbEngineVersionPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.
     *  For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.
     *  For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.
     *   You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.
     *     *Updating DB clusters*
     *  When properties labeled "*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.
     *   We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:
     *   1.  Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.
     *   1.  Create a snapshot of the DB cluster. For more information, see [Creating a DB Cluster Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).
     *   1.  If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.
     *  After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.
     *   1.  Update the stack.
     *   Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.
     *  For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).
     *   *Deleting DB clusters*
     *  The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).
     * @param argument null
     * @return null
     */
    public suspend fun getDbCluster(argument: GetDbClusterPlainArgs): GetDbClusterResult =
        getDbClusterResultToKotlin(getDbClusterPlain(argument.toJava()).await())

    /**
     * @see [getDbCluster].
     * @param dbClusterIdentifier The DB cluster identifier. This parameter is stored as a lowercase string.
     *  Constraints:
     *   +  Must contain from 1 to 63 letters, numbers, or hyphens.
     *   +  First character must be a letter.
     *   +  Can't end with a hyphen or contain two consecutive hyphens.
     *  Example: ``my-cluster1``
     *  Valid for: Aurora DB clusters and Multi-AZ DB clusters
     * @return null
     */
    public suspend fun getDbCluster(dbClusterIdentifier: String): GetDbClusterResult {
        val argument = GetDbClusterPlainArgs(
            dbClusterIdentifier = dbClusterIdentifier,
        )
        return getDbClusterResultToKotlin(getDbClusterPlain(argument.toJava()).await())
    }

    /**
     * @see [getDbCluster].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbClusterPlainArgs].
     * @return null
     */
    public suspend fun getDbCluster(argument: suspend GetDbClusterPlainArgsBuilder.() -> Unit): GetDbClusterResult {
        val builder = GetDbClusterPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbClusterResultToKotlin(getDbClusterPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.
     *  For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.
     *   If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.
     *  If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started.
     * @param argument null
     * @return null
     */
    public suspend fun getDbClusterParameterGroup(argument: GetDbClusterParameterGroupPlainArgs): GetDbClusterParameterGroupResult =
        getDbClusterParameterGroupResultToKotlin(getDbClusterParameterGroupPlain(argument.toJava()).await())

    /**
     * @see [getDbClusterParameterGroup].
     * @param dbClusterParameterGroupName The name of the DB cluster parameter group.
     *  Constraints:
     *   +  Must not match the name of an existing DB cluster parameter group.
     *  If you don't specify a value for ``DBClusterParameterGroupName`` property, a name is automatically created for the DB cluster parameter group.
     *   This value is stored as a lowercase string.
     * @return null
     */
    public suspend fun getDbClusterParameterGroup(dbClusterParameterGroupName: String): GetDbClusterParameterGroupResult {
        val argument = GetDbClusterParameterGroupPlainArgs(
            dbClusterParameterGroupName = dbClusterParameterGroupName,
        )
        return getDbClusterParameterGroupResultToKotlin(getDbClusterParameterGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getDbClusterParameterGroup].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbClusterParameterGroupPlainArgs].
     * @return null
     */
    public suspend fun getDbClusterParameterGroup(argument: suspend GetDbClusterParameterGroupPlainArgsBuilder.() -> Unit): GetDbClusterParameterGroupResult {
        val builder = GetDbClusterParameterGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbClusterParameterGroupResultToKotlin(getDbClusterParameterGroupPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.
     *  For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.
     *  For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.
     *  If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.
     *   If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).
     *     *Updating DB instances*
     *  When properties labeled "*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.
     *   We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:
     *   1.  Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.
     *   1.  Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).
     *   1.  If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.
     *  After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.
     *   1.  Update the stack.
     *   For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).
     *   *Deleting DB instances*
     *  For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:
     *   1.  For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.
     *   1.   For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.
     *   For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).
     * @param argument null
     * @return null
     */
    public suspend fun getDbInstance(argument: GetDbInstancePlainArgs): GetDbInstanceResult =
        getDbInstanceResultToKotlin(getDbInstancePlain(argument.toJava()).await())

    /**
     * @see [getDbInstance].
     * @param dbInstanceIdentifier A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
     *  For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide*.
     *   If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
     * @return null
     */
    public suspend fun getDbInstance(dbInstanceIdentifier: String): GetDbInstanceResult {
        val argument = GetDbInstancePlainArgs(
            dbInstanceIdentifier = dbInstanceIdentifier,
        )
        return getDbInstanceResultToKotlin(getDbInstancePlain(argument.toJava()).await())
    }

    /**
     * @see [getDbInstance].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbInstancePlainArgs].
     * @return null
     */
    public suspend fun getDbInstance(argument: suspend GetDbInstancePlainArgsBuilder.() -> Unit): GetDbInstanceResult {
        val builder = GetDbInstancePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbInstanceResultToKotlin(getDbInstancePlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.
     *  This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.
     *  For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.
     *  For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.
     *   Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot.
     * @param argument null
     * @return null
     */
    public suspend fun getDbParameterGroup(argument: GetDbParameterGroupPlainArgs): GetDbParameterGroupResult =
        getDbParameterGroupResultToKotlin(getDbParameterGroupPlain(argument.toJava()).await())

    /**
     * @see [getDbParameterGroup].
     * @param dbParameterGroupName The name of the DB parameter group.
     *  Constraints:
     *   +  Must be 1 to 255 letters, numbers, or hyphens.
     *   +  First character must be a letter
     *   +  Can't end with a hyphen or contain two consecutive hyphens
     *  If you don't specify a value for ``DBParameterGroupName`` property, a name is automatically created for the DB parameter group.
     *   This value is stored as a lowercase string.
     * @return null
     */
    public suspend fun getDbParameterGroup(dbParameterGroupName: String): GetDbParameterGroupResult {
        val argument = GetDbParameterGroupPlainArgs(
            dbParameterGroupName = dbParameterGroupName,
        )
        return getDbParameterGroupResultToKotlin(getDbParameterGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getDbParameterGroup].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbParameterGroupPlainArgs].
     * @return null
     */
    public suspend fun getDbParameterGroup(argument: suspend GetDbParameterGroupPlainArgsBuilder.() -> Unit): GetDbParameterGroupResult {
        val builder = GetDbParameterGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbParameterGroupResultToKotlin(getDbParameterGroupPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource schema for AWS::RDS::DBProxy
     * @param argument null
     * @return null
     */
    public suspend fun getDbProxy(argument: GetDbProxyPlainArgs): GetDbProxyResult =
        getDbProxyResultToKotlin(getDbProxyPlain(argument.toJava()).await())

    /**
     * @see [getDbProxy].
     * @param dbProxyName The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region.
     * @return null
     */
    public suspend fun getDbProxy(dbProxyName: String): GetDbProxyResult {
        val argument = GetDbProxyPlainArgs(
            dbProxyName = dbProxyName,
        )
        return getDbProxyResultToKotlin(getDbProxyPlain(argument.toJava()).await())
    }

    /**
     * @see [getDbProxy].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyPlainArgs].
     * @return null
     */
    public suspend fun getDbProxy(argument: suspend GetDbProxyPlainArgsBuilder.() -> Unit): GetDbProxyResult {
        val builder = GetDbProxyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbProxyResultToKotlin(getDbProxyPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource schema for AWS::RDS::DBProxyEndpoint.
     * @param argument null
     * @return null
     */
    public suspend fun getDbProxyEndpoint(argument: GetDbProxyEndpointPlainArgs): GetDbProxyEndpointResult =
        getDbProxyEndpointResultToKotlin(getDbProxyEndpointPlain(argument.toJava()).await())

    /**
     * @see [getDbProxyEndpoint].
     * @param dbProxyEndpointName The identifier for the DB proxy endpoint. This name must be unique for all DB proxy endpoints owned by your AWS account in the specified AWS Region.
     * @return null
     */
    public suspend fun getDbProxyEndpoint(dbProxyEndpointName: String): GetDbProxyEndpointResult {
        val argument = GetDbProxyEndpointPlainArgs(
            dbProxyEndpointName = dbProxyEndpointName,
        )
        return getDbProxyEndpointResultToKotlin(getDbProxyEndpointPlain(argument.toJava()).await())
    }

    /**
     * @see [getDbProxyEndpoint].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyEndpointPlainArgs].
     * @return null
     */
    public suspend fun getDbProxyEndpoint(argument: suspend GetDbProxyEndpointPlainArgsBuilder.() -> Unit): GetDbProxyEndpointResult {
        val builder = GetDbProxyEndpointPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbProxyEndpointResultToKotlin(getDbProxyEndpointPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource schema for AWS::RDS::DBProxyTargetGroup
     * @param argument null
     * @return null
     */
    public suspend fun getDbProxyTargetGroup(argument: GetDbProxyTargetGroupPlainArgs): GetDbProxyTargetGroupResult =
        getDbProxyTargetGroupResultToKotlin(getDbProxyTargetGroupPlain(argument.toJava()).await())

    /**
     * @see [getDbProxyTargetGroup].
     * @param targetGroupArn The Amazon Resource Name (ARN) representing the target group.
     * @return null
     */
    public suspend fun getDbProxyTargetGroup(targetGroupArn: String): GetDbProxyTargetGroupResult {
        val argument = GetDbProxyTargetGroupPlainArgs(
            targetGroupArn = targetGroupArn,
        )
        return getDbProxyTargetGroupResultToKotlin(getDbProxyTargetGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getDbProxyTargetGroup].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbProxyTargetGroupPlainArgs].
     * @return null
     */
    public suspend fun getDbProxyTargetGroup(argument: suspend GetDbProxyTargetGroupPlainArgsBuilder.() -> Unit): GetDbProxyTargetGroupResult {
        val builder = GetDbProxyTargetGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbProxyTargetGroupResultToKotlin(getDbProxyTargetGroupPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region.
     *  For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*.
     * @param argument null
     * @return null
     */
    public suspend fun getDbSubnetGroup(argument: GetDbSubnetGroupPlainArgs): GetDbSubnetGroupResult =
        getDbSubnetGroupResultToKotlin(getDbSubnetGroupPlain(argument.toJava()).await())

    /**
     * @see [getDbSubnetGroup].
     * @param dbSubnetGroupName The name for the DB subnet group. This value is stored as a lowercase string.
     *  Constraints: Must contain no more than 255 lowercase alphanumeric characters or hyphens. Must not be "Default".
     *  Example: ``mysubnetgroup``
     * @return null
     */
    public suspend fun getDbSubnetGroup(dbSubnetGroupName: String): GetDbSubnetGroupResult {
        val argument = GetDbSubnetGroupPlainArgs(
            dbSubnetGroupName = dbSubnetGroupName,
        )
        return getDbSubnetGroupResultToKotlin(getDbSubnetGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getDbSubnetGroup].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetDbSubnetGroupPlainArgs].
     * @return null
     */
    public suspend fun getDbSubnetGroup(argument: suspend GetDbSubnetGroupPlainArgsBuilder.() -> Unit): GetDbSubnetGroupResult {
        val builder = GetDbSubnetGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDbSubnetGroupResultToKotlin(getDbSubnetGroupPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*.
     * @param argument null
     * @return null
     */
    public suspend fun getEventSubscription(argument: GetEventSubscriptionPlainArgs): GetEventSubscriptionResult =
        getEventSubscriptionResultToKotlin(getEventSubscriptionPlain(argument.toJava()).await())

    /**
     * @see [getEventSubscription].
     * @param subscriptionName The name of the subscription.
     *  Constraints: The name must be less than 255 characters.
     * @return null
     */
    public suspend fun getEventSubscription(subscriptionName: String): GetEventSubscriptionResult {
        val argument = GetEventSubscriptionPlainArgs(
            subscriptionName = subscriptionName,
        )
        return getEventSubscriptionResultToKotlin(getEventSubscriptionPlain(argument.toJava()).await())
    }

    /**
     * @see [getEventSubscription].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetEventSubscriptionPlainArgs].
     * @return null
     */
    public suspend fun getEventSubscription(argument: suspend GetEventSubscriptionPlainArgsBuilder.() -> Unit): GetEventSubscriptionResult {
        val builder = GetEventSubscriptionPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getEventSubscriptionResultToKotlin(getEventSubscriptionPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::RDS::GlobalCluster
     * @param argument null
     * @return null
     */
    public suspend fun getGlobalCluster(argument: GetGlobalClusterPlainArgs): GetGlobalClusterResult =
        getGlobalClusterResultToKotlin(getGlobalClusterPlain(argument.toJava()).await())

    /**
     * @see [getGlobalCluster].
     * @param globalClusterIdentifier The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string.
     * @return null
     */
    public suspend fun getGlobalCluster(globalClusterIdentifier: String): GetGlobalClusterResult {
        val argument = GetGlobalClusterPlainArgs(
            globalClusterIdentifier = globalClusterIdentifier,
        )
        return getGlobalClusterResultToKotlin(getGlobalClusterPlain(argument.toJava()).await())
    }

    /**
     * @see [getGlobalCluster].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetGlobalClusterPlainArgs].
     * @return null
     */
    public suspend fun getGlobalCluster(argument: suspend GetGlobalClusterPlainArgsBuilder.() -> Unit): GetGlobalClusterResult {
        val builder = GetGlobalClusterPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getGlobalClusterResultToKotlin(getGlobalClusterPlain(builtArgument.toJava()).await())
    }

    /**
     * Creates a zero-ETL integration with Amazon Redshift.
     * @param argument null
     * @return null
     */
    public suspend fun getIntegration(argument: GetIntegrationPlainArgs): GetIntegrationResult =
        getIntegrationResultToKotlin(getIntegrationPlain(argument.toJava()).await())

    /**
     * @see [getIntegration].
     * @param integrationArn The ARN of the integration.
     * @return null
     */
    public suspend fun getIntegration(integrationArn: String): GetIntegrationResult {
        val argument = GetIntegrationPlainArgs(
            integrationArn = integrationArn,
        )
        return getIntegrationResultToKotlin(getIntegrationPlain(argument.toJava()).await())
    }

    /**
     * @see [getIntegration].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetIntegrationPlainArgs].
     * @return null
     */
    public suspend fun getIntegration(argument: suspend GetIntegrationPlainArgsBuilder.() -> Unit): GetIntegrationResult {
        val builder = GetIntegrationPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getIntegrationResultToKotlin(getIntegrationPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine.
     * @param argument null
     * @return null
     */
    public suspend fun getOptionGroup(argument: GetOptionGroupPlainArgs): GetOptionGroupResult =
        getOptionGroupResultToKotlin(getOptionGroupPlain(argument.toJava()).await())

    /**
     * @see [getOptionGroup].
     * @param optionGroupName The name of the option group to be created.
     *  Constraints:
     *   +  Must be 1 to 255 letters, numbers, or hyphens
     *   +  First character must be a letter
     *   +  Can't end with a hyphen or contain two consecutive hyphens
     *  Example: ``myoptiongroup``
     *  If you don't specify a value for ``OptionGroupName`` property, a name is automatically created for the option group.
     *   This value is stored as a lowercase string.
     * @return null
     */
    public suspend fun getOptionGroup(optionGroupName: String): GetOptionGroupResult {
        val argument = GetOptionGroupPlainArgs(
            optionGroupName = optionGroupName,
        )
        return getOptionGroupResultToKotlin(getOptionGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getOptionGroup].
     * @param argument Builder for [com.pulumi.awsnative.rds.kotlin.inputs.GetOptionGroupPlainArgs].
     * @return null
     */
    public suspend fun getOptionGroup(argument: suspend GetOptionGroupPlainArgsBuilder.() -> Unit): GetOptionGroupResult {
        val builder = GetOptionGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getOptionGroupResultToKotlin(getOptionGroupPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy