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

com.pulumi.azurenative.ProviderArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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;

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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ProviderArgs Empty = new ProviderArgs();

    /**
     * Any additional Tenant IDs which should be used for authentication.
     * 
     */
    @Import(name="auxiliaryTenantIds", json=true)
    private @Nullable Output> auxiliaryTenantIds;

    /**
     * @return Any additional Tenant IDs which should be used for authentication.
     * 
     */
    public Optional>> auxiliaryTenantIds() {
        return Optional.ofNullable(this.auxiliaryTenantIds);
    }

    /**
     * The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate
     * 
     */
    @Import(name="clientCertificatePassword")
    private @Nullable Output clientCertificatePassword;

    /**
     * @return The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate
     * 
     */
    public Optional> clientCertificatePassword() {
        return Optional.ofNullable(this.clientCertificatePassword);
    }

    /**
     * The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.
     * 
     */
    @Import(name="clientCertificatePath")
    private @Nullable Output clientCertificatePath;

    /**
     * @return The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.
     * 
     */
    public Optional> clientCertificatePath() {
        return Optional.ofNullable(this.clientCertificatePath);
    }

    /**
     * The Client ID which should be used.
     * 
     */
    @Import(name="clientId")
    private @Nullable Output clientId;

    /**
     * @return The Client ID which should be used.
     * 
     */
    public Optional> clientId() {
        return Optional.ofNullable(this.clientId);
    }

    /**
     * The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     * 
     */
    @Import(name="clientSecret")
    private @Nullable Output clientSecret;

    /**
     * @return The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     * 
     */
    public Optional> clientSecret() {
        return Optional.ofNullable(this.clientSecret);
    }

    /**
     * This will disable the Pulumi Partner ID which is used if a custom `partnerId` isn't specified.
     * 
     */
    @Import(name="disablePulumiPartnerId", json=true)
    private @Nullable Output disablePulumiPartnerId;

    /**
     * @return This will disable the Pulumi Partner ID which is used if a custom `partnerId` isn't specified.
     * 
     */
    public Optional> disablePulumiPartnerId() {
        return Optional.ofNullable(this.disablePulumiPartnerId);
    }

    /**
     * The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public.
     * 
     */
    @Import(name="environment")
    private @Nullable Output environment;

    /**
     * @return The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public.
     * 
     */
    public Optional> environment() {
        return Optional.ofNullable(this.environment);
    }

    /**
     * The location to use. ResourceGroups will consult this property for a default location, if one was not supplied explicitly when defining the resource.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The location to use. ResourceGroups will consult this property for a default location, if one was not supplied explicitly when defining the resource.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The Hostname of the Azure Metadata Service.
     * 
     */
    @Import(name="metadataHost")
    private @Nullable Output metadataHost;

    /**
     * @return The Hostname of the Azure Metadata Service.
     * 
     */
    public Optional> metadataHost() {
        return Optional.ofNullable(this.metadataHost);
    }

    /**
     * The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically.
     * 
     */
    @Import(name="msiEndpoint")
    private @Nullable Output msiEndpoint;

    /**
     * @return The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically.
     * 
     */
    public Optional> msiEndpoint() {
        return Optional.ofNullable(this.msiEndpoint);
    }

    /**
     * Your cloud service or provider’s bearer token to exchange for an OIDC ID token.
     * 
     */
    @Import(name="oidcRequestToken")
    private @Nullable Output oidcRequestToken;

    /**
     * @return Your cloud service or provider’s bearer token to exchange for an OIDC ID token.
     * 
     */
    public Optional> oidcRequestToken() {
        return Optional.ofNullable(this.oidcRequestToken);
    }

    /**
     * The URL to initiate the `oidcRequestToken` OIDC token exchange.
     * 
     */
    @Import(name="oidcRequestUrl")
    private @Nullable Output oidcRequestUrl;

    /**
     * @return The URL to initiate the `oidcRequestToken` OIDC token exchange.
     * 
     */
    public Optional> oidcRequestUrl() {
        return Optional.ofNullable(this.oidcRequestUrl);
    }

    /**
     * The OIDC token to exchange for an Azure token.
     * 
     */
    @Import(name="oidcToken")
    private @Nullable Output oidcToken;

    /**
     * @return The OIDC token to exchange for an Azure token.
     * 
     */
    public Optional> oidcToken() {
        return Optional.ofNullable(this.oidcToken);
    }

    /**
     * A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     * 
     */
    @Import(name="partnerId")
    private @Nullable Output partnerId;

    /**
     * @return A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     * 
     */
    public Optional> partnerId() {
        return Optional.ofNullable(this.partnerId);
    }

    /**
     * The Subscription ID which should be used.
     * 
     */
    @Import(name="subscriptionId")
    private @Nullable Output subscriptionId;

    /**
     * @return The Subscription ID which should be used.
     * 
     */
    public Optional> subscriptionId() {
        return Optional.ofNullable(this.subscriptionId);
    }

    /**
     * The Tenant ID which should be used.
     * 
     */
    @Import(name="tenantId")
    private @Nullable Output tenantId;

    /**
     * @return The Tenant ID which should be used.
     * 
     */
    public Optional> tenantId() {
        return Optional.ofNullable(this.tenantId);
    }

    /**
     * Allow Managed Service Identity to be used for Authentication.
     * 
     */
    @Import(name="useMsi", json=true)
    private @Nullable Output useMsi;

    /**
     * @return Allow Managed Service Identity to be used for Authentication.
     * 
     */
    public Optional> useMsi() {
        return Optional.ofNullable(this.useMsi);
    }

    /**
     * Allow OpenID Connect (OIDC) to be used for Authentication.
     * 
     */
    @Import(name="useOidc", json=true)
    private @Nullable Output useOidc;

    /**
     * @return Allow OpenID Connect (OIDC) to be used for Authentication.
     * 
     */
    public Optional> useOidc() {
        return Optional.ofNullable(this.useOidc);
    }

    private ProviderArgs() {}

    private ProviderArgs(ProviderArgs $) {
        this.auxiliaryTenantIds = $.auxiliaryTenantIds;
        this.clientCertificatePassword = $.clientCertificatePassword;
        this.clientCertificatePath = $.clientCertificatePath;
        this.clientId = $.clientId;
        this.clientSecret = $.clientSecret;
        this.disablePulumiPartnerId = $.disablePulumiPartnerId;
        this.environment = $.environment;
        this.location = $.location;
        this.metadataHost = $.metadataHost;
        this.msiEndpoint = $.msiEndpoint;
        this.oidcRequestToken = $.oidcRequestToken;
        this.oidcRequestUrl = $.oidcRequestUrl;
        this.oidcToken = $.oidcToken;
        this.partnerId = $.partnerId;
        this.subscriptionId = $.subscriptionId;
        this.tenantId = $.tenantId;
        this.useMsi = $.useMsi;
        this.useOidc = $.useOidc;
    }

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

    public static final class Builder {
        private ProviderArgs $;

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

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

        /**
         * @param auxiliaryTenantIds Any additional Tenant IDs which should be used for authentication.
         * 
         * @return builder
         * 
         */
        public Builder auxiliaryTenantIds(@Nullable Output> auxiliaryTenantIds) {
            $.auxiliaryTenantIds = auxiliaryTenantIds;
            return this;
        }

        /**
         * @param auxiliaryTenantIds Any additional Tenant IDs which should be used for authentication.
         * 
         * @return builder
         * 
         */
        public Builder auxiliaryTenantIds(List auxiliaryTenantIds) {
            return auxiliaryTenantIds(Output.of(auxiliaryTenantIds));
        }

        /**
         * @param auxiliaryTenantIds Any additional Tenant IDs which should be used for authentication.
         * 
         * @return builder
         * 
         */
        public Builder auxiliaryTenantIds(String... auxiliaryTenantIds) {
            return auxiliaryTenantIds(List.of(auxiliaryTenantIds));
        }

        /**
         * @param clientCertificatePassword The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate
         * 
         * @return builder
         * 
         */
        public Builder clientCertificatePassword(@Nullable Output clientCertificatePassword) {
            $.clientCertificatePassword = clientCertificatePassword;
            return this;
        }

        /**
         * @param clientCertificatePassword The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate
         * 
         * @return builder
         * 
         */
        public Builder clientCertificatePassword(String clientCertificatePassword) {
            return clientCertificatePassword(Output.of(clientCertificatePassword));
        }

        /**
         * @param clientCertificatePath The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.
         * 
         * @return builder
         * 
         */
        public Builder clientCertificatePath(@Nullable Output clientCertificatePath) {
            $.clientCertificatePath = clientCertificatePath;
            return this;
        }

        /**
         * @param clientCertificatePath The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.
         * 
         * @return builder
         * 
         */
        public Builder clientCertificatePath(String clientCertificatePath) {
            return clientCertificatePath(Output.of(clientCertificatePath));
        }

        /**
         * @param clientId The Client ID which should be used.
         * 
         * @return builder
         * 
         */
        public Builder clientId(@Nullable Output clientId) {
            $.clientId = clientId;
            return this;
        }

        /**
         * @param clientId The Client ID which should be used.
         * 
         * @return builder
         * 
         */
        public Builder clientId(String clientId) {
            return clientId(Output.of(clientId));
        }

        /**
         * @param clientSecret The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(@Nullable Output clientSecret) {
            $.clientSecret = clientSecret;
            return this;
        }

        /**
         * @param clientSecret The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(String clientSecret) {
            return clientSecret(Output.of(clientSecret));
        }

        /**
         * @param disablePulumiPartnerId This will disable the Pulumi Partner ID which is used if a custom `partnerId` isn't specified.
         * 
         * @return builder
         * 
         */
        public Builder disablePulumiPartnerId(@Nullable Output disablePulumiPartnerId) {
            $.disablePulumiPartnerId = disablePulumiPartnerId;
            return this;
        }

        /**
         * @param disablePulumiPartnerId This will disable the Pulumi Partner ID which is used if a custom `partnerId` isn't specified.
         * 
         * @return builder
         * 
         */
        public Builder disablePulumiPartnerId(Boolean disablePulumiPartnerId) {
            return disablePulumiPartnerId(Output.of(disablePulumiPartnerId));
        }

        /**
         * @param environment The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public.
         * 
         * @return builder
         * 
         */
        public Builder environment(@Nullable Output environment) {
            $.environment = environment;
            return this;
        }

        /**
         * @param environment The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public.
         * 
         * @return builder
         * 
         */
        public Builder environment(String environment) {
            return environment(Output.of(environment));
        }

        /**
         * @param location The location to use. ResourceGroups will consult this property for a default location, if one was not supplied explicitly when defining the resource.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The location to use. ResourceGroups will consult this property for a default location, if one was not supplied explicitly when defining the resource.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param metadataHost The Hostname of the Azure Metadata Service.
         * 
         * @return builder
         * 
         */
        public Builder metadataHost(@Nullable Output metadataHost) {
            $.metadataHost = metadataHost;
            return this;
        }

        /**
         * @param metadataHost The Hostname of the Azure Metadata Service.
         * 
         * @return builder
         * 
         */
        public Builder metadataHost(String metadataHost) {
            return metadataHost(Output.of(metadataHost));
        }

        /**
         * @param msiEndpoint The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically.
         * 
         * @return builder
         * 
         */
        public Builder msiEndpoint(@Nullable Output msiEndpoint) {
            $.msiEndpoint = msiEndpoint;
            return this;
        }

        /**
         * @param msiEndpoint The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically.
         * 
         * @return builder
         * 
         */
        public Builder msiEndpoint(String msiEndpoint) {
            return msiEndpoint(Output.of(msiEndpoint));
        }

        /**
         * @param oidcRequestToken Your cloud service or provider’s bearer token to exchange for an OIDC ID token.
         * 
         * @return builder
         * 
         */
        public Builder oidcRequestToken(@Nullable Output oidcRequestToken) {
            $.oidcRequestToken = oidcRequestToken;
            return this;
        }

        /**
         * @param oidcRequestToken Your cloud service or provider’s bearer token to exchange for an OIDC ID token.
         * 
         * @return builder
         * 
         */
        public Builder oidcRequestToken(String oidcRequestToken) {
            return oidcRequestToken(Output.of(oidcRequestToken));
        }

        /**
         * @param oidcRequestUrl The URL to initiate the `oidcRequestToken` OIDC token exchange.
         * 
         * @return builder
         * 
         */
        public Builder oidcRequestUrl(@Nullable Output oidcRequestUrl) {
            $.oidcRequestUrl = oidcRequestUrl;
            return this;
        }

        /**
         * @param oidcRequestUrl The URL to initiate the `oidcRequestToken` OIDC token exchange.
         * 
         * @return builder
         * 
         */
        public Builder oidcRequestUrl(String oidcRequestUrl) {
            return oidcRequestUrl(Output.of(oidcRequestUrl));
        }

        /**
         * @param oidcToken The OIDC token to exchange for an Azure token.
         * 
         * @return builder
         * 
         */
        public Builder oidcToken(@Nullable Output oidcToken) {
            $.oidcToken = oidcToken;
            return this;
        }

        /**
         * @param oidcToken The OIDC token to exchange for an Azure token.
         * 
         * @return builder
         * 
         */
        public Builder oidcToken(String oidcToken) {
            return oidcToken(Output.of(oidcToken));
        }

        /**
         * @param partnerId A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
         * 
         * @return builder
         * 
         */
        public Builder partnerId(@Nullable Output partnerId) {
            $.partnerId = partnerId;
            return this;
        }

        /**
         * @param partnerId A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
         * 
         * @return builder
         * 
         */
        public Builder partnerId(String partnerId) {
            return partnerId(Output.of(partnerId));
        }

        /**
         * @param subscriptionId The Subscription ID which should be used.
         * 
         * @return builder
         * 
         */
        public Builder subscriptionId(@Nullable Output subscriptionId) {
            $.subscriptionId = subscriptionId;
            return this;
        }

        /**
         * @param subscriptionId The Subscription ID which should be used.
         * 
         * @return builder
         * 
         */
        public Builder subscriptionId(String subscriptionId) {
            return subscriptionId(Output.of(subscriptionId));
        }

        /**
         * @param tenantId The Tenant ID which should be used.
         * 
         * @return builder
         * 
         */
        public Builder tenantId(@Nullable Output tenantId) {
            $.tenantId = tenantId;
            return this;
        }

        /**
         * @param tenantId The Tenant ID which should be used.
         * 
         * @return builder
         * 
         */
        public Builder tenantId(String tenantId) {
            return tenantId(Output.of(tenantId));
        }

        /**
         * @param useMsi Allow Managed Service Identity to be used for Authentication.
         * 
         * @return builder
         * 
         */
        public Builder useMsi(@Nullable Output useMsi) {
            $.useMsi = useMsi;
            return this;
        }

        /**
         * @param useMsi Allow Managed Service Identity to be used for Authentication.
         * 
         * @return builder
         * 
         */
        public Builder useMsi(Boolean useMsi) {
            return useMsi(Output.of(useMsi));
        }

        /**
         * @param useOidc Allow OpenID Connect (OIDC) to be used for Authentication.
         * 
         * @return builder
         * 
         */
        public Builder useOidc(@Nullable Output useOidc) {
            $.useOidc = useOidc;
            return this;
        }

        /**
         * @param useOidc Allow OpenID Connect (OIDC) to be used for Authentication.
         * 
         * @return builder
         * 
         */
        public Builder useOidc(Boolean useOidc) {
            return useOidc(Output.of(useOidc));
        }

        public ProviderArgs build() {
            $.environment = Codegen.stringProp("environment").output().arg($.environment).def("public").getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy