import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * RocketMQ Message Queue is a distributed messaging middleware service built on Apache RocketMQ. It is fully compatible with all open-source RocketMQ components and concepts, offering low latency, high elasticity and high reliability, and high throughput. No changes to business code are required, enabling users to quickly migrate to the cloud. * * ## Import * * ```sh * $ pulumi import volcenginecc:rocketmq/instance:Instance example "instance_id" * ``` */ export declare class Instance extends pulumi.CustomResource { /** * Get an existing Instance 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, state?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance; /** * Returns true if the given object is an instance of Instance. 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 Instance; /** * Account ID to which the instance belongs. */ readonly accountId: pulumi.Output; /** * List of allowlist IDs bound to the instance. After binding an allowlist, only IP addresses and address ranges configured in the allowlist can access this instance. If no allowlist is bound to the instance, all IP addresses are denied access to the instance. */ readonly allowListIds: pulumi.Output; /** * Whether private network domain name supports public resolution. true: enabled false: disabled */ readonly applyPrivateDnsToPublic: pulumi.Output; /** * Whether to automatically create queues when the instance specification changes. */ readonly autoScaleQueue: pulumi.Output; /** * Remaining number of partitions that can be created. */ readonly availableQueueNumber: pulumi.Output; /** * Billing method and related billing information for the instance. */ readonly chargeDetail: pulumi.Output; /** * Instance compute specification. You can view the currently available compute specifications in the product specifications list. */ readonly computeSpec: pulumi.Output; readonly connectionInfos: pulumi.Output; /** * Instance creation time. The time format is YYYY-MM-DD'T'HH:MM:SS'Z'. */ readonly createTime: pulumi.Output; /** * EIP ID. Specifying EipId enables public access for the instance. EIP provides independent public IP resources, including public IP addresses and outbound bandwidth services. After enabling public access by specifying this parameter, the public address will be bound to your Elastic IP (EIP), and fees will be charged for the EIP resource. */ readonly eipId: pulumi.Output; /** * Whether to use SSL encryption. */ readonly enableSsl: pulumi.Output; /** * Message retention period on the RocketMQ Message Queue server. Messages exceeding the retention period will be expired and cleaned up. Unit: hours. Value range: 1–72 hours. */ readonly fileReservedTime: pulumi.Output; /** * Brief description of the instance. Length range: 1–128 characters. */ readonly instanceDescription: pulumi.Output; /** * Instance ID. */ readonly instanceId: pulumi.Output; /** * Instance name. Must meet the following requirements: can only contain Chinese characters, letters, numbers, underscores (_), and hyphens (-); cannot start with a number or hyphen (-); length must be 1–128 characters. If no name is specified when creating the instance, the instance ID will be used as the default name. */ readonly instanceName: pulumi.Output; /** * Instance status. */ readonly instanceStatus: pulumi.Output; /** * IP version. Options are IPv4 or DualStack. */ readonly ipVersionType: pulumi.Output; /** * Instance network type, fixed as PrivateNetwork. */ readonly networkTypes: pulumi.Output; /** * Product configuration information. Note: Only RocketMQ 5.x instances support adjusting the TPS ratio for the instance. */ readonly productInfo: pulumi.Output; /** * The IAM project to which the newly created instance belongs. If not set, the new instance will be bound to the IAM project named 'default'. */ readonly projectName: pulumi.Output; /** * Region ID where the instance is located. */ readonly regionId: pulumi.Output; /** * The instance's public network connection policy only needs to be set when public access is enabled. Supported settings are: enforcing: When accessing the instance via the public network, SSL authentication is required. SSL authentication enables encrypted data transmission, offering higher security compared to standard public access, but may reduce performance. permissive: When accessing the instance via the public network, SSL authentication is optional. After the instance is created and public access is enabled, the SSL connection policy cannot be modified. To change it, you must disable and re-enable public access for the instance, and set the SSL connection policy again when re-enabling. For details, see Setting Public Access and SSL Authentication Policy. */ readonly sslMode: pulumi.Output; /** * Instance storage space, measured in GiB and must be specified in multiples of 100. The value range depends on the currently selected compute specification. */ readonly storageSpace: pulumi.Output; /** * VPC subnet ID where the instance resides. After the instance is created, the associated VPC and subnet cannot be modified. Please operate carefully when creating the instance. You can call the DescribeVpcs API of the VPC to query the available VPC and subnet list. */ readonly subnetId: pulumi.Output; readonly tags: pulumi.Output; /** * Number of consumer groups (Group) currently created for the instance. */ readonly usedGroupNumber: pulumi.Output; /** * Number of queues already used by the instance. */ readonly usedQueueNumber: pulumi.Output; /** * Used storage space for the instance, in GiB. */ readonly usedStorageSpace: pulumi.Output; /** * Number of topics created in the current instance. */ readonly usedTopicNumber: pulumi.Output; /** * Supported RocketMQ versions. Currently supported versions include: 4.8: compatible with RocketMQ 4.x series. 5.x: compatible with RocketMQ 5.x series. The 5.x version is currently available by whitelist application. To use it, contact technical support to apply for access. */ readonly version: pulumi.Output; /** * VPC ID where the instance resides. After the instance is created, the associated VPC and subnet cannot be modified. Please operate carefully when creating the instance. You can call the DescribeVpcs API of the VPC to query the available VPC and subnet list. */ readonly vpcId: pulumi.Output; /** * Availability zone ID where the instance is located. RocketMQ Message Queue instances support cross-AZ deployment. When viewing available compute specifications in a specified availability zone, you can specify multiple zones. Separate multiple availability zone IDs with commas (,). You can call DescribeAvailabilityZones to query the list of currently available zones. */ readonly zoneId: pulumi.Output; /** * Create a Instance 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: InstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Instance resources. */ export interface InstanceState { /** * Account ID to which the instance belongs. */ accountId?: pulumi.Input; /** * List of allowlist IDs bound to the instance. After binding an allowlist, only IP addresses and address ranges configured in the allowlist can access this instance. If no allowlist is bound to the instance, all IP addresses are denied access to the instance. */ allowListIds?: pulumi.Input[]>; /** * Whether private network domain name supports public resolution. true: enabled false: disabled */ applyPrivateDnsToPublic?: pulumi.Input; /** * Whether to automatically create queues when the instance specification changes. */ autoScaleQueue?: pulumi.Input; /** * Remaining number of partitions that can be created. */ availableQueueNumber?: pulumi.Input; /** * Billing method and related billing information for the instance. */ chargeDetail?: pulumi.Input; /** * Instance compute specification. You can view the currently available compute specifications in the product specifications list. */ computeSpec?: pulumi.Input; connectionInfos?: pulumi.Input[]>; /** * Instance creation time. The time format is YYYY-MM-DD'T'HH:MM:SS'Z'. */ createTime?: pulumi.Input; /** * EIP ID. Specifying EipId enables public access for the instance. EIP provides independent public IP resources, including public IP addresses and outbound bandwidth services. After enabling public access by specifying this parameter, the public address will be bound to your Elastic IP (EIP), and fees will be charged for the EIP resource. */ eipId?: pulumi.Input; /** * Whether to use SSL encryption. */ enableSsl?: pulumi.Input; /** * Message retention period on the RocketMQ Message Queue server. Messages exceeding the retention period will be expired and cleaned up. Unit: hours. Value range: 1–72 hours. */ fileReservedTime?: pulumi.Input; /** * Brief description of the instance. Length range: 1–128 characters. */ instanceDescription?: pulumi.Input; /** * Instance ID. */ instanceId?: pulumi.Input; /** * Instance name. Must meet the following requirements: can only contain Chinese characters, letters, numbers, underscores (_), and hyphens (-); cannot start with a number or hyphen (-); length must be 1–128 characters. If no name is specified when creating the instance, the instance ID will be used as the default name. */ instanceName?: pulumi.Input; /** * Instance status. */ instanceStatus?: pulumi.Input; /** * IP version. Options are IPv4 or DualStack. */ ipVersionType?: pulumi.Input; /** * Instance network type, fixed as PrivateNetwork. */ networkTypes?: pulumi.Input; /** * Product configuration information. Note: Only RocketMQ 5.x instances support adjusting the TPS ratio for the instance. */ productInfo?: pulumi.Input; /** * The IAM project to which the newly created instance belongs. If not set, the new instance will be bound to the IAM project named 'default'. */ projectName?: pulumi.Input; /** * Region ID where the instance is located. */ regionId?: pulumi.Input; /** * The instance's public network connection policy only needs to be set when public access is enabled. Supported settings are: enforcing: When accessing the instance via the public network, SSL authentication is required. SSL authentication enables encrypted data transmission, offering higher security compared to standard public access, but may reduce performance. permissive: When accessing the instance via the public network, SSL authentication is optional. After the instance is created and public access is enabled, the SSL connection policy cannot be modified. To change it, you must disable and re-enable public access for the instance, and set the SSL connection policy again when re-enabling. For details, see Setting Public Access and SSL Authentication Policy. */ sslMode?: pulumi.Input; /** * Instance storage space, measured in GiB and must be specified in multiples of 100. The value range depends on the currently selected compute specification. */ storageSpace?: pulumi.Input; /** * VPC subnet ID where the instance resides. After the instance is created, the associated VPC and subnet cannot be modified. Please operate carefully when creating the instance. You can call the DescribeVpcs API of the VPC to query the available VPC and subnet list. */ subnetId?: pulumi.Input; tags?: pulumi.Input[]>; /** * Number of consumer groups (Group) currently created for the instance. */ usedGroupNumber?: pulumi.Input; /** * Number of queues already used by the instance. */ usedQueueNumber?: pulumi.Input; /** * Used storage space for the instance, in GiB. */ usedStorageSpace?: pulumi.Input; /** * Number of topics created in the current instance. */ usedTopicNumber?: pulumi.Input; /** * Supported RocketMQ versions. Currently supported versions include: 4.8: compatible with RocketMQ 4.x series. 5.x: compatible with RocketMQ 5.x series. The 5.x version is currently available by whitelist application. To use it, contact technical support to apply for access. */ version?: pulumi.Input; /** * VPC ID where the instance resides. After the instance is created, the associated VPC and subnet cannot be modified. Please operate carefully when creating the instance. You can call the DescribeVpcs API of the VPC to query the available VPC and subnet list. */ vpcId?: pulumi.Input; /** * Availability zone ID where the instance is located. RocketMQ Message Queue instances support cross-AZ deployment. When viewing available compute specifications in a specified availability zone, you can specify multiple zones. Separate multiple availability zone IDs with commas (,). You can call DescribeAvailabilityZones to query the list of currently available zones. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { /** * List of allowlist IDs bound to the instance. After binding an allowlist, only IP addresses and address ranges configured in the allowlist can access this instance. If no allowlist is bound to the instance, all IP addresses are denied access to the instance. */ allowListIds?: pulumi.Input[]>; /** * Whether to automatically create queues when the instance specification changes. */ autoScaleQueue?: pulumi.Input; /** * Billing method and related billing information for the instance. */ chargeDetail: pulumi.Input; /** * Instance compute specification. You can view the currently available compute specifications in the product specifications list. */ computeSpec: pulumi.Input; /** * EIP ID. Specifying EipId enables public access for the instance. EIP provides independent public IP resources, including public IP addresses and outbound bandwidth services. After enabling public access by specifying this parameter, the public address will be bound to your Elastic IP (EIP), and fees will be charged for the EIP resource. */ eipId?: pulumi.Input; /** * Whether to use SSL encryption. */ enableSsl?: pulumi.Input; /** * Message retention period on the RocketMQ Message Queue server. Messages exceeding the retention period will be expired and cleaned up. Unit: hours. Value range: 1–72 hours. */ fileReservedTime: pulumi.Input; /** * Brief description of the instance. Length range: 1–128 characters. */ instanceDescription?: pulumi.Input; /** * Instance name. Must meet the following requirements: can only contain Chinese characters, letters, numbers, underscores (_), and hyphens (-); cannot start with a number or hyphen (-); length must be 1–128 characters. If no name is specified when creating the instance, the instance ID will be used as the default name. */ instanceName?: pulumi.Input; /** * IP version. Options are IPv4 or DualStack. */ ipVersionType?: pulumi.Input; /** * Instance network type, fixed as PrivateNetwork. */ networkTypes: pulumi.Input; /** * Product configuration information. Note: Only RocketMQ 5.x instances support adjusting the TPS ratio for the instance. */ productInfo?: pulumi.Input; /** * The IAM project to which the newly created instance belongs. If not set, the new instance will be bound to the IAM project named 'default'. */ projectName?: pulumi.Input; /** * The instance's public network connection policy only needs to be set when public access is enabled. Supported settings are: enforcing: When accessing the instance via the public network, SSL authentication is required. SSL authentication enables encrypted data transmission, offering higher security compared to standard public access, but may reduce performance. permissive: When accessing the instance via the public network, SSL authentication is optional. After the instance is created and public access is enabled, the SSL connection policy cannot be modified. To change it, you must disable and re-enable public access for the instance, and set the SSL connection policy again when re-enabling. For details, see Setting Public Access and SSL Authentication Policy. */ sslMode?: pulumi.Input; /** * Instance storage space, measured in GiB and must be specified in multiples of 100. The value range depends on the currently selected compute specification. */ storageSpace: pulumi.Input; /** * VPC subnet ID where the instance resides. After the instance is created, the associated VPC and subnet cannot be modified. Please operate carefully when creating the instance. You can call the DescribeVpcs API of the VPC to query the available VPC and subnet list. */ subnetId: pulumi.Input; tags?: pulumi.Input[]>; /** * Supported RocketMQ versions. Currently supported versions include: 4.8: compatible with RocketMQ 4.x series. 5.x: compatible with RocketMQ 5.x series. The 5.x version is currently available by whitelist application. To use it, contact technical support to apply for access. */ version: pulumi.Input; /** * VPC ID where the instance resides. After the instance is created, the associated VPC and subnet cannot be modified. Please operate carefully when creating the instance. You can call the DescribeVpcs API of the VPC to query the available VPC and subnet list. */ vpcId: pulumi.Input; /** * Availability zone ID where the instance is located. RocketMQ Message Queue instances support cross-AZ deployment. When viewing available compute specifications in a specified availability zone, you can specify multiple zones. Separate multiple availability zone IDs with commas (,). You can call DescribeAvailabilityZones to query the list of currently available zones. */ zoneId: pulumi.Input; }