@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
395 lines (394 loc) • 16 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* A Cluster Instance Resource defines attributes that are specific to a single instance in a Neptune Cluster.
*
* You can simply add neptune instances and Neptune manages the replication. You can use the count
* meta-parameter to make multiple instances and join them all to the same Neptune Cluster, or you may specify different Cluster Instance resources with various `instanceClass` sizes.
*
* ## Example Usage
*
* The following example will create a neptune cluster with two neptune instances(one writer and one reader).
*
* ```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,
* });
* const example: aws.neptune.ClusterInstance[] = [];
* for (const range = {value: 0}; range.value < 2; range.value++) {
* example.push(new aws.neptune.ClusterInstance(`example-${range.value}`, {
* clusterIdentifier: _default.id,
* engine: "neptune",
* instanceClass: "db.r4.large",
* applyImmediately: true,
* }));
* }
* ```
*
* ## Import
*
* Using `pulumi import`, import `aws_neptune_cluster_instance` using the instance identifier. For example:
*
* ```sh
* $ pulumi import aws:neptune/clusterInstance:ClusterInstance example my-instance
* ```
*/
export declare class ClusterInstance extends pulumi.CustomResource {
/**
* Get an existing ClusterInstance resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterInstanceState, opts?: pulumi.CustomResourceOptions): ClusterInstance;
/**
* Returns true if the given object is an instance of ClusterInstance. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is ClusterInstance;
/**
* The hostname of the instance. See also `endpoint` and `port`.
*/
readonly address: pulumi.Output<string>;
/**
* Specifies whether any instance modifications
* are applied immediately, or during the next maintenance window. Default is`false`.
*/
readonly applyImmediately: pulumi.Output<boolean>;
/**
* Amazon Resource Name (ARN) of neptune instance
*/
readonly arn: pulumi.Output<string>;
/**
* Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`.
*/
readonly autoMinorVersionUpgrade: pulumi.Output<boolean | undefined>;
/**
* The EC2 Availability Zone that the neptune instance is created in.
*/
readonly availabilityZone: pulumi.Output<string>;
/**
* The identifier of the `aws.neptune.Cluster` in which to launch this instance.
*/
readonly clusterIdentifier: pulumi.Output<string>;
/**
* The region-unique, immutable identifier for the neptune instance.
*/
readonly dbiResourceId: pulumi.Output<string>;
/**
* The connection endpoint in `address:port` format.
*/
readonly endpoint: pulumi.Output<string>;
/**
* The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`.
*/
readonly engine: pulumi.Output<string | undefined>;
/**
* The neptune engine version. Currently configuring this argumnet has no effect.
*/
readonly engineVersion: pulumi.Output<string>;
/**
* The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.
*/
readonly identifier: pulumi.Output<string>;
/**
* Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.
*/
readonly identifierPrefix: pulumi.Output<string>;
/**
* The instance class to use.
*/
readonly instanceClass: pulumi.Output<string>;
/**
* The ARN for the KMS encryption key if one is set to the neptune cluster.
*/
readonly kmsKeyArn: pulumi.Output<string>;
/**
* The name of the neptune parameter group to associate with this instance.
*/
readonly neptuneParameterGroupName: pulumi.Output<string>;
/**
* A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `aws.neptune.Cluster`.
*/
readonly neptuneSubnetGroupName: pulumi.Output<string>;
/**
* The port on which the DB accepts connections. Defaults to `8182`.
*/
readonly port: pulumi.Output<number | undefined>;
/**
* The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00"
*/
readonly preferredBackupWindow: pulumi.Output<string>;
/**
* The window to perform maintenance in.
* Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00".
*/
readonly preferredMaintenanceWindow: pulumi.Output<string>;
/**
* Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer.
*/
readonly promotionTier: pulumi.Output<number | undefined>;
/**
* Bool to control if instance is publicly accessible. Default is `false`.
*/
readonly publiclyAccessible: pulumi.Output<boolean | undefined>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
readonly region: pulumi.Output<string>;
/**
* Determines whether a final DB snapshot is created before the DB instance is deleted.
*/
readonly skipFinalSnapshot: pulumi.Output<boolean | undefined>;
/**
* Specifies whether the neptune cluster is encrypted.
*/
readonly storageEncrypted: pulumi.Output<boolean>;
/**
* Storage type associated with the cluster `standard/iopt1`.
*/
readonly storageType: pulumi.Output<string>;
/**
* A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
/**
* Boolean indicating if this instance is writable. `False` indicates this instance is a read replica.
*/
readonly writer: pulumi.Output<boolean>;
/**
* Create a ClusterInstance resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: ClusterInstanceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering ClusterInstance resources.
*/
export interface ClusterInstanceState {
/**
* The hostname of the instance. See also `endpoint` and `port`.
*/
address?: pulumi.Input<string>;
/**
* Specifies whether any instance modifications
* are applied immediately, or during the next maintenance window. Default is`false`.
*/
applyImmediately?: pulumi.Input<boolean>;
/**
* Amazon Resource Name (ARN) of neptune instance
*/
arn?: pulumi.Input<string>;
/**
* Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`.
*/
autoMinorVersionUpgrade?: pulumi.Input<boolean>;
/**
* The EC2 Availability Zone that the neptune instance is created in.
*/
availabilityZone?: pulumi.Input<string>;
/**
* The identifier of the `aws.neptune.Cluster` in which to launch this instance.
*/
clusterIdentifier?: pulumi.Input<string>;
/**
* The region-unique, immutable identifier for the neptune instance.
*/
dbiResourceId?: pulumi.Input<string>;
/**
* The connection endpoint in `address:port` format.
*/
endpoint?: pulumi.Input<string>;
/**
* The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`.
*/
engine?: pulumi.Input<string>;
/**
* The neptune engine version. Currently configuring this argumnet has no effect.
*/
engineVersion?: pulumi.Input<string>;
/**
* The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.
*/
identifier?: pulumi.Input<string>;
/**
* Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.
*/
identifierPrefix?: pulumi.Input<string>;
/**
* The instance class to use.
*/
instanceClass?: pulumi.Input<string>;
/**
* The ARN for the KMS encryption key if one is set to the neptune cluster.
*/
kmsKeyArn?: pulumi.Input<string>;
/**
* The name of the neptune parameter group to associate with this instance.
*/
neptuneParameterGroupName?: pulumi.Input<string>;
/**
* A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `aws.neptune.Cluster`.
*/
neptuneSubnetGroupName?: pulumi.Input<string>;
/**
* The port on which the DB accepts connections. Defaults to `8182`.
*/
port?: pulumi.Input<number>;
/**
* The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00"
*/
preferredBackupWindow?: pulumi.Input<string>;
/**
* The window to perform maintenance in.
* Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00".
*/
preferredMaintenanceWindow?: pulumi.Input<string>;
/**
* Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer.
*/
promotionTier?: pulumi.Input<number>;
/**
* Bool to control if instance is publicly accessible. Default is `false`.
*/
publiclyAccessible?: pulumi.Input<boolean>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Determines whether a final DB snapshot is created before the DB instance is deleted.
*/
skipFinalSnapshot?: pulumi.Input<boolean>;
/**
* Specifies whether the neptune cluster is encrypted.
*/
storageEncrypted?: pulumi.Input<boolean>;
/**
* Storage type associated with the cluster `standard/iopt1`.
*/
storageType?: pulumi.Input<string>;
/**
* A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Boolean indicating if this instance is writable. `False` indicates this instance is a read replica.
*/
writer?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a ClusterInstance resource.
*/
export interface ClusterInstanceArgs {
/**
* Specifies whether any instance modifications
* are applied immediately, or during the next maintenance window. Default is`false`.
*/
applyImmediately?: pulumi.Input<boolean>;
/**
* Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`.
*/
autoMinorVersionUpgrade?: pulumi.Input<boolean>;
/**
* The EC2 Availability Zone that the neptune instance is created in.
*/
availabilityZone?: pulumi.Input<string>;
/**
* The identifier of the `aws.neptune.Cluster` in which to launch this instance.
*/
clusterIdentifier: pulumi.Input<string>;
/**
* The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`.
*/
engine?: pulumi.Input<string>;
/**
* The neptune engine version. Currently configuring this argumnet has no effect.
*/
engineVersion?: pulumi.Input<string>;
/**
* The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier.
*/
identifier?: pulumi.Input<string>;
/**
* Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.
*/
identifierPrefix?: pulumi.Input<string>;
/**
* The instance class to use.
*/
instanceClass: pulumi.Input<string>;
/**
* The name of the neptune parameter group to associate with this instance.
*/
neptuneParameterGroupName?: pulumi.Input<string>;
/**
* A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `aws.neptune.Cluster`.
*/
neptuneSubnetGroupName?: pulumi.Input<string>;
/**
* The port on which the DB accepts connections. Defaults to `8182`.
*/
port?: pulumi.Input<number>;
/**
* The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00"
*/
preferredBackupWindow?: pulumi.Input<string>;
/**
* The window to perform maintenance in.
* Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00".
*/
preferredMaintenanceWindow?: pulumi.Input<string>;
/**
* Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer.
*/
promotionTier?: pulumi.Input<number>;
/**
* Bool to control if instance is publicly accessible. Default is `false`.
*/
publiclyAccessible?: pulumi.Input<boolean>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Determines whether a final DB snapshot is created before the DB instance is deleted.
*/
skipFinalSnapshot?: pulumi.Input<boolean>;
/**
* A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}