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  }