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

com.pulumi.akamai.inputs.GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs Maven / Gradle / Ivy

The 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.akamai.inputs;

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


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

    public static final GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs Empty = new GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs();

    /**
     * Either `ADD` or `DELETE` outgoing HTTP request headers, `MODIFY` their fixed values, or specify a `REGEX` pattern to transform them.
     * 
     */
    @Import(name="action")
    private @Nullable Output action;

    /**
     * @return Either `ADD` or `DELETE` outgoing HTTP request headers, `MODIFY` their fixed values, or specify a `REGEX` pattern to transform them.
     * 
     */
    public Optional> action() {
        return Optional.ofNullable(this.action);
    }

    /**
     * When enabled with the `action` set to `MODIFY`, prevents creation of more than one instance of a header.
     * 
     */
    @Import(name="avoidDuplicateHeaders")
    private @Nullable Output avoidDuplicateHeaders;

    /**
     * @return When enabled with the `action` set to `MODIFY`, prevents creation of more than one instance of a header.
     * 
     */
    public Optional> avoidDuplicateHeaders() {
        return Optional.ofNullable(this.avoidDuplicateHeaders);
    }

    /**
     * Specifies a custom field name that applies when the relevant `standard` header name is set to `OTHER`.
     * 
     */
    @Import(name="customHeaderName")
    private @Nullable Output customHeaderName;

    /**
     * @return Specifies a custom field name that applies when the relevant `standard` header name is set to `OTHER`.
     * 
     */
    public Optional> customHeaderName() {
        return Optional.ofNullable(this.customHeaderName);
    }

    /**
     * Specifies the new header value.
     * 
     */
    @Import(name="headerValue")
    private @Nullable Output headerValue;

    /**
     * @return Specifies the new header value.
     * 
     */
    public Optional> headerValue() {
        return Optional.ofNullable(this.headerValue);
    }

    /**
     * Indicates that your Akamai representative has locked this behavior or criteria so that you can't modify it. This option is for internal usage only.
     * 
     */
    @Import(name="locked")
    private @Nullable Output locked;

    /**
     * @return Indicates that your Akamai representative has locked this behavior or criteria so that you can't modify it. This option is for internal usage only.
     * 
     */
    public Optional> locked() {
        return Optional.ofNullable(this.locked);
    }

    /**
     * When enabled with the `action` set to `REGEX`, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled.
     * 
     */
    @Import(name="matchMultiple")
    private @Nullable Output matchMultiple;

    /**
     * @return When enabled with the `action` set to `REGEX`, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled.
     * 
     */
    public Optional> matchMultiple() {
        return Optional.ofNullable(this.matchMultiple);
    }

    /**
     * Specifies an HTTP header replacement value.
     * 
     */
    @Import(name="newHeaderValue")
    private @Nullable Output newHeaderValue;

    /**
     * @return Specifies an HTTP header replacement value.
     * 
     */
    public Optional> newHeaderValue() {
        return Optional.ofNullable(this.newHeaderValue);
    }

    /**
     * Specifies a Perl-compatible regular expression to match within the header value.
     * 
     */
    @Import(name="regexHeaderMatch")
    private @Nullable Output regexHeaderMatch;

    /**
     * @return Specifies a Perl-compatible regular expression to match within the header value.
     * 
     */
    public Optional> regexHeaderMatch() {
        return Optional.ofNullable(this.regexHeaderMatch);
    }

    /**
     * Specifies text that replaces the `regexHeaderMatch` pattern within the header value.
     * 
     */
    @Import(name="regexHeaderReplace")
    private @Nullable Output regexHeaderReplace;

    /**
     * @return Specifies text that replaces the `regexHeaderMatch` pattern within the header value.
     * 
     */
    public Optional> regexHeaderReplace() {
        return Optional.ofNullable(this.regexHeaderReplace);
    }

    /**
     * If the value of `action` is `ADD`, this specifies the name of the field to add.
     * 
     */
    @Import(name="standardAddHeaderName")
    private @Nullable Output standardAddHeaderName;

    /**
     * @return If the value of `action` is `ADD`, this specifies the name of the field to add.
     * 
     */
    public Optional> standardAddHeaderName() {
        return Optional.ofNullable(this.standardAddHeaderName);
    }

    /**
     * If the value of `action` is `DELETE`, this specifies the name of the field to remove.
     * 
     */
    @Import(name="standardDeleteHeaderName")
    private @Nullable Output standardDeleteHeaderName;

    /**
     * @return If the value of `action` is `DELETE`, this specifies the name of the field to remove.
     * 
     */
    public Optional> standardDeleteHeaderName() {
        return Optional.ofNullable(this.standardDeleteHeaderName);
    }

    /**
     * If the value of `action` is `MODIFY` or `REGEX`, this specifies the name of the field to modify.
     * 
     */
    @Import(name="standardModifyHeaderName")
    private @Nullable Output standardModifyHeaderName;

    /**
     * @return If the value of `action` is `MODIFY` or `REGEX`, this specifies the name of the field to modify.
     * 
     */
    public Optional> standardModifyHeaderName() {
        return Optional.ofNullable(this.standardModifyHeaderName);
    }

    /**
     * This option is for internal usage only.
     * 
     */
    @Import(name="templateUuid")
    private @Nullable Output templateUuid;

    /**
     * @return This option is for internal usage only.
     * 
     */
    public Optional> templateUuid() {
        return Optional.ofNullable(this.templateUuid);
    }

    /**
     * A uuid member indicates that at least one of its component behaviors or criteria is advanced and read-only. You need to preserve this uuid as well when modifying the rule tree. This option is for internal usage only.
     * 
     */
    @Import(name="uuid")
    private @Nullable Output uuid;

    /**
     * @return A uuid member indicates that at least one of its component behaviors or criteria is advanced and read-only. You need to preserve this uuid as well when modifying the rule tree. This option is for internal usage only.
     * 
     */
    public Optional> uuid() {
        return Optional.ofNullable(this.uuid);
    }

    private GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs() {}

    private GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs(GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs $) {
        this.action = $.action;
        this.avoidDuplicateHeaders = $.avoidDuplicateHeaders;
        this.customHeaderName = $.customHeaderName;
        this.headerValue = $.headerValue;
        this.locked = $.locked;
        this.matchMultiple = $.matchMultiple;
        this.newHeaderValue = $.newHeaderValue;
        this.regexHeaderMatch = $.regexHeaderMatch;
        this.regexHeaderReplace = $.regexHeaderReplace;
        this.standardAddHeaderName = $.standardAddHeaderName;
        this.standardDeleteHeaderName = $.standardDeleteHeaderName;
        this.standardModifyHeaderName = $.standardModifyHeaderName;
        this.templateUuid = $.templateUuid;
        this.uuid = $.uuid;
    }

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

    public static final class Builder {
        private GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs $;

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

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

        /**
         * @param action Either `ADD` or `DELETE` outgoing HTTP request headers, `MODIFY` their fixed values, or specify a `REGEX` pattern to transform them.
         * 
         * @return builder
         * 
         */
        public Builder action(@Nullable Output action) {
            $.action = action;
            return this;
        }

        /**
         * @param action Either `ADD` or `DELETE` outgoing HTTP request headers, `MODIFY` their fixed values, or specify a `REGEX` pattern to transform them.
         * 
         * @return builder
         * 
         */
        public Builder action(String action) {
            return action(Output.of(action));
        }

        /**
         * @param avoidDuplicateHeaders When enabled with the `action` set to `MODIFY`, prevents creation of more than one instance of a header.
         * 
         * @return builder
         * 
         */
        public Builder avoidDuplicateHeaders(@Nullable Output avoidDuplicateHeaders) {
            $.avoidDuplicateHeaders = avoidDuplicateHeaders;
            return this;
        }

        /**
         * @param avoidDuplicateHeaders When enabled with the `action` set to `MODIFY`, prevents creation of more than one instance of a header.
         * 
         * @return builder
         * 
         */
        public Builder avoidDuplicateHeaders(Boolean avoidDuplicateHeaders) {
            return avoidDuplicateHeaders(Output.of(avoidDuplicateHeaders));
        }

        /**
         * @param customHeaderName Specifies a custom field name that applies when the relevant `standard` header name is set to `OTHER`.
         * 
         * @return builder
         * 
         */
        public Builder customHeaderName(@Nullable Output customHeaderName) {
            $.customHeaderName = customHeaderName;
            return this;
        }

        /**
         * @param customHeaderName Specifies a custom field name that applies when the relevant `standard` header name is set to `OTHER`.
         * 
         * @return builder
         * 
         */
        public Builder customHeaderName(String customHeaderName) {
            return customHeaderName(Output.of(customHeaderName));
        }

        /**
         * @param headerValue Specifies the new header value.
         * 
         * @return builder
         * 
         */
        public Builder headerValue(@Nullable Output headerValue) {
            $.headerValue = headerValue;
            return this;
        }

        /**
         * @param headerValue Specifies the new header value.
         * 
         * @return builder
         * 
         */
        public Builder headerValue(String headerValue) {
            return headerValue(Output.of(headerValue));
        }

        /**
         * @param locked Indicates that your Akamai representative has locked this behavior or criteria so that you can't modify it. This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder locked(@Nullable Output locked) {
            $.locked = locked;
            return this;
        }

        /**
         * @param locked Indicates that your Akamai representative has locked this behavior or criteria so that you can't modify it. This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder locked(Boolean locked) {
            return locked(Output.of(locked));
        }

        /**
         * @param matchMultiple When enabled with the `action` set to `REGEX`, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled.
         * 
         * @return builder
         * 
         */
        public Builder matchMultiple(@Nullable Output matchMultiple) {
            $.matchMultiple = matchMultiple;
            return this;
        }

        /**
         * @param matchMultiple When enabled with the `action` set to `REGEX`, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled.
         * 
         * @return builder
         * 
         */
        public Builder matchMultiple(Boolean matchMultiple) {
            return matchMultiple(Output.of(matchMultiple));
        }

        /**
         * @param newHeaderValue Specifies an HTTP header replacement value.
         * 
         * @return builder
         * 
         */
        public Builder newHeaderValue(@Nullable Output newHeaderValue) {
            $.newHeaderValue = newHeaderValue;
            return this;
        }

        /**
         * @param newHeaderValue Specifies an HTTP header replacement value.
         * 
         * @return builder
         * 
         */
        public Builder newHeaderValue(String newHeaderValue) {
            return newHeaderValue(Output.of(newHeaderValue));
        }

        /**
         * @param regexHeaderMatch Specifies a Perl-compatible regular expression to match within the header value.
         * 
         * @return builder
         * 
         */
        public Builder regexHeaderMatch(@Nullable Output regexHeaderMatch) {
            $.regexHeaderMatch = regexHeaderMatch;
            return this;
        }

        /**
         * @param regexHeaderMatch Specifies a Perl-compatible regular expression to match within the header value.
         * 
         * @return builder
         * 
         */
        public Builder regexHeaderMatch(String regexHeaderMatch) {
            return regexHeaderMatch(Output.of(regexHeaderMatch));
        }

        /**
         * @param regexHeaderReplace Specifies text that replaces the `regexHeaderMatch` pattern within the header value.
         * 
         * @return builder
         * 
         */
        public Builder regexHeaderReplace(@Nullable Output regexHeaderReplace) {
            $.regexHeaderReplace = regexHeaderReplace;
            return this;
        }

        /**
         * @param regexHeaderReplace Specifies text that replaces the `regexHeaderMatch` pattern within the header value.
         * 
         * @return builder
         * 
         */
        public Builder regexHeaderReplace(String regexHeaderReplace) {
            return regexHeaderReplace(Output.of(regexHeaderReplace));
        }

        /**
         * @param standardAddHeaderName If the value of `action` is `ADD`, this specifies the name of the field to add.
         * 
         * @return builder
         * 
         */
        public Builder standardAddHeaderName(@Nullable Output standardAddHeaderName) {
            $.standardAddHeaderName = standardAddHeaderName;
            return this;
        }

        /**
         * @param standardAddHeaderName If the value of `action` is `ADD`, this specifies the name of the field to add.
         * 
         * @return builder
         * 
         */
        public Builder standardAddHeaderName(String standardAddHeaderName) {
            return standardAddHeaderName(Output.of(standardAddHeaderName));
        }

        /**
         * @param standardDeleteHeaderName If the value of `action` is `DELETE`, this specifies the name of the field to remove.
         * 
         * @return builder
         * 
         */
        public Builder standardDeleteHeaderName(@Nullable Output standardDeleteHeaderName) {
            $.standardDeleteHeaderName = standardDeleteHeaderName;
            return this;
        }

        /**
         * @param standardDeleteHeaderName If the value of `action` is `DELETE`, this specifies the name of the field to remove.
         * 
         * @return builder
         * 
         */
        public Builder standardDeleteHeaderName(String standardDeleteHeaderName) {
            return standardDeleteHeaderName(Output.of(standardDeleteHeaderName));
        }

        /**
         * @param standardModifyHeaderName If the value of `action` is `MODIFY` or `REGEX`, this specifies the name of the field to modify.
         * 
         * @return builder
         * 
         */
        public Builder standardModifyHeaderName(@Nullable Output standardModifyHeaderName) {
            $.standardModifyHeaderName = standardModifyHeaderName;
            return this;
        }

        /**
         * @param standardModifyHeaderName If the value of `action` is `MODIFY` or `REGEX`, this specifies the name of the field to modify.
         * 
         * @return builder
         * 
         */
        public Builder standardModifyHeaderName(String standardModifyHeaderName) {
            return standardModifyHeaderName(Output.of(standardModifyHeaderName));
        }

        /**
         * @param templateUuid This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder templateUuid(@Nullable Output templateUuid) {
            $.templateUuid = templateUuid;
            return this;
        }

        /**
         * @param templateUuid This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder templateUuid(String templateUuid) {
            return templateUuid(Output.of(templateUuid));
        }

        /**
         * @param uuid A uuid member indicates that at least one of its component behaviors or criteria is advanced and read-only. You need to preserve this uuid as well when modifying the rule tree. This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder uuid(@Nullable Output uuid) {
            $.uuid = uuid;
            return this;
        }

        /**
         * @param uuid A uuid member indicates that at least one of its component behaviors or criteria is advanced and read-only. You need to preserve this uuid as well when modifying the rule tree. This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder uuid(String uuid) {
            return uuid(Output.of(uuid));
        }

        public GetPropertyRulesBuilderRulesV20240212BehaviorModifyOutgoingRequestHeaderArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy