@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
181 lines (180 loc) • 5.67 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Use this data source to get the ID of an available HuaweiCloud DMS product.
*
* ## Example Usage
* ### Filter DMS kafka product list by I/O specification
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as huaweicloud from "@pulumi/huaweicloud";
*
* const product1 = pulumi.output(huaweicloud.Dms.getProduct({
* engine: "kafka",
* instanceType: "cluster",
* partitionNum: "300",
* storage: "600",
* storageSpecCode: "dms.physical.storage.high",
* version: "1.1.0",
* }));
* ```
* ### Filter DMS kafka product list by underlying VM specification
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as huaweicloud from "@pulumi/huaweicloud";
*
* const product2 = pulumi.output(huaweicloud.Dms.getProduct({
* engine: "kafka",
* instanceType: "cluster",
* version: "2.3.0",
* vmSpecification: "c6.large.2",
* }));
* ```
*/
export declare function getProduct(args: GetProductArgs, opts?: pulumi.InvokeOptions): Promise<GetProductResult>;
/**
* A collection of arguments for invoking getProduct.
*/
export interface GetProductArgs {
/**
* Indicates the list of availability zones with available resources.
*/
availabilityZones?: string[];
/**
* Indicates the baseline bandwidth of a DMS instance.
* The valid values are **100MB**, **300MB**, **600MB** and **1200MB**.
*/
bandwidth?: string;
/**
* Indicates the name of a message engine. The valid values are **kafka**, **rabbitmq**.
*/
engine: string;
/**
* Indicates an instance type. The valid values are **single** and **cluster**.
*/
instanceType: string;
/**
* @deprecated io_type has deprecated, please use storage_spec_code
*/
ioType?: string;
/**
* Indicates the number of nodes in a cluster.
*/
nodeNum?: string;
/**
* Indicates the maximum number of topics that can be created for a Kafka instance.
* The valid values are **300**, **900** and **1800**.
*/
partitionNum?: string;
/**
* The region in which to obtain the dms products. If omitted, the provider-level region
* will be used.
*/
region?: string;
/**
* Indicates the storage capacity of the resource.
* The default value is the storage capacity of the product.
*/
storage?: string;
/**
* Indicates an I/O specification.
* The valid values are **dms.physical.storage.high** and **dms.physical.storage.ultra**.
*/
storageSpecCode?: string;
/**
* Indicates the version of a message engine.
*/
version?: string;
/**
* Indicates underlying VM specification, such as **c6.large.2**.
*/
vmSpecification?: string;
}
/**
* A collection of values returned by getProduct.
*/
export interface GetProductResult {
readonly availabilityZones: string[];
readonly bandwidth: string;
readonly engine: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly instanceType: string;
/**
* @deprecated io_type has deprecated, please use storage_spec_code
*/
readonly ioType: string;
readonly nodeNum: string;
readonly partitionNum: string;
readonly region: string;
readonly storage: string;
readonly storageSpecCode: string;
/**
* The available I/O specifications.
*/
readonly storageSpecCodes: string[];
readonly version: string;
readonly vmSpecification: string;
}
export declare function getProductOutput(args: GetProductOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetProductResult>;
/**
* A collection of arguments for invoking getProduct.
*/
export interface GetProductOutputArgs {
/**
* Indicates the list of availability zones with available resources.
*/
availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Indicates the baseline bandwidth of a DMS instance.
* The valid values are **100MB**, **300MB**, **600MB** and **1200MB**.
*/
bandwidth?: pulumi.Input<string>;
/**
* Indicates the name of a message engine. The valid values are **kafka**, **rabbitmq**.
*/
engine: pulumi.Input<string>;
/**
* Indicates an instance type. The valid values are **single** and **cluster**.
*/
instanceType: pulumi.Input<string>;
/**
* @deprecated io_type has deprecated, please use storage_spec_code
*/
ioType?: pulumi.Input<string>;
/**
* Indicates the number of nodes in a cluster.
*/
nodeNum?: pulumi.Input<string>;
/**
* Indicates the maximum number of topics that can be created for a Kafka instance.
* The valid values are **300**, **900** and **1800**.
*/
partitionNum?: pulumi.Input<string>;
/**
* The region in which to obtain the dms products. If omitted, the provider-level region
* will be used.
*/
region?: pulumi.Input<string>;
/**
* Indicates the storage capacity of the resource.
* The default value is the storage capacity of the product.
*/
storage?: pulumi.Input<string>;
/**
* Indicates an I/O specification.
* The valid values are **dms.physical.storage.high** and **dms.physical.storage.ultra**.
*/
storageSpecCode?: pulumi.Input<string>;
/**
* Indicates the version of a message engine.
*/
version?: pulumi.Input<string>;
/**
* Indicates underlying VM specification, such as **c6.large.2**.
*/
vmSpecification?: pulumi.Input<string>;
}