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 }