import * as pulumi from "@pulumi/pulumi";
import { input as inputs } from "./types";
/**
 * The provider type for the huaweicloud 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;
    /**
     * The access key of the HuaweiCloud to use.
     */
    readonly accessKey: pulumi.Output<string | undefined>;
    /**
     * The name of domain who created the agency (Identity v3).
     */
    readonly agencyDomainName: pulumi.Output<string | undefined>;
    /**
     * The name of agency
     */
    readonly agencyName: pulumi.Output<string | undefined>;
    /**
     * The Identity authentication URL.
     */
    readonly authUrl: pulumi.Output<string | undefined>;
    /**
     * A Custom CA certificate.
     */
    readonly cacertFile: pulumi.Output<string | undefined>;
    /**
     * A client certificate to authenticate with.
     */
    readonly cert: pulumi.Output<string | undefined>;
    /**
     * The endpoint of cloud provider, defaults to myhuaweicloud.com
     */
    readonly cloud: pulumi.Output<string | undefined>;
    /**
     * The name of delegated project (Identity v3).
     */
    readonly delegatedProject: pulumi.Output<string | undefined>;
    /**
     * The ID of the Domain to scope to.
     */
    readonly domainId: pulumi.Output<string | undefined>;
    /**
     * The name of the Domain to scope to.
     */
    readonly domainName: pulumi.Output<string | undefined>;
    /**
     * enterprise project id
     */
    readonly enterpriseProjectId: pulumi.Output<string | undefined>;
    /**
     * A client private key to authenticate with.
     */
    readonly key: pulumi.Output<string | undefined>;
    /**
     * Password to login with.
     */
    readonly password: pulumi.Output<string | undefined>;
    /**
     * The profile name as set in the shared config file.
     */
    readonly profile: pulumi.Output<string | undefined>;
    /**
     * The ID of the project to login with.
     */
    readonly projectId: pulumi.Output<string | undefined>;
    /**
     * The name of the project to login with.
     */
    readonly projectName: pulumi.Output<string | undefined>;
    /**
     * The HuaweiCloud region to connect to.
     */
    readonly region: pulumi.Output<string | undefined>;
    /**
     * The secret key of the HuaweiCloud to use.
     */
    readonly secretKey: pulumi.Output<string | undefined>;
    /**
     * The security token to authenticate with a temporary security credential.
     */
    readonly securityToken: pulumi.Output<string | undefined>;
    /**
     * The path to the shared config file. If not set, the default is ~/.hcloud/config.json.
     */
    readonly sharedConfigFile: pulumi.Output<string | undefined>;
    /**
     * The signing algorithm for authentication
     */
    readonly signingAlgorithm: pulumi.Output<string | undefined>;
    /**
     * The ID of the Tenant (Identity v2) to login with.
     */
    readonly tenantId: pulumi.Output<string | undefined>;
    /**
     * The name of the Tenant (Identity v2) to login with.
     */
    readonly tenantName: pulumi.Output<string | undefined>;
    /**
     * Authentication token to use as an alternative to username/password.
     */
    readonly token: pulumi.Output<string | undefined>;
    /**
     * User ID to login with.
     */
    readonly userId: pulumi.Output<string | undefined>;
    /**
     * Username to login with.
     */
    readonly userName: 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);
}
/**
 * The set of arguments for constructing a Provider resource.
 */
export interface ProviderArgs {
    /**
     * The access key of the HuaweiCloud to use.
     */
    accessKey?: pulumi.Input<string>;
    /**
     * The name of domain who created the agency (Identity v3).
     */
    agencyDomainName?: pulumi.Input<string>;
    /**
     * The name of agency
     */
    agencyName?: pulumi.Input<string>;
    assumeRole?: pulumi.Input<inputs.ProviderAssumeRole>;
    /**
     * The Identity authentication URL.
     */
    authUrl?: pulumi.Input<string>;
    /**
     * A Custom CA certificate.
     */
    cacertFile?: pulumi.Input<string>;
    /**
     * A client certificate to authenticate with.
     */
    cert?: pulumi.Input<string>;
    /**
     * The endpoint of cloud provider, defaults to myhuaweicloud.com
     */
    cloud?: pulumi.Input<string>;
    /**
     * The name of delegated project (Identity v3).
     */
    delegatedProject?: pulumi.Input<string>;
    /**
     * The ID of the Domain to scope to.
     */
    domainId?: pulumi.Input<string>;
    /**
     * The name of the Domain to scope to.
     */
    domainName?: pulumi.Input<string>;
    /**
     * Whether to enable ForceNew
     */
    enableForceNew?: pulumi.Input<boolean>;
    /**
     * The custom endpoints used to override the default endpoint URL.
     */
    endpoints?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * enterprise project id
     */
    enterpriseProjectId?: pulumi.Input<string>;
    /**
     * Trust self-signed certificates.
     */
    insecure?: pulumi.Input<boolean>;
    /**
     * A client private key to authenticate with.
     */
    key?: pulumi.Input<string>;
    /**
     * How many times HTTP connection should be retried until giving up.
     */
    maxRetries?: pulumi.Input<number>;
    /**
     * Password to login with.
     */
    password?: pulumi.Input<string>;
    /**
     * The profile name as set in the shared config file.
     */
    profile?: pulumi.Input<string>;
    /**
     * The ID of the project to login with.
     */
    projectId?: pulumi.Input<string>;
    /**
     * The name of the project to login with.
     */
    projectName?: pulumi.Input<string>;
    /**
     * The HuaweiCloud region to connect to.
     */
    region?: pulumi.Input<string>;
    /**
     * Whether the service endpoints are regional
     */
    regional?: pulumi.Input<boolean>;
    /**
     * The secret key of the HuaweiCloud to use.
     */
    secretKey?: pulumi.Input<string>;
    /**
     * The security token to authenticate with a temporary security credential.
     */
    securityToken?: pulumi.Input<string>;
    /**
     * The path to the shared config file. If not set, the default is ~/.hcloud/config.json.
     */
    sharedConfigFile?: pulumi.Input<string>;
    /**
     * The signing algorithm for authentication
     */
    signingAlgorithm?: pulumi.Input<string>;
    /**
     * Whether to skip upgrade check
     */
    skipCheckUpgrade?: pulumi.Input<boolean>;
    /**
     * Whether to skip website type check
     */
    skipCheckWebsiteType?: pulumi.Input<boolean>;
    /**
     * The ID of the Tenant (Identity v2) to login with.
     */
    tenantId?: pulumi.Input<string>;
    /**
     * The name of the Tenant (Identity v2) to login with.
     */
    tenantName?: pulumi.Input<string>;
    /**
     * Authentication token to use as an alternative to username/password.
     */
    token?: pulumi.Input<string>;
    /**
     * User ID to login with.
     */
    userId?: pulumi.Input<string>;
    /**
     * Username to login with.
     */
    userName?: pulumi.Input<string>;
}
