import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
/**
 * The provider type for the datadog 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.
 */
export declare class Provider extends pulumi.ProviderResource {
    /**
     * Returns true if the given object is an instance of Provider.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Provider;
    /**
     * (Required unless validate is false) Datadog API key. This can also be set via the DD_API_KEY environment variable.
     */
    readonly apiKey: pulumi.Output<string | undefined>;
    /**
     * The API URL. This can also be set via the DD_HOST environment variable, and defaults to `https://api.datadoghq.com`. Note that this URL must not end with the `/api/` path. For example, `https://api.datadoghq.com/` is a correct value, while `https://api.datadoghq.com/api/` is not. And if you're working with "EU" version of Datadog, use `https://api.datadoghq.eu/`. Other Datadog region examples: `https://api.us5.datadoghq.com/`, `https://api.us3.datadoghq.com/` and `https://api.ddog-gov.com/`. See https://docs.datadoghq.com/getting_started/site/ for all available regions.
     */
    readonly apiUrl: pulumi.Output<string | undefined>;
    /**
     * (Required unless validate is false) Datadog APP key. This can also be set via the DD_APP_KEY environment variable.
     */
    readonly appKey: pulumi.Output<string | undefined>;
    /**
     * The AWS access key ID; used for cloud-provider-based authentication. This can also be set using the `AWS_ACCESS_KEY_ID` environment variable. Required when using `cloudProviderType` set to `aws`.
     */
    readonly awsAccessKeyId: pulumi.Output<string | undefined>;
    /**
     * The AWS secret access key; used for cloud-provider-based authentication. This can also be set using the `AWS_SECRET_ACCESS_KEY` environment variable. Required when using `cloudProviderType` set to `aws`.
     */
    readonly awsSecretAccessKey: pulumi.Output<string | undefined>;
    /**
     * The AWS session token; used for cloud-provider-based authentication. This can also be set using the `AWS_SESSION_TOKEN` environment variable. Required when using `cloudProviderType` set to `aws` and using temporary credentials.
     */
    readonly awsSessionToken: pulumi.Output<string | undefined>;
    /**
     * Datadog credential sent in the `Authorization: Bearer <token>` header. Accepts personal access tokens (`ddpat_*`) and service-account access tokens (`ddsat_*`). When set, the provider authenticates with `Authorization: Bearer <token>` instead of the `DD-API-KEY` / `DD-APPLICATION-KEY` headers. This can also be set via the `DD_BEARER_TOKEN` or `DATADOG_BEARER_TOKEN` environment variable.
     */
    readonly bearerToken: pulumi.Output<string | undefined>;
    /**
     * The cloud provider region specifier; used for cloud-provider-based authentication. For example, `us-east-1` for AWS.
     */
    readonly cloudProviderRegion: pulumi.Output<string | undefined>;
    /**
     * Specifies the cloud provider used for cloud-provider-based authentication, enabling keyless access without API or app keys. Only [`aws`] is supported. This feature is in Preview. If you'd like to enable it for your organization, contact [support](https://docs.datadoghq.com/help/).
     */
    readonly cloudProviderType: pulumi.Output<string | undefined>;
    /**
     * Enables request retries on HTTP status codes 429 and 5xx. Valid values are [`true`, `false`]. Defaults to `true`.
     */
    readonly httpClientRetryEnabled: pulumi.Output<string | undefined>;
    /**
     * The organization UUID; used for cloud-provider-based authentication. See the [Datadog API documentation](https://docs.datadoghq.com/api/v1/organizations/) for more information.
     */
    readonly orgUuid: pulumi.Output<string | undefined>;
    /**
     * Enables validation of the provided API key during provider initialization. Valid values are [`true`, `false`]. Default is true. When false, apiKey won't be checked.
     */
    readonly validate: pulumi.Output<string | undefined>;
    /**
     * Create a Provider resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions);
    /**
     * This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.
     */
    terraformConfig(): pulumi.Output<Provider.TerraformConfigResult>;
}
/**
 * The set of arguments for constructing a Provider resource.
 */
