github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/external-node-compatibility/nodejs/foo.ts (about) 1 // *** WARNING: this file was generated by test. *** 2 // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 4 import * as pulumi from "@pulumi/pulumi"; 5 import * as utilities from "./utilities"; 6 7 import * as pulumiGoogleNative from "@pulumi/google-native"; 8 9 export class Foo extends pulumi.CustomResource { 10 /** 11 * Get an existing Foo resource's state with the given name, ID, and optional extra 12 * properties used to qualify the lookup. 13 * 14 * @param name The _unique_ name of the resulting resource. 15 * @param id The _unique_ provider ID of the resource to lookup. 16 * @param opts Optional settings to control the behavior of the CustomResource. 17 */ 18 public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Foo { 19 return new Foo(name, undefined as any, { ...opts, id: id }); 20 } 21 22 /** @internal */ 23 public static readonly __pulumiType = 'example::Foo'; 24 25 /** 26 * Returns true if the given object is an instance of Foo. This is designed to work even 27 * when multiple copies of the Pulumi SDK have been loaded into the same process. 28 */ 29 public static isInstance(obj: any): obj is Foo { 30 if (obj === undefined || obj === null) { 31 return false; 32 } 33 return obj['__pulumiType'] === Foo.__pulumiType; 34 } 35 36 37 /** 38 * Create a Foo resource with the given unique name, arguments, and options. 39 * 40 * @param name The _unique_ name of the resource. 41 * @param args The arguments to use to populate this resource's properties. 42 * @param opts A bag of options that control this resource's behavior. 43 */ 44 constructor(name: string, args?: FooArgs, opts?: pulumi.CustomResourceOptions) { 45 let resourceInputs: pulumi.Inputs = {}; 46 opts = opts || {}; 47 if (!opts.id) { 48 if ((!args || args.auditConfig === undefined) && !opts.urn) { 49 throw new Error("Missing required property 'auditConfig'"); 50 } 51 resourceInputs["auditConfig"] = args ? args.auditConfig : undefined; 52 } else { 53 } 54 opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); 55 super(Foo.__pulumiType, name, resourceInputs, opts); 56 } 57 } 58 59 /** 60 * The set of arguments for constructing a Foo resource. 61 */ 62 export interface FooArgs { 63 auditConfig: pulumi.Input<pulumiGoogleNative.types.input.iam.v1.AuditConfigArgs>; 64 }