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

com.pulumi.azurenative.cloudngfw.GlobalRulestackArgs Maven / Gradle / Ivy

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

import com.pulumi.azurenative.cloudngfw.enums.DefaultMode;
import com.pulumi.azurenative.cloudngfw.enums.ScopeType;
import com.pulumi.azurenative.cloudngfw.inputs.AzureResourceManagerManagedIdentityPropertiesArgs;
import com.pulumi.azurenative.cloudngfw.inputs.SecurityServicesArgs;
import com.pulumi.core.Either;
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 GlobalRulestackArgs extends com.pulumi.resources.ResourceArgs {

    public static final GlobalRulestackArgs Empty = new GlobalRulestackArgs();

    /**
     * subscription scope of global rulestack
     * 
     */
    @Import(name="associatedSubscriptions")
    private @Nullable Output> associatedSubscriptions;

    /**
     * @return subscription scope of global rulestack
     * 
     */
    public Optional>> associatedSubscriptions() {
        return Optional.ofNullable(this.associatedSubscriptions);
    }

    /**
     * Mode for default rules creation
     * 
     */
    @Import(name="defaultMode")
    private @Nullable Output> defaultMode;

    /**
     * @return Mode for default rules creation
     * 
     */
    public Optional>> defaultMode() {
        return Optional.ofNullable(this.defaultMode);
    }

    /**
     * rulestack description
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return rulestack description
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * GlobalRulestack resource name
     * 
     */
    @Import(name="globalRulestackName")
    private @Nullable Output globalRulestackName;

    /**
     * @return GlobalRulestack resource name
     * 
     */
    public Optional> globalRulestackName() {
        return Optional.ofNullable(this.globalRulestackName);
    }

    /**
     * The managed service identities assigned to this resource.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return The managed service identities assigned to this resource.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * Global Location
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Global Location
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * minimum version
     * 
     */
    @Import(name="minAppIdVersion")
    private @Nullable Output minAppIdVersion;

    /**
     * @return minimum version
     * 
     */
    public Optional> minAppIdVersion() {
        return Optional.ofNullable(this.minAppIdVersion);
    }

    /**
     * PanEtag info
     * 
     */
    @Import(name="panEtag")
    private @Nullable Output panEtag;

    /**
     * @return PanEtag info
     * 
     */
    public Optional> panEtag() {
        return Optional.ofNullable(this.panEtag);
    }

    /**
     * Rulestack Location, Required for GlobalRulestacks, Not for LocalRulestacks
     * 
     */
    @Import(name="panLocation")
    private @Nullable Output panLocation;

    /**
     * @return Rulestack Location, Required for GlobalRulestacks, Not for LocalRulestacks
     * 
     */
    public Optional> panLocation() {
        return Optional.ofNullable(this.panLocation);
    }

    /**
     * Rulestack Type
     * 
     */
    @Import(name="scope")
    private @Nullable Output> scope;

    /**
     * @return Rulestack Type
     * 
     */
    public Optional>> scope() {
        return Optional.ofNullable(this.scope);
    }

    /**
     * Security Profile
     * 
     */
    @Import(name="securityServices")
    private @Nullable Output securityServices;

    /**
     * @return Security Profile
     * 
     */
    public Optional> securityServices() {
        return Optional.ofNullable(this.securityServices);
    }

    private GlobalRulestackArgs() {}

    private GlobalRulestackArgs(GlobalRulestackArgs $) {
        this.associatedSubscriptions = $.associatedSubscriptions;
        this.defaultMode = $.defaultMode;
        this.description = $.description;
        this.globalRulestackName = $.globalRulestackName;
        this.identity = $.identity;
        this.location = $.location;
        this.minAppIdVersion = $.minAppIdVersion;
        this.panEtag = $.panEtag;
        this.panLocation = $.panLocation;
        this.scope = $.scope;
        this.securityServices = $.securityServices;
    }

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

    public static final class Builder {
        private GlobalRulestackArgs $;

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

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

        /**
         * @param associatedSubscriptions subscription scope of global rulestack
         * 
         * @return builder
         * 
         */
        public Builder associatedSubscriptions(@Nullable Output> associatedSubscriptions) {
            $.associatedSubscriptions = associatedSubscriptions;
            return this;
        }

        /**
         * @param associatedSubscriptions subscription scope of global rulestack
         * 
         * @return builder
         * 
         */
        public Builder associatedSubscriptions(List associatedSubscriptions) {
            return associatedSubscriptions(Output.of(associatedSubscriptions));
        }

        /**
         * @param associatedSubscriptions subscription scope of global rulestack
         * 
         * @return builder
         * 
         */
        public Builder associatedSubscriptions(String... associatedSubscriptions) {
            return associatedSubscriptions(List.of(associatedSubscriptions));
        }

        /**
         * @param defaultMode Mode for default rules creation
         * 
         * @return builder
         * 
         */
        public Builder defaultMode(@Nullable Output> defaultMode) {
            $.defaultMode = defaultMode;
            return this;
        }

        /**
         * @param defaultMode Mode for default rules creation
         * 
         * @return builder
         * 
         */
        public Builder defaultMode(Either defaultMode) {
            return defaultMode(Output.of(defaultMode));
        }

        /**
         * @param defaultMode Mode for default rules creation
         * 
         * @return builder
         * 
         */
        public Builder defaultMode(String defaultMode) {
            return defaultMode(Either.ofLeft(defaultMode));
        }

        /**
         * @param defaultMode Mode for default rules creation
         * 
         * @return builder
         * 
         */
        public Builder defaultMode(DefaultMode defaultMode) {
            return defaultMode(Either.ofRight(defaultMode));
        }

        /**
         * @param description rulestack description
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description rulestack description
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param globalRulestackName GlobalRulestack resource name
         * 
         * @return builder
         * 
         */
        public Builder globalRulestackName(@Nullable Output globalRulestackName) {
            $.globalRulestackName = globalRulestackName;
            return this;
        }

        /**
         * @param globalRulestackName GlobalRulestack resource name
         * 
         * @return builder
         * 
         */
        public Builder globalRulestackName(String globalRulestackName) {
            return globalRulestackName(Output.of(globalRulestackName));
        }

        /**
         * @param identity The managed service identities assigned to this resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity The managed service identities assigned to this resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(AzureResourceManagerManagedIdentityPropertiesArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param location Global Location
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Global Location
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param minAppIdVersion minimum version
         * 
         * @return builder
         * 
         */
        public Builder minAppIdVersion(@Nullable Output minAppIdVersion) {
            $.minAppIdVersion = minAppIdVersion;
            return this;
        }

        /**
         * @param minAppIdVersion minimum version
         * 
         * @return builder
         * 
         */
        public Builder minAppIdVersion(String minAppIdVersion) {
            return minAppIdVersion(Output.of(minAppIdVersion));
        }

        /**
         * @param panEtag PanEtag info
         * 
         * @return builder
         * 
         */
        public Builder panEtag(@Nullable Output panEtag) {
            $.panEtag = panEtag;
            return this;
        }

        /**
         * @param panEtag PanEtag info
         * 
         * @return builder
         * 
         */
        public Builder panEtag(String panEtag) {
            return panEtag(Output.of(panEtag));
        }

        /**
         * @param panLocation Rulestack Location, Required for GlobalRulestacks, Not for LocalRulestacks
         * 
         * @return builder
         * 
         */
        public Builder panLocation(@Nullable Output panLocation) {
            $.panLocation = panLocation;
            return this;
        }

        /**
         * @param panLocation Rulestack Location, Required for GlobalRulestacks, Not for LocalRulestacks
         * 
         * @return builder
         * 
         */
        public Builder panLocation(String panLocation) {
            return panLocation(Output.of(panLocation));
        }

        /**
         * @param scope Rulestack Type
         * 
         * @return builder
         * 
         */
        public Builder scope(@Nullable Output> scope) {
            $.scope = scope;
            return this;
        }

        /**
         * @param scope Rulestack Type
         * 
         * @return builder
         * 
         */
        public Builder scope(Either scope) {
            return scope(Output.of(scope));
        }

        /**
         * @param scope Rulestack Type
         * 
         * @return builder
         * 
         */
        public Builder scope(String scope) {
            return scope(Either.ofLeft(scope));
        }

        /**
         * @param scope Rulestack Type
         * 
         * @return builder
         * 
         */
        public Builder scope(ScopeType scope) {
            return scope(Either.ofRight(scope));
        }

        /**
         * @param securityServices Security Profile
         * 
         * @return builder
         * 
         */
        public Builder securityServices(@Nullable Output securityServices) {
            $.securityServices = securityServices;
            return this;
        }

        /**
         * @param securityServices Security Profile
         * 
         * @return builder
         * 
         */
        public Builder securityServices(SecurityServicesArgs securityServices) {
            return securityServices(Output.of(securityServices));
        }

        public GlobalRulestackArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy