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.aws.neptune.kotlin
import com.pulumi.aws.neptune.ClusterArgs.builder
import com.pulumi.aws.neptune.kotlin.inputs.ClusterServerlessV2ScalingConfigurationArgs
import com.pulumi.aws.neptune.kotlin.inputs.ClusterServerlessV2ScalingConfigurationArgsBuilder
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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Provides an Neptune Cluster Resource. A Cluster Resource defines attributes that are
* applied to the entire cluster of Neptune Cluster Instances.
* Changes to a Neptune Cluster can occur when you manually change a
* parameter, such as `backup_retention_period`, and are reflected in the next maintenance
* window. Because of this, this provider may report a difference in its planning
* phase because a modification has not yet taken place. You can use the
* `apply_immediately` flag to instruct the service to apply the change immediately
* (see documentation below).
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const _default = new aws.neptune.Cluster("default", {
* clusterIdentifier: "neptune-cluster-demo",
* engine: "neptune",
* backupRetentionPeriod: 5,
* preferredBackupWindow: "07:00-09:00",
* skipFinalSnapshot: true,
* iamDatabaseAuthenticationEnabled: true,
* applyImmediately: true,
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* default = aws.neptune.Cluster("default",
* cluster_identifier="neptune-cluster-demo",
* engine="neptune",
* backup_retention_period=5,
* preferred_backup_window="07:00-09:00",
* skip_final_snapshot=True,
* iam_database_authentication_enabled=True,
* apply_immediately=True)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var @default = new Aws.Neptune.Cluster("default", new()
* {
* ClusterIdentifier = "neptune-cluster-demo",
* Engine = "neptune",
* BackupRetentionPeriod = 5,
* PreferredBackupWindow = "07:00-09:00",
* SkipFinalSnapshot = true,
* IamDatabaseAuthenticationEnabled = true,
* ApplyImmediately = true,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := neptune.NewCluster(ctx, "default", &neptune.ClusterArgs{
* ClusterIdentifier: pulumi.String("neptune-cluster-demo"),
* Engine: pulumi.String("neptune"),
* BackupRetentionPeriod: pulumi.Int(5),
* PreferredBackupWindow: pulumi.String("07:00-09:00"),
* SkipFinalSnapshot: pulumi.Bool(true),
* IamDatabaseAuthenticationEnabled: pulumi.Bool(true),
* ApplyImmediately: pulumi.Bool(true),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.aws.neptune.Cluster;
* import com.pulumi.aws.neptune.ClusterArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var default_ = new Cluster("default", ClusterArgs.builder()
* .clusterIdentifier("neptune-cluster-demo")
* .engine("neptune")
* .backupRetentionPeriod(5)
* .preferredBackupWindow("07:00-09:00")
* .skipFinalSnapshot(true)
* .iamDatabaseAuthenticationEnabled(true)
* .applyImmediately(true)
* .build());
* }
* }
* ```
* ```yaml
* resources:
* default:
* type: aws:neptune:Cluster
* properties:
* clusterIdentifier: neptune-cluster-demo
* engine: neptune
* backupRetentionPeriod: 5
* preferredBackupWindow: 07:00-09:00
* skipFinalSnapshot: true
* iamDatabaseAuthenticationEnabled: true
* applyImmediately: true
* ```
*
* > **Note:** AWS Neptune does not support user name/password–based access control.
* See the AWS [Docs](https://docs.aws.amazon.com/neptune/latest/userguide/limits.html) for more information.
* ## Import
* Using `pulumi import`, import `aws_neptune_cluster` using the cluster identifier. For example:
* ```sh
* $ pulumi import aws:neptune/cluster:Cluster example my-cluster
* ```
* @property allowMajorVersionUpgrade Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engine_version` parameter that uses a different major version than the DB cluster's current version. Default is `false`.
* @property applyImmediately Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
* @property availabilityZones A list of EC2 Availability Zones that instances in the Neptune cluster can be created in.
* @property backupRetentionPeriod The days to retain backups for. Default `1`
* @property clusterIdentifier The cluster identifier. If omitted, this provider will assign a random, unique identifier.
* @property clusterIdentifierPrefix Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `cluster_identifier`.
* @property copyTagsToSnapshot If set to true, tags are copied to any snapshot of the DB cluster that is created.
* @property deletionProtection A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.
* @property enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.
* @property engine The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`.
* @property engineVersion The database engine version.
* @property finalSnapshotIdentifier The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.
* @property globalClusterIdentifier The global cluster identifier specified on `aws.neptune.GlobalCluster`.
* @property iamDatabaseAuthenticationEnabled Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.
* @property iamRoles A List of ARNs for the IAM roles to associate to the Neptune Cluster.
* @property kmsKeyArn The ARN for the KMS encryption key. When specifying `kms_key_arn`, `storage_encrypted` needs to be set to true.
* @property neptuneClusterParameterGroupName A cluster parameter group to associate with the cluster.
* @property neptuneInstanceParameterGroupName The name of the DB parameter group to apply to all instances of the DB cluster.
* @property neptuneSubnetGroupName A Neptune subnet group to associate with this Neptune instance.
* @property port The port on which the Neptune accepts connections. Default is `8182`.
* @property preferredBackupWindow The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00
* @property preferredMaintenanceWindow The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30
* @property replicationSourceIdentifier ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.
* @property serverlessV2ScalingConfiguration If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes.
* @property skipFinalSnapshot Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `final_snapshot_identifier`. Default is `false`.
* @property snapshotIdentifier Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced.
* @property storageEncrypted Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified.
* @property storageType Storage type associated with the cluster `standard/iopt1`. Default: `standard`
* @property tags A map of tags to assign to the Neptune cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
* @property vpcSecurityGroupIds List of VPC security groups to associate with the Cluster
*/
public data class ClusterArgs(
public val allowMajorVersionUpgrade: Output? = null,
public val applyImmediately: Output? = null,
public val availabilityZones: Output>? = null,
public val backupRetentionPeriod: Output? = null,
public val clusterIdentifier: Output? = null,
public val clusterIdentifierPrefix: Output? = null,
public val copyTagsToSnapshot: Output? = null,
public val deletionProtection: Output? = null,
public val enableCloudwatchLogsExports: Output>? = null,
public val engine: Output? = null,
public val engineVersion: Output? = null,
public val finalSnapshotIdentifier: Output? = null,
public val globalClusterIdentifier: Output? = null,
public val iamDatabaseAuthenticationEnabled: Output? = null,
public val iamRoles: Output>? = null,
public val kmsKeyArn: Output? = null,
public val neptuneClusterParameterGroupName: Output? = null,
public val neptuneInstanceParameterGroupName: Output? = null,
public val neptuneSubnetGroupName: Output? = null,
public val port: Output? = null,
public val preferredBackupWindow: Output? = null,
public val preferredMaintenanceWindow: Output? = null,
public val replicationSourceIdentifier: Output? = null,
public val serverlessV2ScalingConfiguration: Output? =
null,
public val skipFinalSnapshot: Output? = null,
public val snapshotIdentifier: Output? = null,
public val storageEncrypted: Output? = null,
public val storageType: Output? = null,
public val tags: Output