// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** * The provider type for the incus 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 class Provider extends pulumi.ProviderResource { /** @internal */ public static readonly __pulumiType = 'incus'; /** * 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. */ public static isInstance(obj: any): obj is Provider { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType; } /** * The directory to look for existing Incus configuration. (default = $HOME/.config/incus) */ declare public readonly configDir: pulumi.Output; /** * The default remote to use when no other remote is defined in a resource. */ declare public readonly defaultRemote: pulumi.Output; /** * The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default) */ declare public readonly project: 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) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; { resourceInputs["acceptRemoteCertificate"] = pulumi.output(args?.acceptRemoteCertificate).apply(JSON.stringify); resourceInputs["configDir"] = args?.configDir; resourceInputs["defaultRemote"] = args?.defaultRemote; resourceInputs["generateClientCertificates"] = pulumi.output(args?.generateClientCertificates).apply(JSON.stringify); resourceInputs["project"] = args?.project; resourceInputs["remotes"] = pulumi.output(args?.remotes).apply(JSON.stringify); } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Provider.__pulumiType, name, resourceInputs, opts); } /** * This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider. */ terraformConfig(): pulumi.Output { return pulumi.runtime.call("pulumi:providers:incus/terraformConfig", { "__self__": this, }, this); } } /** * The set of arguments for constructing a Provider resource. */ export interface ProviderArgs { /** * Accept the server certificate. */ acceptRemoteCertificate?: pulumi.Input; /** * The directory to look for existing Incus configuration. (default = $HOME/.config/incus) */ configDir?: pulumi.Input; /** * The default remote to use when no other remote is defined in a resource. */ defaultRemote?: pulumi.Input; /** * Automatically generate the Incus client certificates if they don't exist. */ generateClientCertificates?: pulumi.Input; /** * The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default) */ project?: pulumi.Input; /** * Incus Remote */ remotes?: pulumi.Input[]>; } export namespace Provider { /** * The results of the Provider.terraformConfig method. */ export interface TerraformConfigResult { readonly result: {[key: string]: any}; } }