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

com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsResponseHeaderActionArgs 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.azure.cdn.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final FrontdoorRuleActionsResponseHeaderActionArgs Empty = new FrontdoorRuleActionsResponseHeaderActionArgs();

    /**
     * The action to be taken on the specified `header_name`. Possible values include `Append`, `Overwrite` or `Delete`.
     * 
     * > **NOTE:** `Append` causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. `Overwrite` causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. `Delete` causes the header to be deleted from the request.
     * 
     */
    @Import(name="headerAction", required=true)
    private Output headerAction;

    /**
     * @return The action to be taken on the specified `header_name`. Possible values include `Append`, `Overwrite` or `Delete`.
     * 
     * > **NOTE:** `Append` causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. `Overwrite` causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. `Delete` causes the header to be deleted from the request.
     * 
     */
    public Output headerAction() {
        return this.headerAction;
    }

    /**
     * The name of the header to modify.
     * 
     */
    @Import(name="headerName", required=true)
    private Output headerName;

    /**
     * @return The name of the header to modify.
     * 
     */
    public Output headerName() {
        return this.headerName;
    }

    /**
     * The value to append or overwrite.
     * 
     * ->**NOTE:** `value` is required if the `header_action` is set to `Append` or `Overwrite`.
     * 
     */
    @Import(name="value")
    private @Nullable Output value;

    /**
     * @return The value to append or overwrite.
     * 
     * ->**NOTE:** `value` is required if the `header_action` is set to `Append` or `Overwrite`.
     * 
     */
    public Optional> value() {
        return Optional.ofNullable(this.value);
    }

    private FrontdoorRuleActionsResponseHeaderActionArgs() {}

    private FrontdoorRuleActionsResponseHeaderActionArgs(FrontdoorRuleActionsResponseHeaderActionArgs $) {
        this.headerAction = $.headerAction;
        this.headerName = $.headerName;
        this.value = $.value;
    }

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

    public static final class Builder {
        private FrontdoorRuleActionsResponseHeaderActionArgs $;

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

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

        /**
         * @param headerAction The action to be taken on the specified `header_name`. Possible values include `Append`, `Overwrite` or `Delete`.
         * 
         * > **NOTE:** `Append` causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. `Overwrite` causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. `Delete` causes the header to be deleted from the request.
         * 
         * @return builder
         * 
         */
        public Builder headerAction(Output headerAction) {
            $.headerAction = headerAction;
            return this;
        }

        /**
         * @param headerAction The action to be taken on the specified `header_name`. Possible values include `Append`, `Overwrite` or `Delete`.
         * 
         * > **NOTE:** `Append` causes the specified header to be added to the request with the specified value. If the header is already present, the value is appended to the existing header value using string concatenation. No delimiters are added. `Overwrite` causes specified header to be added to the request with the specified value. If the header is already present, the specified value overwrites the existing value. `Delete` causes the header to be deleted from the request.
         * 
         * @return builder
         * 
         */
        public Builder headerAction(String headerAction) {
            return headerAction(Output.of(headerAction));
        }

        /**
         * @param headerName The name of the header to modify.
         * 
         * @return builder
         * 
         */
        public Builder headerName(Output headerName) {
            $.headerName = headerName;
            return this;
        }

        /**
         * @param headerName The name of the header to modify.
         * 
         * @return builder
         * 
         */
        public Builder headerName(String headerName) {
            return headerName(Output.of(headerName));
        }

        /**
         * @param value The value to append or overwrite.
         * 
         * ->**NOTE:** `value` is required if the `header_action` is set to `Append` or `Overwrite`.
         * 
         * @return builder
         * 
         */
        public Builder value(@Nullable Output value) {
            $.value = value;
            return this;
        }

        /**
         * @param value The value to append or overwrite.
         * 
         * ->**NOTE:** `value` is required if the `header_action` is set to `Append` or `Overwrite`.
         * 
         * @return builder
         * 
         */
        public Builder value(String value) {
            return value(Output.of(value));
        }

        public FrontdoorRuleActionsResponseHeaderActionArgs build() {
            if ($.headerAction == null) {
                throw new MissingRequiredPropertyException("FrontdoorRuleActionsResponseHeaderActionArgs", "headerAction");
            }
            if ($.headerName == null) {
                throw new MissingRequiredPropertyException("FrontdoorRuleActionsResponseHeaderActionArgs", "headerName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy