com.pulumi.alicloud.alikafka.Instance Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alicloud Show documentation
Show all versions of alicloud Show documentation
A Pulumi package for creating and managing AliCloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.alicloud.alikafka;
import com.pulumi.alicloud.Utilities;
import com.pulumi.alicloud.alikafka.InstanceArgs;
import com.pulumi.alicloud.alikafka.inputs.InstanceState;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* ## Import
*
* AliKafka instance can be imported using the id, e.g.
*
* ```sh
* $ pulumi import alicloud:alikafka/instance:Instance instance <id>
* ```
*
*/
@ResourceType(type="alicloud:alikafka/instance:Instance")
public class Instance extends com.pulumi.resources.CustomResource {
/**
* The basic config for this instance. The input should be json type, only the following key allowed: enable.acl, enable.vpc_sasl_ssl, kafka.log.retention.hours, kafka.message.max.bytes.
*
*/
@Export(name="config", refs={String.class}, tree="[0]")
private Output config;
/**
* @return The basic config for this instance. The input should be json type, only the following key allowed: enable.acl, enable.vpc_sasl_ssl, kafka.log.retention.hours, kafka.message.max.bytes.
*
*/
public Output config() {
return this.config;
}
/**
* The deployment type of the instance. **NOTE:** From version 1.161.0, this attribute supports to be updated. Valid values:
* - 4: eip/vpc instance
* - 5: vpc instance.
*
*/
@Export(name="deployType", refs={Integer.class}, tree="[0]")
private Output deployType;
/**
* @return The deployment type of the instance. **NOTE:** From version 1.161.0, this attribute supports to be updated. Valid values:
* - 4: eip/vpc instance
* - 5: vpc instance.
*
*/
public Output deployType() {
return this.deployType;
}
/**
* The disk size of the instance. When modify this value, it only supports adjust to a greater value.
*
*/
@Export(name="diskSize", refs={Integer.class}, tree="[0]")
private Output diskSize;
/**
* @return The disk size of the instance. When modify this value, it only supports adjust to a greater value.
*
*/
public Output diskSize() {
return this.diskSize;
}
/**
* The disk type of the instance. 0: efficient cloud disk , 1: SSD.
*
*/
@Export(name="diskType", refs={Integer.class}, tree="[0]")
private Output diskType;
/**
* @return The disk type of the instance. 0: efficient cloud disk , 1: SSD.
*
*/
public Output diskType() {
return this.diskType;
}
/**
* The max bandwidth of the instance. It will be ignored when `deploy_type = 5`. When modify this value, it only supports adjust to a greater value.
*
*/
@Export(name="eipMax", refs={Integer.class}, tree="[0]")
private Output eipMax;
/**
* @return The max bandwidth of the instance. It will be ignored when `deploy_type = 5`. When modify this value, it only supports adjust to a greater value.
*
*/
public Output eipMax() {
return this.eipMax;
}
/**
* The EndPoint to access the kafka instance.
*
*/
@Export(name="endPoint", refs={String.class}, tree="[0]")
private Output endPoint;
/**
* @return The EndPoint to access the kafka instance.
*
*/
public Output endPoint() {
return this.endPoint;
}
/**
* (Available since v1.214.1) The number of available groups.
*
*/
@Export(name="groupLeft", refs={Integer.class}, tree="[0]")
private Output groupLeft;
/**
* @return (Available since v1.214.1) The number of available groups.
*
*/
public Output groupLeft() {
return this.groupLeft;
}
/**
* (Available since v1.214.1) The number of used groups.
*
*/
@Export(name="groupUsed", refs={Integer.class}, tree="[0]")
private Output groupUsed;
/**
* @return (Available since v1.214.1) The number of used groups.
*
*/
public Output groupUsed() {
return this.groupUsed;
}
/**
* The max value of io of the instance. When modify this value, it only support adjust to a greater value.
*
*/
@Export(name="ioMax", refs={Integer.class}, tree="[0]")
private Output ioMax;
/**
* @return The max value of io of the instance. When modify this value, it only support adjust to a greater value.
*
*/
public Output ioMax() {
return this.ioMax;
}
/**
* The traffic specification of the instance. We recommend that you configure this parameter.
* - You should specify one of the `io_max` and `io_max_spec` parameters, and `io_max_spec` is recommended.
* - For more information about the valid values, see [Billing](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/billing-overview).
*
*/
@Export(name="ioMaxSpec", refs={String.class}, tree="[0]")
private Output ioMaxSpec;
/**
* @return The traffic specification of the instance. We recommend that you configure this parameter.
* - You should specify one of the `io_max` and `io_max_spec` parameters, and `io_max_spec` is recommended.
* - For more information about the valid values, see [Billing](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/billing-overview).
*
*/
public Output ioMaxSpec() {
return this.ioMaxSpec;
}
/**
* (Available since v1.214.1) The method that you use to purchase partitions.
*
*/
@Export(name="isPartitionBuy", refs={Integer.class}, tree="[0]")
private Output isPartitionBuy;
/**
* @return (Available since v1.214.1) The method that you use to purchase partitions.
*
*/
public Output isPartitionBuy() {
return this.isPartitionBuy;
}
/**
* The ID of the key that is used to encrypt data on standard SSDs in the region of the instance.
*
*/
@Export(name="kmsKeyId", refs={String.class}, tree="[0]")
private Output kmsKeyId;
/**
* @return The ID of the key that is used to encrypt data on standard SSDs in the region of the instance.
*
*/
public Output> kmsKeyId() {
return Codegen.optional(this.kmsKeyId);
}
/**
* Name of your Kafka instance. The length should between 3 and 64 characters. If not set, will use instance id as instance name.
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return Name of your Kafka instance. The length should between 3 and 64 characters. If not set, will use instance id as instance name.
*
*/
public Output name() {
return this.name;
}
/**
* The paid type of the instance. Support two type, "PrePaid": pre paid type instance, "PostPaid": post paid type instance. Default is PostPaid. When modify this value, it only support adjust from post pay to pre pay.
*
*/
@Export(name="paidType", refs={String.class}, tree="[0]")
private Output paidType;
/**
* @return The paid type of the instance. Support two type, "PrePaid": pre paid type instance, "PostPaid": post paid type instance. Default is PostPaid. When modify this value, it only support adjust from post pay to pre pay.
*
*/
public Output> paidType() {
return Codegen.optional(this.paidType);
}
/**
* (Available since v1.214.1) The number of available partitions.
*
*/
@Export(name="partitionLeft", refs={Integer.class}, tree="[0]")
private Output partitionLeft;
/**
* @return (Available since v1.214.1) The number of available partitions.
*
*/
public Output partitionLeft() {
return this.partitionLeft;
}
/**
* The number of partitions.
*
*/
@Export(name="partitionNum", refs={Integer.class}, tree="[0]")
private Output partitionNum;
/**
* @return The number of partitions.
*
*/
public Output> partitionNum() {
return Codegen.optional(this.partitionNum);
}
/**
* (Available since v1.214.1) The number of used partitions.
*
*/
@Export(name="partitionUsed", refs={Integer.class}, tree="[0]")
private Output partitionUsed;
/**
* @return (Available since v1.214.1) The number of used partitions.
*
*/
public Output partitionUsed() {
return this.partitionUsed;
}
/**
* The ID of the resource group. **Note:** Once you set a value of this property, you cannot set it to an empty string anymore.
*
*/
@Export(name="resourceGroupId", refs={String.class}, tree="[0]")
private Output resourceGroupId;
/**
* @return The ID of the resource group. **Note:** Once you set a value of this property, you cannot set it to an empty string anymore.
*
*/
public Output resourceGroupId() {
return this.resourceGroupId;
}
/**
* The ID of security group for this instance. If the security group is empty, system will create a default one.
*
*/
@Export(name="securityGroup", refs={String.class}, tree="[0]")
private Output securityGroup;
/**
* @return The ID of security group for this instance. If the security group is empty, system will create a default one.
*
*/
public Output securityGroup() {
return this.securityGroup;
}
/**
* The zones among which you want to deploy the instance.
*
* > **NOTE:** Arguments io_max, disk_size, topic_quota, eip_max should follow the following constraints.
*
* | io_max | disk_size(min-max:lag) | topic_quota(min-max:lag) | eip_max(min-max:lag) |
* |------|-------------|:----:|:-----:|
* |20 | 500-6100:100 | 50-450:1 | 1-160:1 |
* |30 | 800-6100:100 | 50-450:1 | 1-240:1 |
* |60 | 1400-6100:100 | 80-450:1 | 1-500:1 |
* |90 | 2100-6100:100 | 100-450:1 | 1-500:1 |
* |120 | 2700-6100:100 | 150-450:1 | 1-500:1 |
*
*/
@Export(name="selectedZones", refs={List.class,String.class}, tree="[0,1]")
private Output> selectedZones;
/**
* @return The zones among which you want to deploy the instance.
*
* > **NOTE:** Arguments io_max, disk_size, topic_quota, eip_max should follow the following constraints.
*
* | io_max | disk_size(min-max:lag) | topic_quota(min-max:lag) | eip_max(min-max:lag) |
* |------|-------------|:----:|:-----:|
* |20 | 500-6100:100 | 50-450:1 | 1-160:1 |
* |30 | 800-6100:100 | 50-450:1 | 1-240:1 |
* |60 | 1400-6100:100 | 80-450:1 | 1-500:1 |
* |90 | 2100-6100:100 | 100-450:1 | 1-500:1 |
* |120 | 2700-6100:100 | 150-450:1 | 1-500:1 |
*
*/
public Output>> selectedZones() {
return Codegen.optional(this.selectedZones);
}
/**
* The kafka openSource version for this instance. Only 0.10.2 or 2.2.0 is allowed, default is 0.10.2.
*
*/
@Export(name="serviceVersion", refs={String.class}, tree="[0]")
private Output serviceVersion;
/**
* @return The kafka openSource version for this instance. Only 0.10.2 or 2.2.0 is allowed, default is 0.10.2.
*
*/
public Output serviceVersion() {
return this.serviceVersion;
}
/**
* The spec type of the instance. Support two type, "normal": normal version instance, "professional": professional version instance. Default is normal. When modify this value, it only support adjust from normal to professional. Note only pre paid type instance support professional specific type.
*
*/
@Export(name="specType", refs={String.class}, tree="[0]")
private Output specType;
/**
* @return The spec type of the instance. Support two type, "normal": normal version instance, "professional": professional version instance. Default is normal. When modify this value, it only support adjust from normal to professional. Note only pre paid type instance support professional specific type.
*
*/
public Output> specType() {
return Codegen.optional(this.specType);
}
/**
* The status of the instance.
*
*/
@Export(name="status", refs={Integer.class}, tree="[0]")
private Output status;
/**
* @return The status of the instance.
*
*/
public Output status() {
return this.status;
}
/**
* A mapping of tags to assign to the resource.
*
*/
@Export(name="tags", refs={Map.class,String.class,Object.class}, tree="[0,1,2]")
private Output> tags;
/**
* @return A mapping of tags to assign to the resource.
*
*/
public Output>> tags() {
return Codegen.optional(this.tags);
}
/**
* (Available since v1.214.1) The number of available topics.
*
*/
@Export(name="topicLeft", refs={Integer.class}, tree="[0]")
private Output topicLeft;
/**
* @return (Available since v1.214.1) The number of available topics.
*
*/
public Output topicLeft() {
return this.topicLeft;
}
/**
* (Available since v1.214.1) The number of purchased topics.
*
*/
@Export(name="topicNumOfBuy", refs={Integer.class}, tree="[0]")
private Output topicNumOfBuy;
/**
* @return (Available since v1.214.1) The number of purchased topics.
*
*/
public Output topicNumOfBuy() {
return this.topicNumOfBuy;
}
/**
* The max num of topic can be creation of the instance.
* It has been deprecated since version 1.194.0 and using `partition_num` instead.
* Currently, its value only can be set to 50 when creating it, and finally depends on `partition_num` value: <`topic_quota`> = 1000 + <`partition_num`>.
* Therefore, you can update it by updating the `partition_num`, and it is the only updating path.
*
* @deprecated
* Attribute `topic_quota` has been deprecated since 1.194.0 and it will be removed in the next future. Using new attribute `partition_num` instead.
*
*/
@Deprecated /* Attribute `topic_quota` has been deprecated since 1.194.0 and it will be removed in the next future. Using new attribute `partition_num` instead. */
@Export(name="topicQuota", refs={Integer.class}, tree="[0]")
private Output topicQuota;
/**
* @return The max num of topic can be creation of the instance.
* It has been deprecated since version 1.194.0 and using `partition_num` instead.
* Currently, its value only can be set to 50 when creating it, and finally depends on `partition_num` value: <`topic_quota`> = 1000 + <`partition_num`>.
* Therefore, you can update it by updating the `partition_num`, and it is the only updating path.
*
*/
public Output topicQuota() {
return this.topicQuota;
}
/**
* (Available since v1.214.1) The number of used topics.
*
*/
@Export(name="topicUsed", refs={Integer.class}, tree="[0]")
private Output topicUsed;
/**
* @return (Available since v1.214.1) The number of used topics.
*
*/
public Output topicUsed() {
return this.topicUsed;
}
/**
* The VPC ID of the instance.
*
*/
@Export(name="vpcId", refs={String.class}, tree="[0]")
private Output vpcId;
/**
* @return The VPC ID of the instance.
*
*/
public Output vpcId() {
return this.vpcId;
}
/**
* The ID of attaching vswitch to instance.
*
*/
@Export(name="vswitchId", refs={String.class}, tree="[0]")
private Output vswitchId;
/**
* @return The ID of attaching vswitch to instance.
*
*/
public Output vswitchId() {
return this.vswitchId;
}
/**
* The zone ID of the instance. The value can be in zone x or region id-x format. **NOTE**: When the available zone is insufficient, another availability zone may be deployed.
*
*/
@Export(name="zoneId", refs={String.class}, tree="[0]")
private Output zoneId;
/**
* @return The zone ID of the instance. The value can be in zone x or region id-x format. **NOTE**: When the available zone is insufficient, another availability zone may be deployed.
*
*/
public Output zoneId() {
return this.zoneId;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public Instance(String name) {
this(name, InstanceArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public Instance(String name, InstanceArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public Instance(String name, InstanceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("alicloud:alikafka/instance:Instance", name, args == null ? InstanceArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
}
private Instance(String name, Output id, @Nullable InstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("alicloud:alikafka/instance:Instance", name, state, makeResourceOptions(options, id));
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host 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
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static Instance get(String name, Output id, @Nullable InstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new Instance(name, id, state, options);
}
}