Project: Pulumi (Provisioning / Automation & Configuration)
File: metaschema.md

A description of the schema for a Pulumi Package `object` Freeform text attribution of derived work, if required. `string` The package's configuration variables. `object` A list of the names of the package's required configuration variables. `array` Items: `string` A map from variable name to propertySpec that describes a package's configuration variables. `object` Additional properties: The description of the package. Descriptions are interpreted as Markdown. `string` The human-friendly name of the package. `string` A map from token to functionSpec that describes the set of functions defined by this package. `object` Property names: Additional properties: The package's homepage. `string` The list of keywords that are associated with the package, if any. `array` Items: `string` Additional language-specific data about the package. `object` The name of the license used for the package's contents. `string` The URL of the package's logo, if any. `string` Format metadata about this package. `object` A regex that is used by the importer to extract a module name from the module portion of a type token. Packages that use the module format "namespace1/namespace2/.../namespaceN" do not need to specify a format. The regex must define one capturing group that contains the module name, which must be formatted as "namespace1/namespace2/...namespaceN". `string` Format: `regex` The unqualified name of the package (e.g. "aws", "azure", "gcp", "kubernetes", "random") `string` Pattern: `^*$` The URL to use when downloading the provider plugin binary. `string` The provider type for this package. The name of the person or organization that authored and published the package. `string` The URL at which the package's sources can be found. `string` A map from type token to resourceSpec that describes the set of resources and components defined by this package. `object` Property names: Additional properties: A map from type token to complexTypeSpec that describes the set of complex types (i.e. object, enum) defined by this package. `object` Property names: Additional properties: The version of the package. The version must be valid semver. `string` Pattern: `^v?(?P<major>0|)(?:\.(?:0|))))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)))?$` `object` The name portion of the alias, if any `string` The project portion of the alias, if any `string` The type portion of the alias, if any `string` A reference to an array type. The "type" property must be set to "array" and the "items" property must be present. No other properties may be present. `object` The element type of the array Constant: `"array"` Describes an enum type `object` The list of possible values for the enum `array` Items: The underlying primitive type of the enum `string` Enum: `"boolean"` | `"integer"` | `"number"` | `"string"` `object` Indicates whether the value is deprecated. `string` The description of the enum value, if any. Interpreted as

`string` If present, overrides the name of the enum value that would usually be derived from the value. `string` The enum value itself `boolean` | `integer` | `number` | `string` Describes a function. `object` Indicates whether the function is deprecated `string` The description of the function, if any. Interpreted as Markdown. `string` The bag of input values for the function, if any. Indicates that the implementation of the function should not be generated from the schema, and is instead provided out-of-band by the package author `boolean` Additional language-specific data about the function. `object` The bag of output values for the function, if any. A reference to a map type. The "type" property must be set to "object" and the "additionalProperties" property may be present. No other properties may be present. `object` The element type of the map. Defaults to "string" when omitted. Constant: `"object"` A reference to a type in this or another document. The "$ref" property must be present. The "type" property is ignored if it is present. No other properties may be present. `object` The URI of the referenced type. For example, the built-in Archive, Asset, and Any types are referenced as "pulumi.json#/Archive", "pulumi.json#/Asset", and "pulumi.json#/Any", respectively. A type from this document is referenced as "#/types/pulumi:type:token". A type from another document is referenced as "path#/types/pulumi:type:token", where path is of the form: "/provider/vX.Y.Z/schema.json" or "pulumi.json" or "http[s]://example.com/provider/vX.Y.Z/schema.json" A resource from this document is referenced as "#/resources/pulumi:type:token". A resource from another document is referenced as "path#/resources/pulumi:type:token", where path is of the form: "/provider/vX.Y.Z/schema.json" or "pulumi.json" or "http[s]://example.com/provider/vX.Y.Z/schema.json" `string` Format: `uri-reference` ignored; present for compatibility with existing schemas `string` `object` All of: Constant: `"object"` Describes an object type `object` A map from property name to propertySpec that describes the object's properties. `object` Additional properties: A list of the names of an object type's required properties. These properties must be set for inputs and will always be set for outputs. `array` Items: `string` A reference to a primitive type. A primitive type must have only the "type" property set. `object` The primitive type, if any `string` Enum: `"boolean"` | `"integer"` | `"number"` | `"string"` Describes an object or resource property `object` All of: The constant value for the property, if any. The type of the value must be assignable to the type of the property. `boolean` | `number` | `string` The default value for the property, if any. The type of the value must be assignable to the type of the property. `boolean` | `number` | `string` Additional information about the property's default value, if any. `object` A set of environment variables to probe for a default value. `array` Items: `string` Additional language-specific data about the default

`object` Indicates whether the property is deprecated `string` The description of the property, if any. Interpreted as Markdown. `string` Additional language-specific data about the property. `object` Specifies whether a change to the property causes its containing resource to be replaced instead of updated (default false). `boolean` Indicates that the provider will replace the resource when this property is changed. `boolean` Specifies whether the property is secret (default false). `boolean` Describes a resource or component. `object` All of: The list of aliases for the resource. `array` Items: Indicates whether the resource is deprecated `string` The description of the resource, if any. Interpreted as Markdown. `string` A map from property name to propertySpec that describes the resource's input properties. `object` Additional properties: Indicates whether the resource is a component. `boolean` Indicates that the implementation of the resource should not be generated from the schema, and is instead provided out-of-band by the package author `boolean` A map from method name to function token that describes the resource's method set. `object` Additional properties: `string` A list of the names of the resource's required input properties. `array` Items: `string` An optional objectTypeSpec that describes additional inputs that mau be necessary to get an existing resource. If this is unset, only an ID is necessary. `string` Pattern: `^:()?:*$` Describes an object or enum type. `object` One of: The description of the type, if any. Interpreted as Markdown. `string` Indicates that the implementation of the type should not be generated from the schema, and is instead provided out-of-band by the package author `boolean` Additional language-specific data about the type. `object` A reference to a type. The particular kind of type referenced is determined based on the contents of the "type" property and the presence or absence of the "additionalProperties", "items", "oneOf", and "$ref" properties. `object` One of: Indicates that when used as an input, this type does not accept eventual values. `boolean` A reference to a union type. The "oneOf" property must be present. The union may additional specify an underlying primitive type via the "type" property and a discriminator via the "discriminator" property. No other properties may be present. `object` Informs the consumer of an alternative schema based on the value associated with it `object` an optional object to hold mappings between payload values and schema names or references `object` Additional properties: `string` PropertyName is the name of the property in the payload that will hold the discriminator value `string` If present, indicates that values of the type may be one of any of the listed types `array` Items: The underlying primitive type of the union, if any `string` Enum: `"boolean"` | `"integer"` | `"number"` | `"string"`