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

com.pulumi.akamai.inputs.GetPropertyRulesBuilderRulesV20240109BehaviorClientCertificateAuthArgs 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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final GetPropertyRulesBuilderRulesV20240109BehaviorClientCertificateAuthArgs Empty = new GetPropertyRulesBuilderRulesV20240109BehaviorClientCertificateAuthArgs();

    /**
     * Specify client certificate attributes to include in the `Client-To-Edge` authentication header that's sent to your origin server.
     * 
     */
    @Import(name="clientCertificateAttributes")
    private @Nullable Output> clientCertificateAttributes;

    /**
     * @return Specify client certificate attributes to include in the `Client-To-Edge` authentication header that's sent to your origin server.
     * 
     */
    public Optional>> clientCertificateAttributes() {
        return Optional.ofNullable(this.clientCertificateAttributes);
    }

    /**
     * Constructs the `Client-To-Edge` authentication header using information from the client to edge mTLS handshake and forwards it to your origin. You can configure your origin to acknowledge the header to enable transitive trust. Some form of the client x.509 certificate needs to be included in the header. You can include the full certificate or specific attributes.
     * 
     */
    @Import(name="enable")
    private @Nullable Output enable;

    /**
     * @return Constructs the `Client-To-Edge` authentication header using information from the client to edge mTLS handshake and forwards it to your origin. You can configure your origin to acknowledge the header to enable transitive trust. Some form of the client x.509 certificate needs to be included in the header. You can include the full certificate or specific attributes.
     * 
     */
    public Optional> enable() {
        return Optional.ofNullable(this.enable);
    }

    /**
     * Whether to include the current validation status of the client certificate in the `Client-To-Edge` authentication header. This verifies the validation status of the certificate, regardless of the certificate attributes you're including in the header.
     * 
     */
    @Import(name="enableClientCertificateValidationStatus")
    private @Nullable Output enableClientCertificateValidationStatus;

    /**
     * @return Whether to include the current validation status of the client certificate in the `Client-To-Edge` authentication header. This verifies the validation status of the certificate, regardless of the certificate attributes you're including in the header.
     * 
     */
    public Optional> enableClientCertificateValidationStatus() {
        return Optional.ofNullable(this.enableClientCertificateValidationStatus);
    }

    /**
     * Whether to include the complete client certificate in the header, in its binary (DER) format. DER-formatted certificates leave out the `BEGIN CERTIFICATE/END CERTIFICATE` statements and most often use the `.der` extension. Alternatively, you can specify individual `clientCertificateAttributes` you want included in the request.
     * 
     */
    @Import(name="enableCompleteClientCertificate")
    private @Nullable Output enableCompleteClientCertificate;

    /**
     * @return Whether to include the complete client certificate in the header, in its binary (DER) format. DER-formatted certificates leave out the `BEGIN CERTIFICATE/END CERTIFICATE` statements and most often use the `.der` extension. Alternatively, you can specify individual `clientCertificateAttributes` you want included in the request.
     * 
     */
    public Optional> enableCompleteClientCertificate() {
        return Optional.ofNullable(this.enableCompleteClientCertificate);
    }

    /**
     * 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);
    }

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

    private GetPropertyRulesBuilderRulesV20240109BehaviorClientCertificateAuthArgs(GetPropertyRulesBuilderRulesV20240109BehaviorClientCertificateAuthArgs $) {
        this.clientCertificateAttributes = $.clientCertificateAttributes;
        this.enable = $.enable;
        this.enableClientCertificateValidationStatus = $.enableClientCertificateValidationStatus;
        this.enableCompleteClientCertificate = $.enableCompleteClientCertificate;
        this.locked = $.locked;
        this.templateUuid = $.templateUuid;
        this.uuid = $.uuid;
    }

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

    public static final class Builder {
        private GetPropertyRulesBuilderRulesV20240109BehaviorClientCertificateAuthArgs $;

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

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

        /**
         * @param clientCertificateAttributes Specify client certificate attributes to include in the `Client-To-Edge` authentication header that's sent to your origin server.
         * 
         * @return builder
         * 
         */
        public Builder clientCertificateAttributes(@Nullable Output> clientCertificateAttributes) {
            $.clientCertificateAttributes = clientCertificateAttributes;
            return this;
        }

        /**
         * @param clientCertificateAttributes Specify client certificate attributes to include in the `Client-To-Edge` authentication header that's sent to your origin server.
         * 
         * @return builder
         * 
         */
        public Builder clientCertificateAttributes(List clientCertificateAttributes) {
            return clientCertificateAttributes(Output.of(clientCertificateAttributes));
        }

        /**
         * @param clientCertificateAttributes Specify client certificate attributes to include in the `Client-To-Edge` authentication header that's sent to your origin server.
         * 
         * @return builder
         * 
         */
        public Builder clientCertificateAttributes(String... clientCertificateAttributes) {
            return clientCertificateAttributes(List.of(clientCertificateAttributes));
        }

        /**
         * @param enable Constructs the `Client-To-Edge` authentication header using information from the client to edge mTLS handshake and forwards it to your origin. You can configure your origin to acknowledge the header to enable transitive trust. Some form of the client x.509 certificate needs to be included in the header. You can include the full certificate or specific attributes.
         * 
         * @return builder
         * 
         */
        public Builder enable(@Nullable Output enable) {
            $.enable = enable;
            return this;
        }

        /**
         * @param enable Constructs the `Client-To-Edge` authentication header using information from the client to edge mTLS handshake and forwards it to your origin. You can configure your origin to acknowledge the header to enable transitive trust. Some form of the client x.509 certificate needs to be included in the header. You can include the full certificate or specific attributes.
         * 
         * @return builder
         * 
         */
        public Builder enable(Boolean enable) {
            return enable(Output.of(enable));
        }

        /**
         * @param enableClientCertificateValidationStatus Whether to include the current validation status of the client certificate in the `Client-To-Edge` authentication header. This verifies the validation status of the certificate, regardless of the certificate attributes you're including in the header.
         * 
         * @return builder
         * 
         */
        public Builder enableClientCertificateValidationStatus(@Nullable Output enableClientCertificateValidationStatus) {
            $.enableClientCertificateValidationStatus = enableClientCertificateValidationStatus;
            return this;
        }

        /**
         * @param enableClientCertificateValidationStatus Whether to include the current validation status of the client certificate in the `Client-To-Edge` authentication header. This verifies the validation status of the certificate, regardless of the certificate attributes you're including in the header.
         * 
         * @return builder
         * 
         */
        public Builder enableClientCertificateValidationStatus(Boolean enableClientCertificateValidationStatus) {
            return enableClientCertificateValidationStatus(Output.of(enableClientCertificateValidationStatus));
        }

        /**
         * @param enableCompleteClientCertificate Whether to include the complete client certificate in the header, in its binary (DER) format. DER-formatted certificates leave out the `BEGIN CERTIFICATE/END CERTIFICATE` statements and most often use the `.der` extension. Alternatively, you can specify individual `clientCertificateAttributes` you want included in the request.
         * 
         * @return builder
         * 
         */
        public Builder enableCompleteClientCertificate(@Nullable Output enableCompleteClientCertificate) {
            $.enableCompleteClientCertificate = enableCompleteClientCertificate;
            return this;
        }

        /**
         * @param enableCompleteClientCertificate Whether to include the complete client certificate in the header, in its binary (DER) format. DER-formatted certificates leave out the `BEGIN CERTIFICATE/END CERTIFICATE` statements and most often use the `.der` extension. Alternatively, you can specify individual `clientCertificateAttributes` you want included in the request.
         * 
         * @return builder
         * 
         */
        public Builder enableCompleteClientCertificate(Boolean enableCompleteClientCertificate) {
            return enableCompleteClientCertificate(Output.of(enableCompleteClientCertificate));
        }

        /**
         * @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 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 GetPropertyRulesBuilderRulesV20240109BehaviorClientCertificateAuthArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy