Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.neptune.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.neptune.DbClusterArgs.builder
import com.pulumi.awsnative.neptune.kotlin.inputs.DbClusterDbClusterRoleArgs
import com.pulumi.awsnative.neptune.kotlin.inputs.DbClusterDbClusterRoleArgsBuilder
import com.pulumi.awsnative.neptune.kotlin.inputs.DbClusterServerlessScalingConfigurationArgs
import com.pulumi.awsnative.neptune.kotlin.inputs.DbClusterServerlessScalingConfigurationArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster.
* @property associatedRoles Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.
* @property availabilityZones Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.
* @property backupRetentionPeriod Specifies the number of days for which automatic DB snapshots are retained.
* @property copyTagsToSnapshot A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default behaviour is not to copy them.
* @property dbClusterIdentifier The DB cluster identifier. Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster stored as a lowercase string.
* @property dbClusterParameterGroupName Provides the name of the DB cluster parameter group.
* @property dbInstanceParameterGroupName The name of the DB parameter group to apply to all instances of the DB cluster. Used only in case of a major EngineVersion upgrade request.
* @property dbPort The port number on which the DB instances in the DB cluster accept connections.
* If not specified, the default port used is `8182`.
* Note: `Port` property will soon be deprecated from this resource. Please update existing templates to rename it with new property `DBPort` having same functionalities.
* @property dbSubnetGroupName Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.
* @property deletionProtection Indicates whether or not the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled.
* @property enableCloudwatchLogsExports Specifies a list of log types that are enabled for export to CloudWatch Logs.
* @property engineVersion Indicates the database engine version.
* @property iamAuthEnabled True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.
* @property kmsKeyId If `StorageEncrypted` is true, the Amazon KMS key identifier for the encrypted DB cluster.
* @property preferredBackupWindow Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.
* @property preferredMaintenanceWindow Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
* @property restoreToTime Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
* If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.
* If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.
* @property restoreType Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
* If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.
* If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.
* @property serverlessScalingConfiguration Contains the scaling configuration used by the Neptune Serverless Instances within this DB cluster.
* @property snapshotIdentifier Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot.
* After you restore a DB cluster using a SnapshotIdentifier, you must specify the same SnapshotIdentifier for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed.
* However, if you don't specify the SnapshotIdentifier, 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, the DB cluster is restored from the snapshot specified by the SnapshotIdentifier, and the original DB cluster is deleted.
* @property sourceDbClusterIdentifier Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
* If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.
* If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.
* @property storageEncrypted Indicates whether the DB cluster is encrypted.
* If you specify the `DBClusterIdentifier`, `DBSnapshotIdentifier`, or `SourceDBInstanceIdentifier` property, don't specify this property. The value is inherited from the cluster, snapshot, or source DB instance. If you specify the KmsKeyId property, you must enable encryption.
* If you specify the KmsKeyId, you must enable encryption by setting StorageEncrypted to true.
* @property tags The tags assigned to this cluster.
* @property useLatestRestorableTime Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
* If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.
* If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.
* @property vpcSecurityGroupIds Provides a list of VPC security groups that the DB cluster belongs to.
*/
public data class DbClusterArgs(
public val associatedRoles: Output>? = null,
public val availabilityZones: Output>? = null,
public val backupRetentionPeriod: Output? = null,
public val copyTagsToSnapshot: Output? = null,
public val dbClusterIdentifier: Output? = null,
public val dbClusterParameterGroupName: Output? = null,
public val dbInstanceParameterGroupName: Output? = null,
public val dbPort: Output? = null,
public val dbSubnetGroupName: Output? = null,
public val deletionProtection: Output? = null,
public val enableCloudwatchLogsExports: Output>? = null,
public val engineVersion: Output? = null,
public val iamAuthEnabled: Output? = null,
public val kmsKeyId: Output? = null,
public val preferredBackupWindow: Output? = null,
public val preferredMaintenanceWindow: Output? = null,
public val restoreToTime: Output? = null,
public val restoreType: Output? = null,
public val serverlessScalingConfiguration: Output? =
null,
public val snapshotIdentifier: Output? = null,
public val sourceDbClusterIdentifier: Output? = null,
public val storageEncrypted: Output? = null,
public val tags: Output>? = null,
public val useLatestRestorableTime: Output? = null,
public val vpcSecurityGroupIds: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.neptune.DbClusterArgs =
com.pulumi.awsnative.neptune.DbClusterArgs.builder()
.associatedRoles(
associatedRoles?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.availabilityZones(availabilityZones?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.backupRetentionPeriod(backupRetentionPeriod?.applyValue({ args0 -> args0 }))
.copyTagsToSnapshot(copyTagsToSnapshot?.applyValue({ args0 -> args0 }))
.dbClusterIdentifier(dbClusterIdentifier?.applyValue({ args0 -> args0 }))
.dbClusterParameterGroupName(dbClusterParameterGroupName?.applyValue({ args0 -> args0 }))
.dbInstanceParameterGroupName(dbInstanceParameterGroupName?.applyValue({ args0 -> args0 }))
.dbPort(dbPort?.applyValue({ args0 -> args0 }))
.dbSubnetGroupName(dbSubnetGroupName?.applyValue({ args0 -> args0 }))
.deletionProtection(deletionProtection?.applyValue({ args0 -> args0 }))
.enableCloudwatchLogsExports(
enableCloudwatchLogsExports?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.engineVersion(engineVersion?.applyValue({ args0 -> args0 }))
.iamAuthEnabled(iamAuthEnabled?.applyValue({ args0 -> args0 }))
.kmsKeyId(kmsKeyId?.applyValue({ args0 -> args0 }))
.preferredBackupWindow(preferredBackupWindow?.applyValue({ args0 -> args0 }))
.preferredMaintenanceWindow(preferredMaintenanceWindow?.applyValue({ args0 -> args0 }))
.restoreToTime(restoreToTime?.applyValue({ args0 -> args0 }))
.restoreType(restoreType?.applyValue({ args0 -> args0 }))
.serverlessScalingConfiguration(
serverlessScalingConfiguration?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.snapshotIdentifier(snapshotIdentifier?.applyValue({ args0 -> args0 }))
.sourceDbClusterIdentifier(sourceDbClusterIdentifier?.applyValue({ args0 -> args0 }))
.storageEncrypted(storageEncrypted?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.useLatestRestorableTime(useLatestRestorableTime?.applyValue({ args0 -> args0 }))
.vpcSecurityGroupIds(
vpcSecurityGroupIds?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
).build()
}
/**
* Builder for [DbClusterArgs].
*/
@PulumiTagMarker
public class DbClusterArgsBuilder internal constructor() {
private var associatedRoles: Output>? = null
private var availabilityZones: Output>? = null
private var backupRetentionPeriod: Output? = null
private var copyTagsToSnapshot: Output? = null
private var dbClusterIdentifier: Output? = null
private var dbClusterParameterGroupName: Output? = null
private var dbInstanceParameterGroupName: Output? = null
private var dbPort: Output? = null
private var dbSubnetGroupName: Output? = null
private var deletionProtection: Output? = null
private var enableCloudwatchLogsExports: Output>? = null
private var engineVersion: Output? = null
private var iamAuthEnabled: Output? = null
private var kmsKeyId: Output? = null
private var preferredBackupWindow: Output? = null
private var preferredMaintenanceWindow: Output? = null
private var restoreToTime: Output? = null
private var restoreType: Output? = null
private var serverlessScalingConfiguration: Output? =
null
private var snapshotIdentifier: Output? = null
private var sourceDbClusterIdentifier: Output? = null
private var storageEncrypted: Output? = null
private var tags: Output>? = null
private var useLatestRestorableTime: Output? = null
private var vpcSecurityGroupIds: Output>? = null
/**
* @param value Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.
*/
@JvmName("beqiltycipgnfrwg")
public suspend fun associatedRoles(`value`: Output>) {
this.associatedRoles = value
}
@JvmName("prptfuaauhukrunp")
public suspend fun associatedRoles(vararg values: Output) {
this.associatedRoles = Output.all(values.asList())
}
/**
* @param values Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.
*/
@JvmName("brrhquvihdcposjk")
public suspend fun associatedRoles(values: List