export interface ProviderArgs {
    /**
     * (Required unless validate is false) Datadog API key. This can also be set via the DD_API_KEY environment variable.
     */
    apiKey?: pulumi.Input<string | undefined>;
    /**
     * The API URL. This can also be set via the DD_HOST environment variable, and defaults to `https://api.datadoghq.com`. Note that this URL must not end with the `/api/` path. For example, `https://api.datadoghq.com/` is a correct value, while `https://api.datadoghq.com/api/` is not. And if you're working with "EU" version of Datadog, use `https://api.datadoghq.eu/`. Other Datadog region examples: `https://api.us5.datadoghq.com/`, `https://api.us3.datadoghq.com/` and `https://api.ddog-gov.com/`. See https://docs.datadoghq.com/getting_started/site/ for all available regions.
     */
    apiUrl?: pulumi.Input<string | undefined>;
    /**
     * (Required unless validate is false) Datadog APP key. This can also be set via the DD_APP_KEY environment variable.
     */
    appKey?: pulumi.Input<string | undefined>;
    /**
     * The AWS access key ID; used for cloud-provider-based authentication. This can also be set using the `AWS_ACCESS_KEY_ID` environment variable. Required when using `cloudProviderType` set to `aws`.
     */
    awsAccessKeyId?: pulumi.Input<string | undefined>;
    /**
     * The AWS secret access key; used for cloud-provider-based authentication. This can also be set using the `AWS_SECRET_ACCESS_KEY` environment variable. Required when using `cloudProviderType` set to `aws`.
     */
    awsSecretAccessKey?: pulumi.Input<string | undefined>;
    /**
     * The AWS session token; used for cloud-provider-based authentication. This can also be set using the `AWS_SESSION_TOKEN` environment variable. Required when using `cloudProviderType` set to `aws` and using temporary credentials.
     */
    awsSessionToken?: pulumi.Input<string | undefined>;
    /**
     * Datadog credential sent in the `Authorization: Bearer <token>` header. Accepts personal access tokens (`ddpat_*`) and service-account access tokens (`ddsat_*`). When set, the provider authenticates with `Authorization: Bearer <token>` instead of the `DD-API-KEY` / `DD-APPLICATION-KEY` headers. This can also be set via the `DD_BEARER_TOKEN` or `DATADOG_BEARER_TOKEN` environment variable.
     */
    bearerToken?: pulumi.Input<string | undefined>;
    /**
     * The cloud provider region specifier; used for cloud-provider-based authentication. For example, `us-east-1` for AWS.
     */
    cloudProviderRegion?: pulumi.Input<string | undefined>;
    /**
     * Specifies the cloud provider used for cloud-provider-based authentication, enabling keyless access without API or app keys. Only [`aws`] is supported. This feature is in Preview. If you'd like to enable it for your organization, contact [support](https://docs.datadoghq.com/help/).
     */
    cloudProviderType?: pulumi.Input<string | undefined>;
    /**
     * [Experimental - Logs Indexes, Logs Pipelines, Monitors Security Monitoring Rules, and Service Level Objectives only] Configuration block containing settings to apply default resource tags across all resources.
     */
    defaultTags?: pulumi.Input<inputs.ProviderDefaultTags | undefined>;
    /**
     * The HTTP request retry back off base. Defaults to 2.
     */
    httpClientRetryBackoffBase?: pulumi.Input<number | undefined>;
    /**
     * The HTTP request retry back off multiplier. Defaults to 2.
     */
    httpClientRetryBackoffMultiplier?: pulumi.Input<number | undefined>;
    /**
     * Enables request retries on HTTP status codes 429 and 5xx. Valid values are [`true`, `false`]. Defaults to `true`.
     */
    httpClientRetryEnabled?: pulumi.Input<string | undefined>;
    /**
     * The HTTP request maximum retry number. Defaults to 3.
     */
    httpClientRetryMaxRetries?: pulumi.Input<number | undefined>;
    /**
     * The HTTP request retry timeout period. Defaults to 60 seconds.
     */
    httpClientRetryTimeout?: pulumi.Input<number | undefined>;
    /**
     * The organization UUID; used for cloud-provider-based authentication. See the [Datadog API documentation](https://docs.datadoghq.com/api/v1/organizations/) for more information.
     */
    orgUuid?: pulumi.Input<string | undefined>;
    /**
     * Enables validation of the provided API key during provider initialization. Valid values are [`true`, `false`]. Default is true. When false, apiKey won't be checked.
     */
    validate?: pulumi.Input<string | undefined>;
}
export declare namespace Provider {
    /**
     * The results of the Provider.terraformConfig method.
     */
    interface TerraformConfigResult {
        readonly result: {
            [key: string]: any;
        };
    }
}
//# sourceMappingURL=provider.d.ts.map