com.pulumi.alicloud.alikafka.SaslAclArgs 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.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
public final class SaslAclArgs extends com.pulumi.resources.ResourceArgs {
public static final SaslAclArgs Empty = new SaslAclArgs();
/**
* Operation type for this acl. The operation type can only be "Write" and "Read".
*
*/
@Import(name="aclOperationType", required=true)
private Output aclOperationType;
/**
* @return Operation type for this acl. The operation type can only be "Write" and "Read".
*
*/
public Output aclOperationType() {
return this.aclOperationType;
}
/**
* Resource name for this acl. The resource name should be a topic or consumer group name.
*
*/
@Import(name="aclResourceName", required=true)
private Output aclResourceName;
/**
* @return Resource name for this acl. The resource name should be a topic or consumer group name.
*
*/
public Output aclResourceName() {
return this.aclResourceName;
}
/**
* Resource pattern type for this acl. The resource pattern support two types "LITERAL" and "PREFIXED". "LITERAL": A literal name defines the full name of a resource. The special wildcard character "*" can be used to represent a resource with any name. "PREFIXED": A prefixed name defines a prefix for a resource.
*
*/
@Import(name="aclResourcePatternType", required=true)
private Output aclResourcePatternType;
/**
* @return Resource pattern type for this acl. The resource pattern support two types "LITERAL" and "PREFIXED". "LITERAL": A literal name defines the full name of a resource. The special wildcard character "*" can be used to represent a resource with any name. "PREFIXED": A prefixed name defines a prefix for a resource.
*
*/
public Output aclResourcePatternType() {
return this.aclResourcePatternType;
}
/**
* Resource type for this acl. The resource type can only be "Topic" and "Group".
*
*/
@Import(name="aclResourceType", required=true)
private Output aclResourceType;
/**
* @return Resource type for this acl. The resource type can only be "Topic" and "Group".
*
*/
public Output aclResourceType() {
return this.aclResourceType;
}
/**
* ID of the ALIKAFKA Instance that owns the groups.
*
*/
@Import(name="instanceId", required=true)
private Output instanceId;
/**
* @return ID of the ALIKAFKA Instance that owns the groups.
*
*/
public Output instanceId() {
return this.instanceId;
}
/**
* Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.
*
*/
@Import(name="username", required=true)
private Output username;
/**
* @return Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.
*
*/
public Output username() {
return this.username;
}
private SaslAclArgs() {}
private SaslAclArgs(SaslAclArgs $) {
this.aclOperationType = $.aclOperationType;
this.aclResourceName = $.aclResourceName;
this.aclResourcePatternType = $.aclResourcePatternType;
this.aclResourceType = $.aclResourceType;
this.instanceId = $.instanceId;
this.username = $.username;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SaslAclArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private SaslAclArgs $;
public Builder() {
$ = new SaslAclArgs();
}
public Builder(SaslAclArgs defaults) {
$ = new SaslAclArgs(Objects.requireNonNull(defaults));
}
/**
* @param aclOperationType Operation type for this acl. The operation type can only be "Write" and "Read".
*
* @return builder
*
*/
public Builder aclOperationType(Output aclOperationType) {
$.aclOperationType = aclOperationType;
return this;
}
/**
* @param aclOperationType Operation type for this acl. The operation type can only be "Write" and "Read".
*
* @return builder
*
*/
public Builder aclOperationType(String aclOperationType) {
return aclOperationType(Output.of(aclOperationType));
}
/**
* @param aclResourceName Resource name for this acl. The resource name should be a topic or consumer group name.
*
* @return builder
*
*/
public Builder aclResourceName(Output aclResourceName) {
$.aclResourceName = aclResourceName;
return this;
}
/**
* @param aclResourceName Resource name for this acl. The resource name should be a topic or consumer group name.
*
* @return builder
*
*/
public Builder aclResourceName(String aclResourceName) {
return aclResourceName(Output.of(aclResourceName));
}
/**
* @param aclResourcePatternType Resource pattern type for this acl. The resource pattern support two types "LITERAL" and "PREFIXED". "LITERAL": A literal name defines the full name of a resource. The special wildcard character "*" can be used to represent a resource with any name. "PREFIXED": A prefixed name defines a prefix for a resource.
*
* @return builder
*
*/
public Builder aclResourcePatternType(Output aclResourcePatternType) {
$.aclResourcePatternType = aclResourcePatternType;
return this;
}
/**
* @param aclResourcePatternType Resource pattern type for this acl. The resource pattern support two types "LITERAL" and "PREFIXED". "LITERAL": A literal name defines the full name of a resource. The special wildcard character "*" can be used to represent a resource with any name. "PREFIXED": A prefixed name defines a prefix for a resource.
*
* @return builder
*
*/
public Builder aclResourcePatternType(String aclResourcePatternType) {
return aclResourcePatternType(Output.of(aclResourcePatternType));
}
/**
* @param aclResourceType Resource type for this acl. The resource type can only be "Topic" and "Group".
*
* @return builder
*
*/
public Builder aclResourceType(Output aclResourceType) {
$.aclResourceType = aclResourceType;
return this;
}
/**
* @param aclResourceType Resource type for this acl. The resource type can only be "Topic" and "Group".
*
* @return builder
*
*/
public Builder aclResourceType(String aclResourceType) {
return aclResourceType(Output.of(aclResourceType));
}
/**
* @param instanceId ID of the ALIKAFKA Instance that owns the groups.
*
* @return builder
*
*/
public Builder instanceId(Output instanceId) {
$.instanceId = instanceId;
return this;
}
/**
* @param instanceId ID of the ALIKAFKA Instance that owns the groups.
*
* @return builder
*
*/
public Builder instanceId(String instanceId) {
return instanceId(Output.of(instanceId));
}
/**
* @param username Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.
*
* @return builder
*
*/
public Builder username(Output username) {
$.username = username;
return this;
}
/**
* @param username Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.
*
* @return builder
*
*/
public Builder username(String username) {
return username(Output.of(username));
}
public SaslAclArgs build() {
if ($.aclOperationType == null) {
throw new MissingRequiredPropertyException("SaslAclArgs", "aclOperationType");
}
if ($.aclResourceName == null) {
throw new MissingRequiredPropertyException("SaslAclArgs", "aclResourceName");
}
if ($.aclResourcePatternType == null) {
throw new MissingRequiredPropertyException("SaslAclArgs", "aclResourcePatternType");
}
if ($.aclResourceType == null) {
throw new MissingRequiredPropertyException("SaslAclArgs", "aclResourceType");
}
if ($.instanceId == null) {
throw new MissingRequiredPropertyException("SaslAclArgs", "instanceId");
}
if ($.username == null) {
throw new MissingRequiredPropertyException("SaslAclArgs", "username");
}
return $;
}
}
}