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

com.pulumi.azurenative.eventhub.ApplicationGroupArgs Maven / Gradle / Ivy

There is a newer version: 2.72.0
Show newest version
// *** 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.azurenative.eventhub;

import com.pulumi.azurenative.eventhub.inputs.ThrottlingPolicyArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ApplicationGroupArgs Empty = new ApplicationGroupArgs();

    /**
     * The Application Group name
     * 
     */
    @Import(name="applicationGroupName")
    private @Nullable Output applicationGroupName;

    /**
     * @return The Application Group name
     * 
     */
    public Optional> applicationGroupName() {
        return Optional.ofNullable(this.applicationGroupName);
    }

    /**
     * The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)
     * 
     */
    @Import(name="clientAppGroupIdentifier", required=true)
    private Output clientAppGroupIdentifier;

    /**
     * @return The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)
     * 
     */
    public Output clientAppGroupIdentifier() {
        return this.clientAppGroupIdentifier;
    }

    /**
     * Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed
     * 
     */
    @Import(name="isEnabled")
    private @Nullable Output isEnabled;

    /**
     * @return Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed
     * 
     */
    public Optional> isEnabled() {
        return Optional.ofNullable(this.isEnabled);
    }

    /**
     * The Namespace name
     * 
     */
    @Import(name="namespaceName", required=true)
    private Output namespaceName;

    /**
     * @return The Namespace name
     * 
     */
    public Output namespaceName() {
        return this.namespaceName;
    }

    /**
     * List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.
     * 
     */
    @Import(name="policies")
    private @Nullable Output> policies;

    /**
     * @return List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.
     * 
     */
    public Optional>> policies() {
        return Optional.ofNullable(this.policies);
    }

    /**
     * Name of the resource group within the azure subscription.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of the resource group within the azure subscription.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    private ApplicationGroupArgs() {}

    private ApplicationGroupArgs(ApplicationGroupArgs $) {
        this.applicationGroupName = $.applicationGroupName;
        this.clientAppGroupIdentifier = $.clientAppGroupIdentifier;
        this.isEnabled = $.isEnabled;
        this.namespaceName = $.namespaceName;
        this.policies = $.policies;
        this.resourceGroupName = $.resourceGroupName;
    }

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

    public static final class Builder {
        private ApplicationGroupArgs $;

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

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

        /**
         * @param applicationGroupName The Application Group name
         * 
         * @return builder
         * 
         */
        public Builder applicationGroupName(@Nullable Output applicationGroupName) {
            $.applicationGroupName = applicationGroupName;
            return this;
        }

        /**
         * @param applicationGroupName The Application Group name
         * 
         * @return builder
         * 
         */
        public Builder applicationGroupName(String applicationGroupName) {
            return applicationGroupName(Output.of(applicationGroupName));
        }

        /**
         * @param clientAppGroupIdentifier The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)
         * 
         * @return builder
         * 
         */
        public Builder clientAppGroupIdentifier(Output clientAppGroupIdentifier) {
            $.clientAppGroupIdentifier = clientAppGroupIdentifier;
            return this;
        }

        /**
         * @param clientAppGroupIdentifier The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)
         * 
         * @return builder
         * 
         */
        public Builder clientAppGroupIdentifier(String clientAppGroupIdentifier) {
            return clientAppGroupIdentifier(Output.of(clientAppGroupIdentifier));
        }

        /**
         * @param isEnabled Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(@Nullable Output isEnabled) {
            $.isEnabled = isEnabled;
            return this;
        }

        /**
         * @param isEnabled Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no new connections will be allowed
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(Boolean isEnabled) {
            return isEnabled(Output.of(isEnabled));
        }

        /**
         * @param namespaceName The Namespace name
         * 
         * @return builder
         * 
         */
        public Builder namespaceName(Output namespaceName) {
            $.namespaceName = namespaceName;
            return this;
        }

        /**
         * @param namespaceName The Namespace name
         * 
         * @return builder
         * 
         */
        public Builder namespaceName(String namespaceName) {
            return namespaceName(Output.of(namespaceName));
        }

        /**
         * @param policies List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.
         * 
         * @return builder
         * 
         */
        public Builder policies(@Nullable Output> policies) {
            $.policies = policies;
            return this;
        }

        /**
         * @param policies List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.
         * 
         * @return builder
         * 
         */
        public Builder policies(List policies) {
            return policies(Output.of(policies));
        }

        /**
         * @param policies List of group policies that define the behavior of application group. The policies can support resource governance scenarios such as limiting ingress or egress traffic.
         * 
         * @return builder
         * 
         */
        public Builder policies(ThrottlingPolicyArgs... policies) {
            return policies(List.of(policies));
        }

        /**
         * @param resourceGroupName Name of the resource group within the azure subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of the resource group within the azure subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        public ApplicationGroupArgs build() {
            if ($.clientAppGroupIdentifier == null) {
                throw new MissingRequiredPropertyException("ApplicationGroupArgs", "clientAppGroupIdentifier");
            }
            if ($.namespaceName == null) {
                throw new MissingRequiredPropertyException("ApplicationGroupArgs", "namespaceName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ApplicationGroupArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy