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

com.pulumi.azurenative.kubernetesconfiguration.inputs.ServicePrincipalDefinitionArgs 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.kubernetesconfiguration.inputs;

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


/**
 * Parameters to authenticate using Service Principal.
 * 
 */
public final class ServicePrincipalDefinitionArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServicePrincipalDefinitionArgs Empty = new ServicePrincipalDefinitionArgs();

    /**
     * Base64-encoded certificate used to authenticate a Service Principal
     * 
     */
    @Import(name="clientCertificate")
    private @Nullable Output clientCertificate;

    /**
     * @return Base64-encoded certificate used to authenticate a Service Principal
     * 
     */
    public Optional> clientCertificate() {
        return Optional.ofNullable(this.clientCertificate);
    }

    /**
     * The password for the certificate used to authenticate a Service Principal
     * 
     */
    @Import(name="clientCertificatePassword")
    private @Nullable Output clientCertificatePassword;

    /**
     * @return The password for the certificate used to authenticate a Service Principal
     * 
     */
    public Optional> clientCertificatePassword() {
        return Optional.ofNullable(this.clientCertificatePassword);
    }

    /**
     * Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate
     * 
     */
    @Import(name="clientCertificateSendChain")
    private @Nullable Output clientCertificateSendChain;

    /**
     * @return Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate
     * 
     */
    public Optional> clientCertificateSendChain() {
        return Optional.ofNullable(this.clientCertificateSendChain);
    }

    /**
     * The client Id for authenticating a Service Principal.
     * 
     */
    @Import(name="clientId")
    private @Nullable Output clientId;

    /**
     * @return The client Id for authenticating a Service Principal.
     * 
     */
    public Optional> clientId() {
        return Optional.ofNullable(this.clientId);
    }

    /**
     * The client secret for authenticating a Service Principal
     * 
     */
    @Import(name="clientSecret")
    private @Nullable Output clientSecret;

    /**
     * @return The client secret for authenticating a Service Principal
     * 
     */
    public Optional> clientSecret() {
        return Optional.ofNullable(this.clientSecret);
    }

    /**
     * The tenant Id for authenticating a Service Principal
     * 
     */
    @Import(name="tenantId")
    private @Nullable Output tenantId;

    /**
     * @return The tenant Id for authenticating a Service Principal
     * 
     */
    public Optional> tenantId() {
        return Optional.ofNullable(this.tenantId);
    }

    private ServicePrincipalDefinitionArgs() {}

    private ServicePrincipalDefinitionArgs(ServicePrincipalDefinitionArgs $) {
        this.clientCertificate = $.clientCertificate;
        this.clientCertificatePassword = $.clientCertificatePassword;
        this.clientCertificateSendChain = $.clientCertificateSendChain;
        this.clientId = $.clientId;
        this.clientSecret = $.clientSecret;
        this.tenantId = $.tenantId;
    }

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

    public static final class Builder {
        private ServicePrincipalDefinitionArgs $;

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

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

        /**
         * @param clientCertificate Base64-encoded certificate used to authenticate a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder clientCertificate(@Nullable Output clientCertificate) {
            $.clientCertificate = clientCertificate;
            return this;
        }

        /**
         * @param clientCertificate Base64-encoded certificate used to authenticate a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder clientCertificate(String clientCertificate) {
            return clientCertificate(Output.of(clientCertificate));
        }

        /**
         * @param clientCertificatePassword The password for the certificate used to authenticate a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder clientCertificatePassword(@Nullable Output clientCertificatePassword) {
            $.clientCertificatePassword = clientCertificatePassword;
            return this;
        }

        /**
         * @param clientCertificatePassword The password for the certificate used to authenticate a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder clientCertificatePassword(String clientCertificatePassword) {
            return clientCertificatePassword(Output.of(clientCertificatePassword));
        }

        /**
         * @param clientCertificateSendChain Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate
         * 
         * @return builder
         * 
         */
        public Builder clientCertificateSendChain(@Nullable Output clientCertificateSendChain) {
            $.clientCertificateSendChain = clientCertificateSendChain;
            return this;
        }

        /**
         * @param clientCertificateSendChain Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate
         * 
         * @return builder
         * 
         */
        public Builder clientCertificateSendChain(Boolean clientCertificateSendChain) {
            return clientCertificateSendChain(Output.of(clientCertificateSendChain));
        }

        /**
         * @param clientId The client Id for authenticating a Service Principal.
         * 
         * @return builder
         * 
         */
        public Builder clientId(@Nullable Output clientId) {
            $.clientId = clientId;
            return this;
        }

        /**
         * @param clientId The client Id for authenticating a Service Principal.
         * 
         * @return builder
         * 
         */
        public Builder clientId(String clientId) {
            return clientId(Output.of(clientId));
        }

        /**
         * @param clientSecret The client secret for authenticating a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(@Nullable Output clientSecret) {
            $.clientSecret = clientSecret;
            return this;
        }

        /**
         * @param clientSecret The client secret for authenticating a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(String clientSecret) {
            return clientSecret(Output.of(clientSecret));
        }

        /**
         * @param tenantId The tenant Id for authenticating a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder tenantId(@Nullable Output tenantId) {
            $.tenantId = tenantId;
            return this;
        }

        /**
         * @param tenantId The tenant Id for authenticating a Service Principal
         * 
         * @return builder
         * 
         */
        public Builder tenantId(String tenantId) {
            return tenantId(Output.of(tenantId));
        }

        public ServicePrincipalDefinitionArgs build() {
            $.clientCertificateSendChain = Codegen.booleanProp("clientCertificateSendChain").output().arg($.clientCertificateSendChain).def(false).getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy