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

com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsRequestHeaderActionArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.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 FrontdoorRuleActionsRequestHeaderActionArgs extends com.pulumi.resources.ResourceArgs {

    public static final FrontdoorRuleActionsRequestHeaderActionArgs Empty = new FrontdoorRuleActionsRequestHeaderActionArgs();

    /**
     * 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 FrontdoorRuleActionsRequestHeaderActionArgs() {}

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

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

    public static final class Builder {
        private FrontdoorRuleActionsRequestHeaderActionArgs $;

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

        public Builder(FrontdoorRuleActionsRequestHeaderActionArgs defaults) {
            $ = new FrontdoorRuleActionsRequestHeaderActionArgs(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 FrontdoorRuleActionsRequestHeaderActionArgs build() {
            if ($.headerAction == null) {
                throw new MissingRequiredPropertyException("FrontdoorRuleActionsRequestHeaderActionArgs", "headerAction");
            }
            if ($.headerName == null) {
                throw new MissingRequiredPropertyException("FrontdoorRuleActionsRequestHeaderActionArgs", "headerName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy