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

com.pulumi.cloudflare.TeamsRuleArgs 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.cloudflare;

import com.pulumi.cloudflare.inputs.TeamsRuleRuleSettingsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final TeamsRuleArgs Empty = new TeamsRuleArgs();

    /**
     * The account identifier to target for the resource.
     * 
     */
    @Import(name="accountId", required=true)
    private Output accountId;

    /**
     * @return The account identifier to target for the resource.
     * 
     */
    public Output accountId() {
        return this.accountId;
    }

    /**
     * The action executed by matched teams rule. Available values: `allow`, `block`, `safesearch`, `ytrestricted`, `on`, `off`, `scan`, `noscan`, `isolate`, `noisolate`, `override`, `l4_override`, `egress`.
     * 
     */
    @Import(name="action", required=true)
    private Output action;

    /**
     * @return The action executed by matched teams rule. Available values: `allow`, `block`, `safesearch`, `ytrestricted`, `on`, `off`, `scan`, `noscan`, `isolate`, `noisolate`, `override`, `l4_override`, `egress`.
     * 
     */
    public Output action() {
        return this.action;
    }

    /**
     * The description of the teams rule.
     * 
     */
    @Import(name="description", required=true)
    private Output description;

    /**
     * @return The description of the teams rule.
     * 
     */
    public Output description() {
        return this.description;
    }

    /**
     * The wirefilter expression to be used for device_posture check matching.
     * 
     */
    @Import(name="devicePosture")
    private @Nullable Output devicePosture;

    /**
     * @return The wirefilter expression to be used for device_posture check matching.
     * 
     */
    public Optional> devicePosture() {
        return Optional.ofNullable(this.devicePosture);
    }

    /**
     * Indicator of rule enablement.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Indicator of rule enablement.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * The protocol or layer to evaluate the traffic and identity expressions.
     * 
     */
    @Import(name="filters")
    private @Nullable Output> filters;

    /**
     * @return The protocol or layer to evaluate the traffic and identity expressions.
     * 
     */
    public Optional>> filters() {
        return Optional.ofNullable(this.filters);
    }

    /**
     * The wirefilter expression to be used for identity matching.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return The wirefilter expression to be used for identity matching.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * The name of the teams rule.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return The name of the teams rule.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * The evaluation precedence of the teams rule.
     * 
     */
    @Import(name="precedence", required=true)
    private Output precedence;

    /**
     * @return The evaluation precedence of the teams rule.
     * 
     */
    public Output precedence() {
        return this.precedence;
    }

    /**
     * Additional rule settings.
     * 
     */
    @Import(name="ruleSettings")
    private @Nullable Output ruleSettings;

    /**
     * @return Additional rule settings.
     * 
     */
    public Optional> ruleSettings() {
        return Optional.ofNullable(this.ruleSettings);
    }

    /**
     * The wirefilter expression to be used for traffic matching.
     * 
     */
    @Import(name="traffic")
    private @Nullable Output traffic;

    /**
     * @return The wirefilter expression to be used for traffic matching.
     * 
     */
    public Optional> traffic() {
        return Optional.ofNullable(this.traffic);
    }

    private TeamsRuleArgs() {}

    private TeamsRuleArgs(TeamsRuleArgs $) {
        this.accountId = $.accountId;
        this.action = $.action;
        this.description = $.description;
        this.devicePosture = $.devicePosture;
        this.enabled = $.enabled;
        this.filters = $.filters;
        this.identity = $.identity;
        this.name = $.name;
        this.precedence = $.precedence;
        this.ruleSettings = $.ruleSettings;
        this.traffic = $.traffic;
    }

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

    public static final class Builder {
        private TeamsRuleArgs $;

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

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

        /**
         * @param accountId The account identifier to target for the resource.
         * 
         * @return builder
         * 
         */
        public Builder accountId(Output accountId) {
            $.accountId = accountId;
            return this;
        }

        /**
         * @param accountId The account identifier to target for the resource.
         * 
         * @return builder
         * 
         */
        public Builder accountId(String accountId) {
            return accountId(Output.of(accountId));
        }

        /**
         * @param action The action executed by matched teams rule. Available values: `allow`, `block`, `safesearch`, `ytrestricted`, `on`, `off`, `scan`, `noscan`, `isolate`, `noisolate`, `override`, `l4_override`, `egress`.
         * 
         * @return builder
         * 
         */
        public Builder action(Output action) {
            $.action = action;
            return this;
        }

        /**
         * @param action The action executed by matched teams rule. Available values: `allow`, `block`, `safesearch`, `ytrestricted`, `on`, `off`, `scan`, `noscan`, `isolate`, `noisolate`, `override`, `l4_override`, `egress`.
         * 
         * @return builder
         * 
         */
        public Builder action(String action) {
            return action(Output.of(action));
        }

        /**
         * @param description The description of the teams rule.
         * 
         * @return builder
         * 
         */
        public Builder description(Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the teams rule.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param devicePosture The wirefilter expression to be used for device_posture check matching.
         * 
         * @return builder
         * 
         */
        public Builder devicePosture(@Nullable Output devicePosture) {
            $.devicePosture = devicePosture;
            return this;
        }

        /**
         * @param devicePosture The wirefilter expression to be used for device_posture check matching.
         * 
         * @return builder
         * 
         */
        public Builder devicePosture(String devicePosture) {
            return devicePosture(Output.of(devicePosture));
        }

        /**
         * @param enabled Indicator of rule enablement.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Indicator of rule enablement.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param filters The protocol or layer to evaluate the traffic and identity expressions.
         * 
         * @return builder
         * 
         */
        public Builder filters(@Nullable Output> filters) {
            $.filters = filters;
            return this;
        }

        /**
         * @param filters The protocol or layer to evaluate the traffic and identity expressions.
         * 
         * @return builder
         * 
         */
        public Builder filters(List filters) {
            return filters(Output.of(filters));
        }

        /**
         * @param filters The protocol or layer to evaluate the traffic and identity expressions.
         * 
         * @return builder
         * 
         */
        public Builder filters(String... filters) {
            return filters(List.of(filters));
        }

        /**
         * @param identity The wirefilter expression to be used for identity matching.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity The wirefilter expression to be used for identity matching.
         * 
         * @return builder
         * 
         */
        public Builder identity(String identity) {
            return identity(Output.of(identity));
        }

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

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

        /**
         * @param precedence The evaluation precedence of the teams rule.
         * 
         * @return builder
         * 
         */
        public Builder precedence(Output precedence) {
            $.precedence = precedence;
            return this;
        }

        /**
         * @param precedence The evaluation precedence of the teams rule.
         * 
         * @return builder
         * 
         */
        public Builder precedence(Integer precedence) {
            return precedence(Output.of(precedence));
        }

        /**
         * @param ruleSettings Additional rule settings.
         * 
         * @return builder
         * 
         */
        public Builder ruleSettings(@Nullable Output ruleSettings) {
            $.ruleSettings = ruleSettings;
            return this;
        }

        /**
         * @param ruleSettings Additional rule settings.
         * 
         * @return builder
         * 
         */
        public Builder ruleSettings(TeamsRuleRuleSettingsArgs ruleSettings) {
            return ruleSettings(Output.of(ruleSettings));
        }

        /**
         * @param traffic The wirefilter expression to be used for traffic matching.
         * 
         * @return builder
         * 
         */
        public Builder traffic(@Nullable Output traffic) {
            $.traffic = traffic;
            return this;
        }

        /**
         * @param traffic The wirefilter expression to be used for traffic matching.
         * 
         * @return builder
         * 
         */
        public Builder traffic(String traffic) {
            return traffic(Output.of(traffic));
        }

        public TeamsRuleArgs build() {
            $.accountId = Objects.requireNonNull($.accountId, "expected parameter 'accountId' to be non-null");
            $.action = Objects.requireNonNull($.action, "expected parameter 'action' to be non-null");
            $.description = Objects.requireNonNull($.description, "expected parameter 'description' to be non-null");
            $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null");
            $.precedence = Objects.requireNonNull($.precedence, "expected parameter 'precedence' to be non-null");
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy