UNPKG

@pulumi/aws

Version:

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

258 lines (257 loc) • 9.12 kB
import * as pulumi from "@pulumi/pulumi"; /** * Use this data source to get information about a DB Snapshot for use when provisioning DB instances * * > **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters. * See the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const prod = new aws.rds.Instance("prod", { * allocatedStorage: 10, * engine: "mysql", * engineVersion: "5.6.17", * instanceClass: aws.rds.InstanceType.T2_Micro, * dbName: "mydb", * username: "foo", * password: "bar", * dbSubnetGroupName: "my_database_subnet_group", * parameterGroupName: "default.mysql5.6", * }); * const latestProdSnapshot = aws.rds.getSnapshotOutput({ * dbInstanceIdentifier: prod.identifier, * mostRecent: true, * }); * // Use the latest production snapshot to create a dev instance. * const dev = new aws.rds.Instance("dev", { * instanceClass: aws.rds.InstanceType.T2_Micro, * dbName: "mydbdev", * snapshotIdentifier: latestProdSnapshot.apply(latestProdSnapshot => latestProdSnapshot.id), * }); * ``` */ export declare function getSnapshot(args?: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetSnapshotResult>; /** * A collection of arguments for invoking getSnapshot. */ export interface GetSnapshotArgs { /** * Returns the list of snapshots created by the specific db_instance */ dbInstanceIdentifier?: string; /** * Returns information on a specific snapshot_id. */ dbSnapshotIdentifier?: string; /** * Set this value to true to include manual DB snapshots that are public and can be * copied or restored by any AWS account, otherwise set this value to false. The default is `false`. */ includePublic?: boolean; /** * Set this value to true to include shared manual DB snapshots from other * AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to false. * The default is `false`. */ includeShared?: boolean; /** * If more than one result is returned, use the most * recent Snapshot. */ mostRecent?: 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?: string; /** * Type of snapshots to be returned. If you don't specify a SnapshotType * value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not * included in the returned results by default. Possible values are, `automated`, `manual`, `shared`, `public` and `awsbackup`. */ snapshotType?: string; /** * Mapping of tags, each pair of which must exactly match * a pair on the desired DB snapshot. * * > **NOTE:** One of either `dbInstanceIdentifier` or `dbSnapshotIdentifier` is required. */ tags?: { [key: string]: string; }; } /** * A collection of values returned by getSnapshot. */ export interface GetSnapshotResult { /** * Allocated storage size in gigabytes (GB). */ readonly allocatedStorage: number; /** * Name of the Availability Zone the DB instance was located in at the time of the DB snapshot. */ readonly availabilityZone: string; readonly dbInstanceIdentifier?: string; /** * ARN for the DB snapshot. */ readonly dbSnapshotArn: string; readonly dbSnapshotIdentifier?: string; /** * Whether the DB snapshot is encrypted. */ readonly encrypted: boolean; /** * Name of the database engine. */ readonly engine: string; /** * Version of the database engine. */ readonly engineVersion: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly includePublic?: boolean; readonly includeShared?: boolean; /** * Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot. */ readonly iops: number; /** * ARN for the KMS encryption key. */ readonly kmsKeyId: string; /** * License model information for the restored DB instance. */ readonly licenseModel: string; readonly mostRecent?: boolean; /** * Provides the option group name for the DB snapshot. */ readonly optionGroupName: string; /** * Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC). Doesn't change when the snapshot is copied. */ readonly originalSnapshotCreateTime: string; readonly port: number; readonly region: string; /** * Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC). Changes for the copy when the snapshot is copied. */ readonly snapshotCreateTime: string; readonly snapshotType?: string; /** * DB snapshot ARN that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy. */ readonly sourceDbSnapshotIdentifier: string; /** * Region that the DB snapshot was created in or copied from. */ readonly sourceRegion: string; /** * Status of this DB snapshot. */ readonly status: string; /** * Storage type associated with DB snapshot. */ readonly storageType: string; readonly tags: { [key: string]: string; }; /** * ID of the VPC associated with the DB snapshot. */ readonly vpcId: string; } /** * Use this data source to get information about a DB Snapshot for use when provisioning DB instances * * > **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters. * See the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const prod = new aws.rds.Instance("prod", { * allocatedStorage: 10, * engine: "mysql", * engineVersion: "5.6.17", * instanceClass: aws.rds.InstanceType.T2_Micro, * dbName: "mydb", * username: "foo", * password: "bar", * dbSubnetGroupName: "my_database_subnet_group", * parameterGroupName: "default.mysql5.6", * }); * const latestProdSnapshot = aws.rds.getSnapshotOutput({ * dbInstanceIdentifier: prod.identifier, * mostRecent: true, * }); * // Use the latest production snapshot to create a dev instance. * const dev = new aws.rds.Instance("dev", { * instanceClass: aws.rds.InstanceType.T2_Micro, * dbName: "mydbdev", * snapshotIdentifier: latestProdSnapshot.apply(latestProdSnapshot => latestProdSnapshot.id), * }); * ``` */ export declare function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSnapshotResult>; /** * A collection of arguments for invoking getSnapshot. */ export interface GetSnapshotOutputArgs { /** * Returns the list of snapshots created by the specific db_instance */ dbInstanceIdentifier?: pulumi.Input<string>; /** * Returns information on a specific snapshot_id. */ dbSnapshotIdentifier?: pulumi.Input<string>; /** * Set this value to true to include manual DB snapshots that are public and can be * copied or restored by any AWS account, otherwise set this value to false. The default is `false`. */ includePublic?: pulumi.Input<boolean>; /** * Set this value to true to include shared manual DB snapshots from other * AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to false. * The default is `false`. */ includeShared?: pulumi.Input<boolean>; /** * If more than one result is returned, use the most * recent Snapshot. */ mostRecent?: 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>; /** * Type of snapshots to be returned. If you don't specify a SnapshotType * value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not * included in the returned results by default. Possible values are, `automated`, `manual`, `shared`, `public` and `awsbackup`. */ snapshotType?: pulumi.Input<string>; /** * Mapping of tags, each pair of which must exactly match * a pair on the desired DB snapshot. * * > **NOTE:** One of either `dbInstanceIdentifier` or `dbSnapshotIdentifier` is required. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; }