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

com.pulumi.azurenative.managednetworkfabric.inputs.StatementActionPropertiesArgs 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.managednetworkfabric.inputs;

import com.pulumi.azurenative.managednetworkfabric.enums.CommunityActionTypes;
import com.pulumi.azurenative.managednetworkfabric.inputs.ActionIpCommunityPropertiesArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.ActionIpExtendedCommunityPropertiesArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Route policy action properties.
 * 
 */
public final class StatementActionPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final StatementActionPropertiesArgs Empty = new StatementActionPropertiesArgs();

    /**
     * action. Example: Permit | Deny.
     * 
     */
    @Import(name="actionType", required=true)
    private Output> actionType;

    /**
     * @return action. Example: Permit | Deny.
     * 
     */
    public Output> actionType() {
        return this.actionType;
    }

    /**
     * IP Community Properties.
     * 
     */
    @Import(name="ipCommunityProperties")
    private @Nullable Output ipCommunityProperties;

    /**
     * @return IP Community Properties.
     * 
     */
    public Optional> ipCommunityProperties() {
        return Optional.ofNullable(this.ipCommunityProperties);
    }

    /**
     * IP Extended Community Properties.
     * 
     */
    @Import(name="ipExtendedCommunityProperties")
    private @Nullable Output ipExtendedCommunityProperties;

    /**
     * @return IP Extended Community Properties.
     * 
     */
    public Optional> ipExtendedCommunityProperties() {
        return Optional.ofNullable(this.ipExtendedCommunityProperties);
    }

    /**
     * localPreference of the route policy.
     * 
     */
    @Import(name="localPreference")
    private @Nullable Output localPreference;

    /**
     * @return localPreference of the route policy.
     * 
     */
    public Optional> localPreference() {
        return Optional.ofNullable(this.localPreference);
    }

    private StatementActionPropertiesArgs() {}

    private StatementActionPropertiesArgs(StatementActionPropertiesArgs $) {
        this.actionType = $.actionType;
        this.ipCommunityProperties = $.ipCommunityProperties;
        this.ipExtendedCommunityProperties = $.ipExtendedCommunityProperties;
        this.localPreference = $.localPreference;
    }

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

    public static final class Builder {
        private StatementActionPropertiesArgs $;

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

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

        /**
         * @param actionType action. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder actionType(Output> actionType) {
            $.actionType = actionType;
            return this;
        }

        /**
         * @param actionType action. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder actionType(Either actionType) {
            return actionType(Output.of(actionType));
        }

        /**
         * @param actionType action. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder actionType(String actionType) {
            return actionType(Either.ofLeft(actionType));
        }

        /**
         * @param actionType action. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder actionType(CommunityActionTypes actionType) {
            return actionType(Either.ofRight(actionType));
        }

        /**
         * @param ipCommunityProperties IP Community Properties.
         * 
         * @return builder
         * 
         */
        public Builder ipCommunityProperties(@Nullable Output ipCommunityProperties) {
            $.ipCommunityProperties = ipCommunityProperties;
            return this;
        }

        /**
         * @param ipCommunityProperties IP Community Properties.
         * 
         * @return builder
         * 
         */
        public Builder ipCommunityProperties(ActionIpCommunityPropertiesArgs ipCommunityProperties) {
            return ipCommunityProperties(Output.of(ipCommunityProperties));
        }

        /**
         * @param ipExtendedCommunityProperties IP Extended Community Properties.
         * 
         * @return builder
         * 
         */
        public Builder ipExtendedCommunityProperties(@Nullable Output ipExtendedCommunityProperties) {
            $.ipExtendedCommunityProperties = ipExtendedCommunityProperties;
            return this;
        }

        /**
         * @param ipExtendedCommunityProperties IP Extended Community Properties.
         * 
         * @return builder
         * 
         */
        public Builder ipExtendedCommunityProperties(ActionIpExtendedCommunityPropertiesArgs ipExtendedCommunityProperties) {
            return ipExtendedCommunityProperties(Output.of(ipExtendedCommunityProperties));
        }

        /**
         * @param localPreference localPreference of the route policy.
         * 
         * @return builder
         * 
         */
        public Builder localPreference(@Nullable Output localPreference) {
            $.localPreference = localPreference;
            return this;
        }

        /**
         * @param localPreference localPreference of the route policy.
         * 
         * @return builder
         * 
         */
        public Builder localPreference(Double localPreference) {
            return localPreference(Output.of(localPreference));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy