@pulumi/tailscale
Version:
A Pulumi package for creating and managing Tailscale cloud resources.
106 lines (105 loc) • 4.99 kB
TypeScript
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<string | undefined>;
/**
* 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<string | undefined>;
/**
* 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<string | undefined>;
/**
* 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<string | undefined>;
/**
* 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<string | undefined>;
/**
* User-Agent header for API requests.
*/
readonly userAgent: 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 {
/**
* 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<string>;
/**
* 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<string>;
/**
* 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<string>;
/**
* 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<string>;
/**
* 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<pulumi.Input<string>[]>;
/**
* 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<string>;
/**
* User-Agent header for API requests.
*/
userAgent?: pulumi.Input<string>;
}
export declare namespace Provider {
/**
* The results of the Provider.terraformConfig method.
*/
interface TerraformConfigResult {
readonly result: {
[key: string]: any;
};
}
}