import * as pulumi from "@pulumi/pulumi"; /** * The provider type for the tailscale 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 API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable. * Conflicts with 'oauth_client_id' and 'oauth_client_secret'. */ readonly apiKey: pulumi.Output; /** * The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL * environment variable. */ readonly baseUrl: pulumi.Output; /** * The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment * variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'. */ readonly oauthClientId: pulumi.Output; /** * The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET * environment variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'. */ readonly oauthClientSecret: pulumi.Output; /** * The organization name of the Tailnet in which to perform actions. Can be set via the TAILSCALE_TAILNET environment * variable. Default is the tailnet that owns API credentials passed to the provider. */ readonly tailnet: pulumi.Output; /** * User-Agent header for API requests. */ readonly userAgent: pulumi.Output; /** * 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; } /** * The set of arguments for constructing a Provider resource. */ export interface ProviderArgs { /** * The API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable. * Conflicts with 'oauth_client_id' and 'oauth_client_secret'. */ apiKey?: pulumi.Input; /** * The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL * environment variable. */ baseUrl?: pulumi.Input; /** * The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment * variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'. */ oauthClientId?: pulumi.Input; /** * The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET * environment variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'. */ oauthClientSecret?: pulumi.Input; /** * The OAuth 2.0 scopes to request when for the access token generated using the supplied OAuth client credentials. See * https://tailscale.com/kb/1215/oauth-clients/#scopes for available scopes. Only valid when both 'oauth_client_id' and * 'oauth_client_secret' are set. */ scopes?: pulumi.Input[]>; /** * The organization name of the Tailnet in which to perform actions. Can be set via the TAILSCALE_TAILNET environment * variable. Default is the tailnet that owns API credentials passed to the provider. */ tailnet?: pulumi.Input; /** * User-Agent header for API requests. */ userAgent?: pulumi.Input; } export declare namespace Provider { /** * The results of the Provider.terraformConfig method. */ interface TerraformConfigResult { readonly result: { [key: string]: any; }; } }