github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/external-resource-schema/nodejs/component.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 pulumiAws from "@pulumi/aws";
     8  import * as pulumiKubernetes from "@pulumi/kubernetes";
     9  
    10  export class Component extends pulumi.CustomResource {
    11      /**
    12       * Get an existing Component resource's state with the given name, ID, and optional extra
    13       * properties used to qualify the lookup.
    14       *
    15       * @param name The _unique_ name of the resulting resource.
    16       * @param id The _unique_ provider ID of the resource to lookup.
    17       * @param opts Optional settings to control the behavior of the CustomResource.
    18       */
    19      public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Component {
    20          return new Component(name, undefined as any, { ...opts, id: id });
    21      }
    22  
    23      /** @internal */
    24      public static readonly __pulumiType = 'example::Component';
    25  
    26      /**
    27       * Returns true if the given object is an instance of Component.  This is designed to work even
    28       * when multiple copies of the Pulumi SDK have been loaded into the same process.
    29       */
    30      public static isInstance(obj: any): obj is Component {
    31          if (obj === undefined || obj === null) {
    32              return false;
    33          }
    34          return obj['__pulumiType'] === Component.__pulumiType;
    35      }
    36  
    37      public /*out*/ readonly provider!: pulumi.Output<pulumiKubernetes.Provider | undefined>;
    38      public /*out*/ readonly securityGroup!: pulumi.Output<pulumiAws.ec2.SecurityGroup>;
    39      public /*out*/ readonly storageClasses!: pulumi.Output<{[key: string]: pulumiKubernetes.storage.v1.StorageClass} | undefined>;
    40  
    41      /**
    42       * Create a Component resource with the given unique name, arguments, and options.
    43       *
    44       * @param name The _unique_ name of the resource.
    45       * @param args The arguments to use to populate this resource's properties.
    46       * @param opts A bag of options that control this resource's behavior.
    47       */
    48      constructor(name: string, args: ComponentArgs, opts?: pulumi.CustomResourceOptions) {
    49          let resourceInputs: pulumi.Inputs = {};
    50          opts = opts || {};
    51          if (!opts.id) {
    52              if ((!args || args.requiredMetadata === undefined) && !opts.urn) {
    53                  throw new Error("Missing required property 'requiredMetadata'");
    54              }
    55              if ((!args || args.requiredMetadataArray === undefined) && !opts.urn) {
    56                  throw new Error("Missing required property 'requiredMetadataArray'");
    57              }
    58              if ((!args || args.requiredMetadataMap === undefined) && !opts.urn) {
    59                  throw new Error("Missing required property 'requiredMetadataMap'");
    60              }
    61              resourceInputs["metadata"] = args ? args.metadata : undefined;
    62              resourceInputs["metadataArray"] = args ? args.metadataArray : undefined;
    63              resourceInputs["metadataMap"] = args ? args.metadataMap : undefined;
    64              resourceInputs["requiredMetadata"] = args ? args.requiredMetadata : undefined;
    65              resourceInputs["requiredMetadataArray"] = args ? args.requiredMetadataArray : undefined;
    66              resourceInputs["requiredMetadataMap"] = args ? args.requiredMetadataMap : undefined;
    67              resourceInputs["provider"] = undefined /*out*/;
    68              resourceInputs["securityGroup"] = undefined /*out*/;
    69              resourceInputs["storageClasses"] = undefined /*out*/;
    70          } else {
    71              resourceInputs["provider"] = undefined /*out*/;
    72              resourceInputs["securityGroup"] = undefined /*out*/;
    73              resourceInputs["storageClasses"] = undefined /*out*/;
    74          }
    75          opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
    76          super(Component.__pulumiType, name, resourceInputs, opts);
    77      }
    78  }
    79  
    80  /**
    81   * The set of arguments for constructing a Component resource.
    82   */
    83  export interface ComponentArgs {
    84      metadata?: pulumi.Input<pulumiKubernetes.types.input.meta.v1.ObjectMeta>;
    85      metadataArray?: pulumi.Input<pulumi.Input<pulumiKubernetes.types.input.meta.v1.ObjectMeta>[]>;
    86      metadataMap?: pulumi.Input<{[key: string]: pulumi.Input<pulumiKubernetes.types.input.meta.v1.ObjectMeta>}>;
    87      requiredMetadata: pulumi.Input<pulumiKubernetes.types.input.meta.v1.ObjectMeta>;
    88      requiredMetadataArray: pulumi.Input<pulumi.Input<pulumiKubernetes.types.input.meta.v1.ObjectMeta>[]>;
    89      requiredMetadataMap: pulumi.Input<{[key: string]: pulumi.Input<pulumiKubernetes.types.input.meta.v1.ObjectMeta>}>;
    90  }