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

com.pulumi.azurenative.eventgrid.inputs.ClientCertificateAuthenticationArgs 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.eventgrid.inputs;

import com.pulumi.azurenative.eventgrid.enums.ClientCertificateValidationScheme;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The certificate authentication properties for the client.
 * 
 */
public final class ClientCertificateAuthenticationArgs extends com.pulumi.resources.ResourceArgs {

    public static final ClientCertificateAuthenticationArgs Empty = new ClientCertificateAuthenticationArgs();

    /**
     * The list of thumbprints that are allowed during client authentication. This property is required only if the validationScheme is 'ThumbprintMatch'.
     * 
     */
    @Import(name="allowedThumbprints")
    private @Nullable Output> allowedThumbprints;

    /**
     * @return The list of thumbprints that are allowed during client authentication. This property is required only if the validationScheme is 'ThumbprintMatch'.
     * 
     */
    public Optional>> allowedThumbprints() {
        return Optional.ofNullable(this.allowedThumbprints);
    }

    /**
     * The validation scheme used to authenticate the client. Default value is SubjectMatchesAuthenticationName.
     * 
     */
    @Import(name="validationScheme")
    private @Nullable Output> validationScheme;

    /**
     * @return The validation scheme used to authenticate the client. Default value is SubjectMatchesAuthenticationName.
     * 
     */
    public Optional>> validationScheme() {
        return Optional.ofNullable(this.validationScheme);
    }

    private ClientCertificateAuthenticationArgs() {}

    private ClientCertificateAuthenticationArgs(ClientCertificateAuthenticationArgs $) {
        this.allowedThumbprints = $.allowedThumbprints;
        this.validationScheme = $.validationScheme;
    }

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

    public static final class Builder {
        private ClientCertificateAuthenticationArgs $;

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

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

        /**
         * @param allowedThumbprints The list of thumbprints that are allowed during client authentication. This property is required only if the validationScheme is 'ThumbprintMatch'.
         * 
         * @return builder
         * 
         */
        public Builder allowedThumbprints(@Nullable Output> allowedThumbprints) {
            $.allowedThumbprints = allowedThumbprints;
            return this;
        }

        /**
         * @param allowedThumbprints The list of thumbprints that are allowed during client authentication. This property is required only if the validationScheme is 'ThumbprintMatch'.
         * 
         * @return builder
         * 
         */
        public Builder allowedThumbprints(List allowedThumbprints) {
            return allowedThumbprints(Output.of(allowedThumbprints));
        }

        /**
         * @param allowedThumbprints The list of thumbprints that are allowed during client authentication. This property is required only if the validationScheme is 'ThumbprintMatch'.
         * 
         * @return builder
         * 
         */
        public Builder allowedThumbprints(String... allowedThumbprints) {
            return allowedThumbprints(List.of(allowedThumbprints));
        }

        /**
         * @param validationScheme The validation scheme used to authenticate the client. Default value is SubjectMatchesAuthenticationName.
         * 
         * @return builder
         * 
         */
        public Builder validationScheme(@Nullable Output> validationScheme) {
            $.validationScheme = validationScheme;
            return this;
        }

        /**
         * @param validationScheme The validation scheme used to authenticate the client. Default value is SubjectMatchesAuthenticationName.
         * 
         * @return builder
         * 
         */
        public Builder validationScheme(Either validationScheme) {
            return validationScheme(Output.of(validationScheme));
        }

        /**
         * @param validationScheme The validation scheme used to authenticate the client. Default value is SubjectMatchesAuthenticationName.
         * 
         * @return builder
         * 
         */
        public Builder validationScheme(String validationScheme) {
            return validationScheme(Either.ofLeft(validationScheme));
        }

        /**
         * @param validationScheme The validation scheme used to authenticate the client. Default value is SubjectMatchesAuthenticationName.
         * 
         * @return builder
         * 
         */
        public Builder validationScheme(ClientCertificateValidationScheme validationScheme) {
            return validationScheme(Either.ofRight(validationScheme));
        }

        public ClientCertificateAuthenticationArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy