github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/resource-args-python/nodejs/person.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 inputs from "./types/input";
     6  import * as outputs from "./types/output";
     7  import * as utilities from "./utilities";
     8  
     9  export class Person extends pulumi.CustomResource {
    10      /**
    11       * Get an existing Person 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): Person {
    19          return new Person(name, undefined as any, { ...opts, id: id });
    20      }
    21  
    22      /** @internal */
    23      public static readonly __pulumiType = 'example::Person';
    24  
    25      /**
    26       * Returns true if the given object is an instance of Person.  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 Person {
    30          if (obj === undefined || obj === null) {
    31              return false;
    32          }
    33          return obj['__pulumiType'] === Person.__pulumiType;
    34      }
    35  
    36      public readonly name!: pulumi.Output<string | undefined>;
    37      public readonly pets!: pulumi.Output<outputs.Pet[] | undefined>;
    38  
    39      /**
    40       * Create a Person resource with the given unique name, arguments, and options.
    41       *
    42       * @param name The _unique_ name of the resource.
    43       * @param args The arguments to use to populate this resource's properties.
    44       * @param opts A bag of options that control this resource's behavior.
    45       */
    46      constructor(name: string, args?: PersonArgs, opts?: pulumi.CustomResourceOptions) {
    47          let resourceInputs: pulumi.Inputs = {};
    48          opts = opts || {};
    49          if (!opts.id) {
    50              resourceInputs["name"] = args ? args.name : undefined;
    51              resourceInputs["pets"] = args ? args.pets : undefined;
    52          } else {
    53              resourceInputs["name"] = undefined /*out*/;
    54              resourceInputs["pets"] = undefined /*out*/;
    55          }
    56          opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
    57          super(Person.__pulumiType, name, resourceInputs, opts);
    58      }
    59  }
    60  
    61  /**
    62   * The set of arguments for constructing a Person resource.
    63   */
    64  export interface PersonArgs {
    65      name?: pulumi.Input<string>;
    66      pets?: pulumi.Input<pulumi.Input<inputs.PetArgs>[]>;
    67  }