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

com.pulumi.azurenative.eventhub.outputs.GetApplicationGroupResult Maven / Gradle / Ivy

There is a newer version: 2.82.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.outputs;

import com.pulumi.azurenative.eventhub.outputs.SystemDataResponse;
import com.pulumi.azurenative.eventhub.outputs.ThrottlingPolicyResponse;
import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class GetApplicationGroupResult {
    /**
     * @return The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)
     * 
     */
    private String clientAppGroupIdentifier;
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    private String id;
    /**
     * @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
     * 
     */
    private @Nullable Boolean isEnabled;
    /**
     * @return The geo-location where the resource lives
     * 
     */
    private String location;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @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.
     * 
     */
    private @Nullable List policies;
    /**
     * @return The system meta data relating to this resource.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"
     * 
     */
    private String type;

    private GetApplicationGroupResult() {}
    /**
     * @return The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)
     * 
     */
    public String clientAppGroupIdentifier() {
        return this.clientAppGroupIdentifier;
    }
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @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);
    }
    /**
     * @return The geo-location where the resource lives
     * 
     */
    public String location() {
        return this.location;
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @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 List policies() {
        return this.policies == null ? List.of() : this.policies;
    }
    /**
     * @return The system meta data relating to this resource.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"
     * 
     */
    public String type() {
        return this.type;
    }

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

    public static Builder builder(GetApplicationGroupResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String clientAppGroupIdentifier;
        private String id;
        private @Nullable Boolean isEnabled;
        private String location;
        private String name;
        private @Nullable List policies;
        private SystemDataResponse systemData;
        private String type;
        public Builder() {}
        public Builder(GetApplicationGroupResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.clientAppGroupIdentifier = defaults.clientAppGroupIdentifier;
    	      this.id = defaults.id;
    	      this.isEnabled = defaults.isEnabled;
    	      this.location = defaults.location;
    	      this.name = defaults.name;
    	      this.policies = defaults.policies;
    	      this.systemData = defaults.systemData;
    	      this.type = defaults.type;
        }

        @CustomType.Setter
        public Builder clientAppGroupIdentifier(String clientAppGroupIdentifier) {
            if (clientAppGroupIdentifier == null) {
              throw new MissingRequiredPropertyException("GetApplicationGroupResult", "clientAppGroupIdentifier");
            }
            this.clientAppGroupIdentifier = clientAppGroupIdentifier;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetApplicationGroupResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder isEnabled(@Nullable Boolean isEnabled) {

            this.isEnabled = isEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder location(String location) {
            if (location == null) {
              throw new MissingRequiredPropertyException("GetApplicationGroupResult", "location");
            }
            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetApplicationGroupResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder policies(@Nullable List policies) {

            this.policies = policies;
            return this;
        }
        public Builder policies(ThrottlingPolicyResponse... policies) {
            return policies(List.of(policies));
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetApplicationGroupResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetApplicationGroupResult", "type");
            }
            this.type = type;
            return this;
        }
        public GetApplicationGroupResult build() {
            final var _resultValue = new GetApplicationGroupResult();
            _resultValue.clientAppGroupIdentifier = clientAppGroupIdentifier;
            _resultValue.id = id;
            _resultValue.isEnabled = isEnabled;
            _resultValue.location = location;
            _resultValue.name = name;
            _resultValue.policies = policies;
            _resultValue.systemData = systemData;
            _resultValue.type = type;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy