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

com.pulumi.azure.Provider Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure;

import com.pulumi.azure.ProviderArgs;
import com.pulumi.azure.Utilities;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * The provider type for the azurerm package. By default, resources use package-wide configuration
 * settings, however an explicit `Provider` instance may be created and passed during resource
 * construction to achieve fine-grained programmatic control over provider settings. See the
 * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
 * 
 */
@ResourceType(type="pulumi:providers:azure")
public class Provider extends com.pulumi.resources.ProviderResource {
    /**
     * Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate
     * 
     */
    @Export(name="clientCertificate", refs={String.class}, tree="[0]")
    private Output clientCertificate;

    /**
     * @return Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate
     * 
     */
    public Output> clientCertificate() {
        return Codegen.optional(this.clientCertificate);
    }
    /**
     * The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client
     * Certificate
     * 
     */
    @Export(name="clientCertificatePassword", refs={String.class}, tree="[0]")
    private Output clientCertificatePassword;

    /**
     * @return The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client
     * Certificate
     * 
     */
    public Output> clientCertificatePassword() {
        return Codegen.optional(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.
     * 
     */
    @Export(name="clientCertificatePath", refs={String.class}, tree="[0]")
    private 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 Output> clientCertificatePath() {
        return Codegen.optional(this.clientCertificatePath);
    }
    /**
     * The Client ID which should be used.
     * 
     */
    @Export(name="clientId", refs={String.class}, tree="[0]")
    private Output clientId;

    /**
     * @return The Client ID which should be used.
     * 
     */
    public Output> clientId() {
        return Codegen.optional(this.clientId);
    }
    /**
     * The path to a file containing the Client ID which should be used.
     * 
     */
    @Export(name="clientIdFilePath", refs={String.class}, tree="[0]")
    private Output clientIdFilePath;

    /**
     * @return The path to a file containing the Client ID which should be used.
     * 
     */
    public Output> clientIdFilePath() {
        return Codegen.optional(this.clientIdFilePath);
    }
    /**
     * The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     * 
     */
    @Export(name="clientSecret", refs={String.class}, tree="[0]")
    private Output clientSecret;

    /**
     * @return The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     * 
     */
    public Output> clientSecret() {
        return Codegen.optional(this.clientSecret);
    }
    /**
     * The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal
     * using a Client Secret.
     * 
     */
    @Export(name="clientSecretFilePath", refs={String.class}, tree="[0]")
    private Output clientSecretFilePath;

    /**
     * @return The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal
     * using a Client Secret.
     * 
     */
    public Output> clientSecretFilePath() {
        return Codegen.optional(this.clientSecretFilePath);
    }
    /**
     * The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not
     * used and should not be specified when `metadata_host` is specified.
     * 
     */
    @Export(name="environment", refs={String.class}, tree="[0]")
    private Output environment;

    /**
     * @return The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not
     * used and should not be specified when `metadata_host` is specified.
     * 
     */
    public Output> environment() {
        return Codegen.optional(this.environment);
    }
    /**
     * The Hostname which should be used for the Azure Metadata Service.
     * 
     */
    @Export(name="metadataHost", refs={String.class}, tree="[0]")
    private Output metadataHost;

    /**
     * @return The Hostname which should be used for the Azure Metadata Service.
     * 
     */
    public Output> metadataHost() {
        return Codegen.optional(this.metadataHost);
    }
    /**
     * The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected
     * automatically.
     * 
     */
    @Export(name="msiEndpoint", refs={String.class}, tree="[0]")
    private Output msiEndpoint;

    /**
     * @return The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected
     * automatically.
     * 
     */
    public Output> msiEndpoint() {
        return Codegen.optional(this.msiEndpoint);
    }
    /**
     * The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
     * Connect.
     * 
     */
    @Export(name="oidcRequestToken", refs={String.class}, tree="[0]")
    private Output oidcRequestToken;

    /**
     * @return The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID
     * Connect.
     * 
     */
    public Output> oidcRequestToken() {
        return Codegen.optional(this.oidcRequestToken);
    }
    /**
     * The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
     * using OpenID Connect.
     * 
     */
    @Export(name="oidcRequestUrl", refs={String.class}, tree="[0]")
    private Output oidcRequestUrl;

    /**
     * @return The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal
     * using OpenID Connect.
     * 
     */
    public Output> oidcRequestUrl() {
        return Codegen.optional(this.oidcRequestUrl);
    }
    /**
     * The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     * 
     */
    @Export(name="oidcToken", refs={String.class}, tree="[0]")
    private Output oidcToken;

    /**
     * @return The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     * 
     */
    public Output> oidcToken() {
        return Codegen.optional(this.oidcToken);
    }
    /**
     * The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     * 
     */
    @Export(name="oidcTokenFilePath", refs={String.class}, tree="[0]")
    private Output oidcTokenFilePath;

    /**
     * @return The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     * 
     */
    public Output> oidcTokenFilePath() {
        return Codegen.optional(this.oidcTokenFilePath);
    }
    /**
     * A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     * 
     */
    @Export(name="partnerId", refs={String.class}, tree="[0]")
    private Output partnerId;

    /**
     * @return A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     * 
     */
    public Output> partnerId() {
        return Codegen.optional(this.partnerId);
    }
    /**
     * The set of Resource Providers which should be automatically registered for the subscription.
     * 
     */
    @Export(name="resourceProviderRegistrations", refs={String.class}, tree="[0]")
    private Output resourceProviderRegistrations;

    /**
     * @return The set of Resource Providers which should be automatically registered for the subscription.
     * 
     */
    public Output> resourceProviderRegistrations() {
        return Codegen.optional(this.resourceProviderRegistrations);
    }
    /**
     * The Subscription ID which should be used.
     * 
     */
    @Export(name="subscriptionId", refs={String.class}, tree="[0]")
    private Output subscriptionId;

    /**
     * @return The Subscription ID which should be used.
     * 
     */
    public Output> subscriptionId() {
        return Codegen.optional(this.subscriptionId);
    }
    /**
     * The Tenant ID which should be used.
     * 
     */
    @Export(name="tenantId", refs={String.class}, tree="[0]")
    private Output tenantId;

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

    /**
     *
     * @param name The _unique_ name of the resulting resource.
     */
    public Provider(java.lang.String name) {
        this(name, ProviderArgs.Empty);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     */
    public Provider(java.lang.String name, @Nullable ProviderArgs args) {
        this(name, args, null);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param options A bag of options that control this resource's behavior.
     */
    public Provider(java.lang.String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("azure", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
    }

    private static ProviderArgs makeArgs(@Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        if (options != null && options.getUrn().isPresent()) {
            return null;
        }
        return args == null ? ProviderArgs.Empty : args;
    }

    private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
        var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
            .version(Utilities.getVersion())
            .additionalSecretOutputs(List.of(
                "clientCertificate",
                "clientCertificatePassword",
                "clientCertificatePath",
                "clientId",
                "clientIdFilePath",
                "clientSecret",
                "clientSecretFilePath",
                "oidcRequestToken",
                "oidcToken",
                "oidcTokenFilePath",
                "subscriptionId",
                "tenantId"
            ))
            .build();
        return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy