Files
pulumi-incus/sdk/nodejs/provider.ts

121 lines
4.1 KiB
TypeScript
Generated

// *** 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<string | undefined>;
/**
* The default remote to use when no other remote is defined in a resource.
*/
declare public readonly defaultRemote: pulumi.Output<string | undefined>;
/**
* The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)
*/
declare public readonly project: 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) {
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<Provider.TerraformConfigResult> {
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<boolean>;
/**
* The directory to look for existing Incus configuration. (default = $HOME/.config/incus)
*/
configDir?: pulumi.Input<string>;
/**
* The default remote to use when no other remote is defined in a resource.
*/
defaultRemote?: pulumi.Input<string>;
/**
* Automatically generate the Incus client certificates if they don't exist.
*/
generateClientCertificates?: pulumi.Input<boolean>;
/**
* The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)
*/
project?: pulumi.Input<string>;
/**
* Incus Remote
*/
remotes?: pulumi.Input<pulumi.Input<inputs.ProviderRemote>[]>;
}
export namespace Provider {
/**
* The results of the Provider.terraformConfig method.
*/
export interface TerraformConfigResult {
readonly result: { [key: string]: any };
}
}