Pulumi Package Metaschema¶
A description of the schema for a Pulumi Package
object
Properties¶
config
¶
The package’s configuration variables.
object
Properties¶
required
¶
A list of the names of the package’s required configuration variables.
array
Items: string
variables
¶
A map from variable name to propertySpec that describes a package’s configuration variables.
object
Additional properties: Property Definition
functions
¶
A map from token to functionSpec that describes the set of functions defined by this package.
object
Property names: Token
Additional properties: Function Definition
meta
¶
Format metadata about this package.
object
Properties¶
moduleFormat
(required)¶
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
name
(required)¶
The unqualified name of the package (e.g. “aws”, “azure”, “gcp”, “kubernetes”, “random”)
string
Pattern: ^[a-zA-Z][-a-zA-Z0-9_]*$
resources
¶
A map from type token to resourceSpec that describes the set of resources and components defined by this package.
object
Property names: Token
Additional properties: Resource Definition
types
¶
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: Token
Additional properties: Type Definition
version
¶
The version of the package. The version must be valid semver.
string
Pattern: ^v?(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Alias Definition¶
object
Array Type¶
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
Enum Type Definition¶
Describes an enum type
object
Enum Value Definition¶
object
Function Definition¶
Describes a function.
object
Map Type¶
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
Named Type¶
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
Properties¶
$ref
(required)¶
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
Object Type Details¶
Describes an object type
object
Properties¶
properties
¶
A map from property name to propertySpec that describes the object’s properties.
object
Additional properties: Property Definition
required
¶
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
Primitive Type¶
A reference to a primitive type. A primitive type must have only the “type” property set.
object
Property Definition¶
Describes an object or resource property
object
All of:
Properties¶
const
¶
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
default
¶
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
replaceOnChanges
¶
Specifies whether a change to the property causes its containing resource to be replaced instead of updated (default false).
boolean
willReplaceOnChanges
¶
Indicates that the provider will replace the resource when this property is changed.
boolean
Resource Definition¶
Describes a resource or component.
object
All of:
Properties¶
inputProperties
¶
A map from property name to propertySpec that describes the resource’s input properties.
object
Additional properties: Property Definition
isOverlay
¶
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
methods
¶
A map from method name to function token that describes the resource’s method set.
object
Additional properties: string
requiredInputs
¶
A list of the names of the resource’s required input properties.
array
Items: string
stateInputs
¶
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.
Type Definition¶
Describes an object or enum type.
object
One of:
Type Reference¶
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:
Union Type¶
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
Properties¶
discriminator
¶
Informs the consumer of an alternative schema based on the value associated with it
object
oneOf
(required)¶
If present, indicates that values of the type may be one of any of the listed types
array
Items: Type Reference
type
¶
The underlying primitive type of the union, if any
string
Enum: "boolean"
| "integer"
| "number"
| "string"