UNPKG

@pulumi/aws

Version:

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

363 lines (362 loc) • 15.7 kB
import * as pulumi from "@pulumi/pulumi"; /** * Information about RDS orderable DB instances and valid parameter combinations. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.rds.getOrderableDbInstance({ * engine: "mysql", * engineVersion: "5.7.22", * licenseModel: "general-public-license", * storageType: "standard", * preferredInstanceClasses: [ * "db.r6.xlarge", * "db.m4.large", * "db.t3.small", * ], * }); * ``` * * Valid parameter combinations can also be found with `preferredEngineVersions` and/or `preferredInstanceClasses`. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.rds.getOrderableDbInstance({ * engine: "mysql", * licenseModel: "general-public-license", * preferredEngineVersions: [ * "5.6.35", * "5.6.41", * "5.6.44", * ], * preferredInstanceClasses: [ * "db.t2.small", * "db.t3.medium", * "db.t3.large", * ], * }); * ``` */ export declare function getOrderableDbInstance(args: GetOrderableDbInstanceArgs, opts?: pulumi.InvokeOptions): Promise<GetOrderableDbInstanceResult>; /** * A collection of arguments for invoking getOrderableDbInstance. */ export interface GetOrderableDbInstanceArgs { /** * Availability zone group. */ availabilityZoneGroup?: string; /** * DB engine. Engine values include `aurora`, `aurora-mysql`, `aurora-postgresql`, `docdb`, `mariadb`, `mysql`, `neptune`, `oracle-ee`, `oracle-se`, `oracle-se1`, `oracle-se2`, `postgres`, `sqlserver-ee`, `sqlserver-ex`, `sqlserver-se`, and `sqlserver-web`. */ engine: string; /** * When set to `true`, the data source attempts to return the most recent version matching the other criteria you provide. You must use `engineLatestVersion` with `preferredInstanceClasses` and/or `preferredEngineVersions`. Using `engineLatestVersion` will avoid `multiple RDS DB Instance Classes` errors. If you use `engineLatestVersion` with `preferredInstanceClasses`, the data source returns the latest version for the _first_ matching instance class (instance class priority). **Note:** The data source uses a best-effort approach at selecting the latest version but due to the complexity of version identifiers across engines, using `engineLatestVersion` may _not_ return the latest version in every situation. */ engineLatestVersion?: boolean; /** * Version of the DB engine. If none is provided, the data source tries to use the AWS-defined default version that matches any other criteria. */ engineVersion?: string; /** * DB instance class. Examples of classes are `db.m3.2xlarge`, `db.t2.small`, and `db.m3.medium`. */ instanceClass?: string; /** * License model. Examples of license models are `general-public-license`, `bring-your-own-license`, and `amazon-license`. */ licenseModel?: string; /** * Ordered list of preferred RDS DB instance engine versions. When `engineLatestVersion` is not set, the data source will return the first match in this list that matches any other criteria. If the data source finds no preferred matches or multiple matches without `engineLatestVersion`, it returns an error. **CAUTION:** We don't recommend using `preferredEngineVersions` without `preferredInstanceClasses` since the data source returns an arbitrary `instanceClass` based on the first one AWS returns that matches the engine version and any other criteria. */ preferredEngineVersions?: string[]; /** * Ordered list of preferred RDS DB instance classes. The data source will return the first match in this list that matches any other criteria. If the data source finds no preferred matches or multiple matches without `engineLatestVersion`, it returns an error. If you use `preferredInstanceClasses` without `preferredEngineVersions` or `engineLatestVersion`, the data source returns an arbitrary `engineVersion` based on the first one AWS returns matching the instance class and any other criteria. */ preferredInstanceClasses?: string[]; /** * Whether a DB instance can have a read replica. */ readReplicaCapable?: 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; /** * Storage types. Examples of storage types are `standard`, `io1`, `gp2`, and `aurora`. */ storageType?: string; /** * Use to limit results to engine modes such as `provisioned`. */ supportedEngineModes?: string[]; /** * Use to limit results to network types `IPV4` or `DUAL`. */ supportedNetworkTypes?: string[]; /** * Whether to limit results to instances that support clusters. */ supportsClusters?: boolean; /** * Enable this to ensure a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds. */ supportsEnhancedMonitoring?: boolean; /** * Enable this to ensure a DB instance supports Aurora global databases with a specific combination of other DB engine attributes. */ supportsGlobalDatabases?: boolean; /** * Enable this to ensure a DB instance supports IAM database authentication. */ supportsIamDatabaseAuthentication?: boolean; /** * Enable this to ensure a DB instance supports provisioned IOPS. */ supportsIops?: boolean; /** * Enable this to ensure a DB instance supports Kerberos Authentication. */ supportsKerberosAuthentication?: boolean; /** * Whether to limit results to instances that are multi-AZ capable. */ supportsMultiAz?: boolean; /** * Enable this to ensure a DB instance supports Performance Insights. */ supportsPerformanceInsights?: boolean; /** * Enable this to ensure Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class. */ supportsStorageAutoscaling?: boolean; /** * Enable this to ensure a DB instance supports encrypted storage. */ supportsStorageEncryption?: boolean; /** * Boolean that indicates whether to show only VPC or non-VPC offerings. */ vpc?: boolean; } /** * A collection of values returned by getOrderableDbInstance. */ export interface GetOrderableDbInstanceResult { readonly availabilityZoneGroup: string; /** * Availability zones where the instance is available. */ readonly availabilityZones: string[]; readonly engine: string; readonly engineLatestVersion?: boolean; readonly engineVersion: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly instanceClass: string; readonly licenseModel: string; /** * Maximum total provisioned IOPS for a DB instance. */ readonly maxIopsPerDbInstance: number; /** * Maximum provisioned IOPS per GiB for a DB instance. */ readonly maxIopsPerGib: number; /** * Maximum storage size for a DB instance. */ readonly maxStorageSize: number; /** * Minimum total provisioned IOPS for a DB instance. */ readonly minIopsPerDbInstance: number; /** * Minimum provisioned IOPS per GiB for a DB instance. */ readonly minIopsPerGib: number; /** * Minimum storage size for a DB instance. */ readonly minStorageSize: number; /** * Whether a DB instance is Multi-AZ capable. */ readonly multiAzCapable: boolean; /** * Whether a DB instance supports RDS on Outposts. */ readonly outpostCapable: boolean; readonly preferredEngineVersions?: string[]; readonly preferredInstanceClasses?: string[]; readonly readReplicaCapable: boolean; readonly region: string; readonly storageType: string; readonly supportedEngineModes: string[]; readonly supportedNetworkTypes: string[]; readonly supportsClusters: boolean; readonly supportsEnhancedMonitoring: boolean; readonly supportsGlobalDatabases: boolean; readonly supportsIamDatabaseAuthentication: boolean; readonly supportsIops: boolean; readonly supportsKerberosAuthentication: boolean; readonly supportsMultiAz: boolean; readonly supportsPerformanceInsights: boolean; readonly supportsStorageAutoscaling: boolean; readonly supportsStorageEncryption: boolean; readonly vpc: boolean; } /** * Information about RDS orderable DB instances and valid parameter combinations. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.rds.getOrderableDbInstance({ * engine: "mysql", * engineVersion: "5.7.22", * licenseModel: "general-public-license", * storageType: "standard", * preferredInstanceClasses: [ * "db.r6.xlarge", * "db.m4.large", * "db.t3.small", * ], * }); * ``` * * Valid parameter combinations can also be found with `preferredEngineVersions` and/or `preferredInstanceClasses`. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.rds.getOrderableDbInstance({ * engine: "mysql", * licenseModel: "general-public-license", * preferredEngineVersions: [ * "5.6.35", * "5.6.41", * "5.6.44", * ], * preferredInstanceClasses: [ * "db.t2.small", * "db.t3.medium", * "db.t3.large", * ], * }); * ``` */ export declare function getOrderableDbInstanceOutput(args: GetOrderableDbInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetOrderableDbInstanceResult>; /** * A collection of arguments for invoking getOrderableDbInstance. */ export interface GetOrderableDbInstanceOutputArgs { /** * Availability zone group. */ availabilityZoneGroup?: pulumi.Input<string>; /** * DB engine. Engine values include `aurora`, `aurora-mysql`, `aurora-postgresql`, `docdb`, `mariadb`, `mysql`, `neptune`, `oracle-ee`, `oracle-se`, `oracle-se1`, `oracle-se2`, `postgres`, `sqlserver-ee`, `sqlserver-ex`, `sqlserver-se`, and `sqlserver-web`. */ engine: pulumi.Input<string>; /** * When set to `true`, the data source attempts to return the most recent version matching the other criteria you provide. You must use `engineLatestVersion` with `preferredInstanceClasses` and/or `preferredEngineVersions`. Using `engineLatestVersion` will avoid `multiple RDS DB Instance Classes` errors. If you use `engineLatestVersion` with `preferredInstanceClasses`, the data source returns the latest version for the _first_ matching instance class (instance class priority). **Note:** The data source uses a best-effort approach at selecting the latest version but due to the complexity of version identifiers across engines, using `engineLatestVersion` may _not_ return the latest version in every situation. */ engineLatestVersion?: pulumi.Input<boolean>; /** * Version of the DB engine. If none is provided, the data source tries to use the AWS-defined default version that matches any other criteria. */ engineVersion?: pulumi.Input<string>; /** * DB instance class. Examples of classes are `db.m3.2xlarge`, `db.t2.small`, and `db.m3.medium`. */ instanceClass?: pulumi.Input<string>; /** * License model. Examples of license models are `general-public-license`, `bring-your-own-license`, and `amazon-license`. */ licenseModel?: pulumi.Input<string>; /** * Ordered list of preferred RDS DB instance engine versions. When `engineLatestVersion` is not set, the data source will return the first match in this list that matches any other criteria. If the data source finds no preferred matches or multiple matches without `engineLatestVersion`, it returns an error. **CAUTION:** We don't recommend using `preferredEngineVersions` without `preferredInstanceClasses` since the data source returns an arbitrary `instanceClass` based on the first one AWS returns that matches the engine version and any other criteria. */ preferredEngineVersions?: pulumi.Input<pulumi.Input<string>[]>; /** * Ordered list of preferred RDS DB instance classes. The data source will return the first match in this list that matches any other criteria. If the data source finds no preferred matches or multiple matches without `engineLatestVersion`, it returns an error. If you use `preferredInstanceClasses` without `preferredEngineVersions` or `engineLatestVersion`, the data source returns an arbitrary `engineVersion` based on the first one AWS returns matching the instance class and any other criteria. */ preferredInstanceClasses?: pulumi.Input<pulumi.Input<string>[]>; /** * Whether a DB instance can have a read replica. */ readReplicaCapable?: 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>; /** * Storage types. Examples of storage types are `standard`, `io1`, `gp2`, and `aurora`. */ storageType?: pulumi.Input<string>; /** * Use to limit results to engine modes such as `provisioned`. */ supportedEngineModes?: pulumi.Input<pulumi.Input<string>[]>; /** * Use to limit results to network types `IPV4` or `DUAL`. */ supportedNetworkTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Whether to limit results to instances that support clusters. */ supportsClusters?: pulumi.Input<boolean>; /** * Enable this to ensure a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds. */ supportsEnhancedMonitoring?: pulumi.Input<boolean>; /** * Enable this to ensure a DB instance supports Aurora global databases with a specific combination of other DB engine attributes. */ supportsGlobalDatabases?: pulumi.Input<boolean>; /** * Enable this to ensure a DB instance supports IAM database authentication. */ supportsIamDatabaseAuthentication?: pulumi.Input<boolean>; /** * Enable this to ensure a DB instance supports provisioned IOPS. */ supportsIops?: pulumi.Input<boolean>; /** * Enable this to ensure a DB instance supports Kerberos Authentication. */ supportsKerberosAuthentication?: pulumi.Input<boolean>; /** * Whether to limit results to instances that are multi-AZ capable. */ supportsMultiAz?: pulumi.Input<boolean>; /** * Enable this to ensure a DB instance supports Performance Insights. */ supportsPerformanceInsights?: pulumi.Input<boolean>; /** * Enable this to ensure Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class. */ supportsStorageAutoscaling?: pulumi.Input<boolean>; /** * Enable this to ensure a DB instance supports encrypted storage. */ supportsStorageEncryption?: pulumi.Input<boolean>; /** * Boolean that indicates whether to show only VPC or non-VPC offerings. */ vpc?: pulumi.Input<boolean>; }