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

com.pulumi.azurenative.cloudngfw.LocalRulestackArgs 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 com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final LocalRulestackArgs Empty = new LocalRulestackArgs();

    /**
     * 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);
    }

    /**
     * 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);
    }

    /**
     * LocalRulestack resource name
     * 
     */
    @Import(name="localRulestackName")
    private @Nullable Output localRulestackName;

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

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    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);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * 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);
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private LocalRulestackArgs() {}

    private LocalRulestackArgs(LocalRulestackArgs $) {
        this.associatedSubscriptions = $.associatedSubscriptions;
        this.defaultMode = $.defaultMode;
        this.description = $.description;
        this.identity = $.identity;
        this.localRulestackName = $.localRulestackName;
        this.location = $.location;
        this.minAppIdVersion = $.minAppIdVersion;
        this.panEtag = $.panEtag;
        this.panLocation = $.panLocation;
        this.resourceGroupName = $.resourceGroupName;
        this.scope = $.scope;
        this.securityServices = $.securityServices;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private LocalRulestackArgs $;

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

        public Builder(LocalRulestackArgs defaults) {
            $ = new LocalRulestackArgs(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 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 localRulestackName LocalRulestack resource name
         * 
         * @return builder
         * 
         */
        public Builder localRulestackName(@Nullable Output localRulestackName) {
            $.localRulestackName = localRulestackName;
            return this;
        }

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

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @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 resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @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));
        }

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

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy