UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

450 lines (449 loc) • 27.7 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for managing an Amazon Timestream for InfluxDB read-replica cluster. * * > **NOTE:** This resource requires a subscription to [Timestream for InfluxDB Read Replicas (Add-On) on the AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-lftzfxtb5xlv4?applicationId=AWS-Marketplace-Console&ref_=beagle&sr=0-2). * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.timestreaminfluxdb.DbCluster("example", { * allocatedStorage: 20, * bucket: "example-bucket-name", * dbInstanceType: "db.influx.medium", * failoverMode: "AUTOMATIC", * username: "admin", * password: "example-password", * port: 8086, * organization: "organization", * vpcSubnetIds: [ * example1.id, * example2.id, * ], * vpcSecurityGroupIds: [exampleAwsSecurityGroup.id], * name: "example-db-cluster", * }); * ``` * * ### Usage with Prerequisite Resources * * All Timestream for InfluxDB clusters require a VPC, at least two subnets, and a security group. The following example shows how these prerequisite resources can be created and used with `aws.timestreaminfluxdb.DbCluster`. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.ec2.Vpc("example", {cidrBlock: "10.0.0.0/16"}); * const example1 = new aws.ec2.Subnet("example_1", { * vpcId: example.id, * cidrBlock: "10.0.1.0/24", * }); * const example2 = new aws.ec2.Subnet("example_2", { * vpcId: example.id, * cidrBlock: "10.0.2.0/24", * }); * const exampleSecurityGroup = new aws.ec2.SecurityGroup("example", { * name: "example", * vpcId: example.id, * }); * const exampleDbCluster = new aws.timestreaminfluxdb.DbCluster("example", { * allocatedStorage: 20, * bucket: "example-bucket-name", * dbInstanceType: "db.influx.medium", * username: "admin", * password: "example-password", * organization: "organization", * vpcSubnetIds: [ * example1.id, * example2.id, * ], * vpcSecurityGroupIds: [exampleSecurityGroup.id], * name: "example-db-cluster", * }); * ``` * * ### Usage with S3 Log Delivery Enabled * * You can use an S3 bucket to store logs generated by your Timestream for InfluxDB cluster. The following example shows what resources and arguments are required to configure an S3 bucket for logging, including the IAM policy that needs to be set in order to allow Timestream for InfluxDB to place logs in your S3 bucket. The configuration of the required VPC, security group, and subnets have been left out of the example for brevity. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const exampleBucket = new aws.s3.Bucket("example", { * bucket: "example-s3-bucket", * forceDestroy: true, * }); * const example = aws.iam.getPolicyDocumentOutput({ * statements: [{ * actions: ["s3:PutObject"], * principals: [{ * type: "Service", * identifiers: ["timestream-influxdb.amazonaws.com"], * }], * resources: [pulumi.interpolate`${exampleBucket.arn}/*`], * }], * }); * const exampleBucketPolicy = new aws.s3.BucketPolicy("example", { * bucket: exampleBucket.id, * policy: example.apply(example => example.json), * }); * const exampleDbCluster = new aws.timestreaminfluxdb.DbCluster("example", { * allocatedStorage: 20, * bucket: "example-bucket-name", * dbInstanceType: "db.influx.medium", * username: "admin", * password: "example-password", * organization: "organization", * vpcSubnetIds: [ * example1.id, * example2.id, * ], * vpcSecurityGroupIds: [exampleAwsSecurityGroup.id], * name: "example-db-cluster", * logDeliveryConfiguration: { * s3Configuration: { * bucketName: exampleBucket.bucket, * enabled: true, * }, * }, * }); * ``` * * ## Import * * Using `pulumi import`, import Timestream for InfluxDB cluster using its identifier. For example: * * ```sh * $ pulumi import aws:timestreaminfluxdb/dbCluster:DbCluster example 12345abcde * ``` */ export declare class DbCluster extends pulumi.CustomResource { /** * Get an existing DbCluster 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?: DbClusterState, opts?: pulumi.CustomResourceOptions): DbCluster; /** * Returns true if the given object is an instance of DbCluster. 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 DbCluster; /** * Amount of storage in GiB (gibibytes). The minimum value is `20`, the maximum value is `16384`. The argument `dbStorageType` places restrictions on this argument's minimum value. The following is a list of `dbStorageType` values and the corresponding minimum value for `allocatedStorage`: `"InfluxIOIncludedT1": `20`, `"InfluxIOIncludedT2" and `"InfluxIOIncludedT3": `400`. */ readonly allocatedStorage: pulumi.Output<number>; /** * ARN of the Timestream for InfluxDB cluster. */ readonly arn: pulumi.Output<string>; /** * Name of the initial InfluxDB bucket. All InfluxDB data is stored in a bucket. A bucket combines the concept of a database and a retention period (the duration of time that each data point persists). A bucket belongs to an organization. Along with `organization`, `username`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ readonly bucket: pulumi.Output<string>; /** * Timestream for InfluxDB DB instance type to run InfluxDB on. Valid options are: `"db.influx.medium"`, `"db.influx.large"`, `"db.influx.xlarge"`, `"db.influx.2xlarge"`, `"db.influx.4xlarge"`, `"db.influx.8xlarge"`, `"db.influx.12xlarge"`, and `"db.influx.16xlarge"`. This argument is updatable. */ readonly dbInstanceType: pulumi.Output<string>; /** * ID of the DB parameter group assigned to your cluster. This argument is updatable. If added to an existing Timestream for InfluxDB cluster or given a new value, will cause an in-place update to the cluster. However, if a cluster already has a value for `dbParameterGroupIdentifier`, removing `dbParameterGroupIdentifier` will cause the cluster to be destroyed and recreated. */ readonly dbParameterGroupIdentifier: pulumi.Output<string | undefined>; /** * Timestream for InfluxDB DB storage type to read and write InfluxDB data. You can choose between 3 different types of provisioned Influx IOPS included storage according to your workloads requirements: Influx IO Included 3000 IOPS, Influx IO Included 12000 IOPS, Influx IO Included 16000 IOPS. Valid options are: `"InfluxIOIncludedT1"`, `"InfluxIOIncludedT2"`, and `"InfluxIOIncludedT3"`. If you use `"InfluxIOIncludedT2" or "InfluxIOIncludedT3", the minimum value for `allocatedStorage` is 400. */ readonly dbStorageType: pulumi.Output<string>; /** * Specifies the type of cluster to create. Valid options are: `"MULTI_NODE_READ_REPLICAS"`. */ readonly deploymentType: pulumi.Output<string>; /** * Endpoint used to connect to InfluxDB. The default InfluxDB port is 8086. */ readonly endpoint: pulumi.Output<string>; /** * Specifies the behavior of failure recovery when the primary node of the cluster fails. Valid options are: `"AUTOMATIC"` and `"NO_FAILOVER"`. */ readonly failoverMode: pulumi.Output<string>; /** * ARN of the AWS Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password. */ readonly influxAuthParametersSecretArn: pulumi.Output<string>; /** * Configuration for sending InfluxDB engine logs to a specified S3 bucket. This argument is updatable. */ readonly logDeliveryConfiguration: pulumi.Output<outputs.timestreaminfluxdb.DbClusterLogDeliveryConfiguration | undefined>; /** * Name that uniquely identifies the DB cluster when interacting with the Amazon Timestream for InfluxDB API and CLI commands. This name will also be a prefix included in the endpoint. Cluster names must be unique per customer and per region. The argument must start with a letter, cannot contain consecutive hyphens (`-`) and cannot end with a hyphen. */ readonly name: pulumi.Output<string>; /** * Specifies whether the network type of the Timestream for InfluxDB cluster is IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols. */ readonly networkType: pulumi.Output<string>; /** * Name of the initial organization for the initial admin user in InfluxDB. An InfluxDB organization is a workspace for a group of users. Along with `bucket`, `username`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ readonly organization: pulumi.Output<string>; /** * Password of the initial admin user created in InfluxDB. This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. Along with `bucket`, `username`, and `organization`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ readonly password: pulumi.Output<string>; /** * The port on which the cluster accepts connections. Valid values: `1024`-`65535`. Cannot be `2375`-`2376`, `7788`-`7799`, `8090`, or `51678`-`51680`. This argument is updatable. */ readonly port: pulumi.Output<number>; /** * Configures the DB cluster with a public IP to facilitate access. Other resources, such as a VPC, a subnet, an internet gateway, and a route table with routes, are also required to enabled public access, in addition to this argument. See "Usage with Public Internet Access Enabled" for an example configuration with all required resources for public internet access. */ readonly publiclyAccessible: pulumi.Output<boolean>; /** * The endpoint used to connect to the Timestream for InfluxDB cluster for read-only operations. */ readonly readerEndpoint: pulumi.Output<string>; /** * 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>; /** * Map of tags assigned to the resource. 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>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; readonly timeouts: pulumi.Output<outputs.timestreaminfluxdb.DbClusterTimeouts | undefined>; /** * Username of the initial admin user created in InfluxDB. Must start with a letter and can't end with a hyphen or contain two consecutive hyphens. This username will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. Along with `bucket`, `organization`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ readonly username: pulumi.Output<string>; /** * List of VPC security group IDs to associate with the cluster. */ readonly vpcSecurityGroupIds: pulumi.Output<string[]>; /** * List of VPC subnet IDs to associate with the cluster. Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby. * * The following arguments are optional: */ readonly vpcSubnetIds: pulumi.Output<string[]>; /** * Create a DbCluster 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: DbClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DbCluster resources. */ export interface DbClusterState { /** * Amount of storage in GiB (gibibytes). The minimum value is `20`, the maximum value is `16384`. The argument `dbStorageType` places restrictions on this argument's minimum value. The following is a list of `dbStorageType` values and the corresponding minimum value for `allocatedStorage`: `"InfluxIOIncludedT1": `20`, `"InfluxIOIncludedT2" and `"InfluxIOIncludedT3": `400`. */ allocatedStorage?: pulumi.Input<number>; /** * ARN of the Timestream for InfluxDB cluster. */ arn?: pulumi.Input<string>; /** * Name of the initial InfluxDB bucket. All InfluxDB data is stored in a bucket. A bucket combines the concept of a database and a retention period (the duration of time that each data point persists). A bucket belongs to an organization. Along with `organization`, `username`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ bucket?: pulumi.Input<string>; /** * Timestream for InfluxDB DB instance type to run InfluxDB on. Valid options are: `"db.influx.medium"`, `"db.influx.large"`, `"db.influx.xlarge"`, `"db.influx.2xlarge"`, `"db.influx.4xlarge"`, `"db.influx.8xlarge"`, `"db.influx.12xlarge"`, and `"db.influx.16xlarge"`. This argument is updatable. */ dbInstanceType?: pulumi.Input<string>; /** * ID of the DB parameter group assigned to your cluster. This argument is updatable. If added to an existing Timestream for InfluxDB cluster or given a new value, will cause an in-place update to the cluster. However, if a cluster already has a value for `dbParameterGroupIdentifier`, removing `dbParameterGroupIdentifier` will cause the cluster to be destroyed and recreated. */ dbParameterGroupIdentifier?: pulumi.Input<string>; /** * Timestream for InfluxDB DB storage type to read and write InfluxDB data. You can choose between 3 different types of provisioned Influx IOPS included storage according to your workloads requirements: Influx IO Included 3000 IOPS, Influx IO Included 12000 IOPS, Influx IO Included 16000 IOPS. Valid options are: `"InfluxIOIncludedT1"`, `"InfluxIOIncludedT2"`, and `"InfluxIOIncludedT3"`. If you use `"InfluxIOIncludedT2" or "InfluxIOIncludedT3", the minimum value for `allocatedStorage` is 400. */ dbStorageType?: pulumi.Input<string>; /** * Specifies the type of cluster to create. Valid options are: `"MULTI_NODE_READ_REPLICAS"`. */ deploymentType?: pulumi.Input<string>; /** * Endpoint used to connect to InfluxDB. The default InfluxDB port is 8086. */ endpoint?: pulumi.Input<string>; /** * Specifies the behavior of failure recovery when the primary node of the cluster fails. Valid options are: `"AUTOMATIC"` and `"NO_FAILOVER"`. */ failoverMode?: pulumi.Input<string>; /** * ARN of the AWS Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password. */ influxAuthParametersSecretArn?: pulumi.Input<string>; /** * Configuration for sending InfluxDB engine logs to a specified S3 bucket. This argument is updatable. */ logDeliveryConfiguration?: pulumi.Input<inputs.timestreaminfluxdb.DbClusterLogDeliveryConfiguration>; /** * Name that uniquely identifies the DB cluster when interacting with the Amazon Timestream for InfluxDB API and CLI commands. This name will also be a prefix included in the endpoint. Cluster names must be unique per customer and per region. The argument must start with a letter, cannot contain consecutive hyphens (`-`) and cannot end with a hyphen. */ name?: pulumi.Input<string>; /** * Specifies whether the network type of the Timestream for InfluxDB cluster is IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols. */ networkType?: pulumi.Input<string>; /** * Name of the initial organization for the initial admin user in InfluxDB. An InfluxDB organization is a workspace for a group of users. Along with `bucket`, `username`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ organization?: pulumi.Input<string>; /** * Password of the initial admin user created in InfluxDB. This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. Along with `bucket`, `username`, and `organization`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ password?: pulumi.Input<string>; /** * The port on which the cluster accepts connections. Valid values: `1024`-`65535`. Cannot be `2375`-`2376`, `7788`-`7799`, `8090`, or `51678`-`51680`. This argument is updatable. */ port?: pulumi.Input<number>; /** * Configures the DB cluster with a public IP to facilitate access. Other resources, such as a VPC, a subnet, an internet gateway, and a route table with routes, are also required to enabled public access, in addition to this argument. See "Usage with Public Internet Access Enabled" for an example configuration with all required resources for public internet access. */ publiclyAccessible?: pulumi.Input<boolean>; /** * The endpoint used to connect to the Timestream for InfluxDB cluster for read-only operations. */ readerEndpoint?: pulumi.Input<string>; /** * 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>; /** * Map of tags assigned to the resource. 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>; }>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; timeouts?: pulumi.Input<inputs.timestreaminfluxdb.DbClusterTimeouts>; /** * Username of the initial admin user created in InfluxDB. Must start with a letter and can't end with a hyphen or contain two consecutive hyphens. This username will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. Along with `bucket`, `organization`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ username?: pulumi.Input<string>; /** * List of VPC security group IDs to associate with the cluster. */ vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>; /** * List of VPC subnet IDs to associate with the cluster. Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby. * * The following arguments are optional: */ vpcSubnetIds?: pulumi.Input<pulumi.Input<string>[]>; } /** * The set of arguments for constructing a DbCluster resource. */ export interface DbClusterArgs { /** * Amount of storage in GiB (gibibytes). The minimum value is `20`, the maximum value is `16384`. The argument `dbStorageType` places restrictions on this argument's minimum value. The following is a list of `dbStorageType` values and the corresponding minimum value for `allocatedStorage`: `"InfluxIOIncludedT1": `20`, `"InfluxIOIncludedT2" and `"InfluxIOIncludedT3": `400`. */ allocatedStorage: pulumi.Input<number>; /** * Name of the initial InfluxDB bucket. All InfluxDB data is stored in a bucket. A bucket combines the concept of a database and a retention period (the duration of time that each data point persists). A bucket belongs to an organization. Along with `organization`, `username`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ bucket: pulumi.Input<string>; /** * Timestream for InfluxDB DB instance type to run InfluxDB on. Valid options are: `"db.influx.medium"`, `"db.influx.large"`, `"db.influx.xlarge"`, `"db.influx.2xlarge"`, `"db.influx.4xlarge"`, `"db.influx.8xlarge"`, `"db.influx.12xlarge"`, and `"db.influx.16xlarge"`. This argument is updatable. */ dbInstanceType: pulumi.Input<string>; /** * ID of the DB parameter group assigned to your cluster. This argument is updatable. If added to an existing Timestream for InfluxDB cluster or given a new value, will cause an in-place update to the cluster. However, if a cluster already has a value for `dbParameterGroupIdentifier`, removing `dbParameterGroupIdentifier` will cause the cluster to be destroyed and recreated. */ dbParameterGroupIdentifier?: pulumi.Input<string>; /** * Timestream for InfluxDB DB storage type to read and write InfluxDB data. You can choose between 3 different types of provisioned Influx IOPS included storage according to your workloads requirements: Influx IO Included 3000 IOPS, Influx IO Included 12000 IOPS, Influx IO Included 16000 IOPS. Valid options are: `"InfluxIOIncludedT1"`, `"InfluxIOIncludedT2"`, and `"InfluxIOIncludedT3"`. If you use `"InfluxIOIncludedT2" or "InfluxIOIncludedT3", the minimum value for `allocatedStorage` is 400. */ dbStorageType?: pulumi.Input<string>; /** * Specifies the type of cluster to create. Valid options are: `"MULTI_NODE_READ_REPLICAS"`. */ deploymentType?: pulumi.Input<string>; /** * Specifies the behavior of failure recovery when the primary node of the cluster fails. Valid options are: `"AUTOMATIC"` and `"NO_FAILOVER"`. */ failoverMode?: pulumi.Input<string>; /** * Configuration for sending InfluxDB engine logs to a specified S3 bucket. This argument is updatable. */ logDeliveryConfiguration?: pulumi.Input<inputs.timestreaminfluxdb.DbClusterLogDeliveryConfiguration>; /** * Name that uniquely identifies the DB cluster when interacting with the Amazon Timestream for InfluxDB API and CLI commands. This name will also be a prefix included in the endpoint. Cluster names must be unique per customer and per region. The argument must start with a letter, cannot contain consecutive hyphens (`-`) and cannot end with a hyphen. */ name?: pulumi.Input<string>; /** * Specifies whether the network type of the Timestream for InfluxDB cluster is IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols. */ networkType?: pulumi.Input<string>; /** * Name of the initial organization for the initial admin user in InfluxDB. An InfluxDB organization is a workspace for a group of users. Along with `bucket`, `username`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ organization: pulumi.Input<string>; /** * Password of the initial admin user created in InfluxDB. This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. Along with `bucket`, `username`, and `organization`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ password: pulumi.Input<string>; /** * The port on which the cluster accepts connections. Valid values: `1024`-`65535`. Cannot be `2375`-`2376`, `7788`-`7799`, `8090`, or `51678`-`51680`. This argument is updatable. */ port?: pulumi.Input<number>; /** * Configures the DB cluster with a public IP to facilitate access. Other resources, such as a VPC, a subnet, an internet gateway, and a route table with routes, are also required to enabled public access, in addition to this argument. See "Usage with Public Internet Access Enabled" for an example configuration with all required resources for public internet access. */ 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>; /** * Map of tags assigned to the resource. 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>; }>; timeouts?: pulumi.Input<inputs.timestreaminfluxdb.DbClusterTimeouts>; /** * Username of the initial admin user created in InfluxDB. Must start with a letter and can't end with a hyphen or contain two consecutive hyphens. This username will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. Along with `bucket`, `organization`, and `password`, this argument will be stored in the secret referred to by the `influxAuthParametersSecretArn` attribute. */ username: pulumi.Input<string>; /** * List of VPC security group IDs to associate with the cluster. */ vpcSecurityGroupIds: pulumi.Input<pulumi.Input<string>[]>; /** * List of VPC subnet IDs to associate with the cluster. Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby. * * The following arguments are optional: */ vpcSubnetIds: pulumi.Input<pulumi.Input<string>[]>; }