All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.consul.inputs.AclRoleState Maven / Gradle / Ivy

// *** 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.consul.inputs;

import com.pulumi.consul.inputs.AclRoleNodeIdentityArgs;
import com.pulumi.consul.inputs.AclRoleServiceIdentityArgs;
import com.pulumi.consul.inputs.AclRoleTemplatedPolicyArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class AclRoleState extends com.pulumi.resources.ResourceArgs {

    public static final AclRoleState Empty = new AclRoleState();

    /**
     * A free form human readable description of the role.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A free form human readable description of the role.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The name of the ACL role.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the ACL role.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The namespace to create the role within.
     * 
     */
    @Import(name="namespace")
    private @Nullable Output namespace;

    /**
     * @return The namespace to create the role within.
     * 
     */
    public Optional> namespace() {
        return Optional.ofNullable(this.namespace);
    }

    /**
     * The list of node identities that should be applied to the role.
     * 
     */
    @Import(name="nodeIdentities")
    private @Nullable Output> nodeIdentities;

    /**
     * @return The list of node identities that should be applied to the role.
     * 
     */
    public Optional>> nodeIdentities() {
        return Optional.ofNullable(this.nodeIdentities);
    }

    /**
     * The partition the ACL role is associated with.
     * 
     */
    @Import(name="partition")
    private @Nullable Output partition;

    /**
     * @return The partition the ACL role is associated with.
     * 
     */
    public Optional> partition() {
        return Optional.ofNullable(this.partition);
    }

    /**
     * The list of policies that should be applied to the role. Both the policy ID or its name can be used.
     * 
     */
    @Import(name="policies")
    private @Nullable Output> policies;

    /**
     * @return The list of policies that should be applied to the role. Both the policy ID or its name can be used.
     * 
     */
    public Optional>> policies() {
        return Optional.ofNullable(this.policies);
    }

    /**
     * The list of service identities that should be applied to the role.
     * 
     */
    @Import(name="serviceIdentities")
    private @Nullable Output> serviceIdentities;

    /**
     * @return The list of service identities that should be applied to the role.
     * 
     */
    public Optional>> serviceIdentities() {
        return Optional.ofNullable(this.serviceIdentities);
    }

    /**
     * The list of templated policies that should be applied to the token.
     * 
     */
    @Import(name="templatedPolicies")
    private @Nullable Output> templatedPolicies;

    /**
     * @return The list of templated policies that should be applied to the token.
     * 
     */
    public Optional>> templatedPolicies() {
        return Optional.ofNullable(this.templatedPolicies);
    }

    private AclRoleState() {}

    private AclRoleState(AclRoleState $) {
        this.description = $.description;
        this.name = $.name;
        this.namespace = $.namespace;
        this.nodeIdentities = $.nodeIdentities;
        this.partition = $.partition;
        this.policies = $.policies;
        this.serviceIdentities = $.serviceIdentities;
        this.templatedPolicies = $.templatedPolicies;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(AclRoleState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private AclRoleState $;

        public Builder() {
            $ = new AclRoleState();
        }

        public Builder(AclRoleState defaults) {
            $ = new AclRoleState(Objects.requireNonNull(defaults));
        }

        /**
         * @param description A free form human readable description of the role.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description A free form human readable description of the role.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param name The name of the ACL role.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the ACL role.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param namespace The namespace to create the role within.
         * 
         * @return builder
         * 
         */
        public Builder namespace(@Nullable Output namespace) {
            $.namespace = namespace;
            return this;
        }

        /**
         * @param namespace The namespace to create the role within.
         * 
         * @return builder
         * 
         */
        public Builder namespace(String namespace) {
            return namespace(Output.of(namespace));
        }

        /**
         * @param nodeIdentities The list of node identities that should be applied to the role.
         * 
         * @return builder
         * 
         */
        public Builder nodeIdentities(@Nullable Output> nodeIdentities) {
            $.nodeIdentities = nodeIdentities;
            return this;
        }

        /**
         * @param nodeIdentities The list of node identities that should be applied to the role.
         * 
         * @return builder
         * 
         */
        public Builder nodeIdentities(List nodeIdentities) {
            return nodeIdentities(Output.of(nodeIdentities));
        }

        /**
         * @param nodeIdentities The list of node identities that should be applied to the role.
         * 
         * @return builder
         * 
         */
        public Builder nodeIdentities(AclRoleNodeIdentityArgs... nodeIdentities) {
            return nodeIdentities(List.of(nodeIdentities));
        }

        /**
         * @param partition The partition the ACL role is associated with.
         * 
         * @return builder
         * 
         */
        public Builder partition(@Nullable Output partition) {
            $.partition = partition;
            return this;
        }

        /**
         * @param partition The partition the ACL role is associated with.
         * 
         * @return builder
         * 
         */
        public Builder partition(String partition) {
            return partition(Output.of(partition));
        }

        /**
         * @param policies The list of policies that should be applied to the role. Both the policy ID or its name can be used.
         * 
         * @return builder
         * 
         */
        public Builder policies(@Nullable Output> policies) {
            $.policies = policies;
            return this;
        }

        /**
         * @param policies The list of policies that should be applied to the role. Both the policy ID or its name can be used.
         * 
         * @return builder
         * 
         */
        public Builder policies(List policies) {
            return policies(Output.of(policies));
        }

        /**
         * @param policies The list of policies that should be applied to the role. Both the policy ID or its name can be used.
         * 
         * @return builder
         * 
         */
        public Builder policies(String... policies) {
            return policies(List.of(policies));
        }

        /**
         * @param serviceIdentities The list of service identities that should be applied to the role.
         * 
         * @return builder
         * 
         */
        public Builder serviceIdentities(@Nullable Output> serviceIdentities) {
            $.serviceIdentities = serviceIdentities;
            return this;
        }

        /**
         * @param serviceIdentities The list of service identities that should be applied to the role.
         * 
         * @return builder
         * 
         */
        public Builder serviceIdentities(List serviceIdentities) {
            return serviceIdentities(Output.of(serviceIdentities));
        }

        /**
         * @param serviceIdentities The list of service identities that should be applied to the role.
         * 
         * @return builder
         * 
         */
        public Builder serviceIdentities(AclRoleServiceIdentityArgs... serviceIdentities) {
            return serviceIdentities(List.of(serviceIdentities));
        }

        /**
         * @param templatedPolicies The list of templated policies that should be applied to the token.
         * 
         * @return builder
         * 
         */
        public Builder templatedPolicies(@Nullable Output> templatedPolicies) {
            $.templatedPolicies = templatedPolicies;
            return this;
        }

        /**
         * @param templatedPolicies The list of templated policies that should be applied to the token.
         * 
         * @return builder
         * 
         */
        public Builder templatedPolicies(List templatedPolicies) {
            return templatedPolicies(Output.of(templatedPolicies));
        }

        /**
         * @param templatedPolicies The list of templated policies that should be applied to the token.
         * 
         * @return builder
         * 
         */
        public Builder templatedPolicies(AclRoleTemplatedPolicyArgs... templatedPolicies) {
            return templatedPolicies(List.of(templatedPolicies));
        }

        public AclRoleState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy