Skip to content

Commit

Permalink
06/23/2023 CFN Resource Provider Definition Schema.
Browse files Browse the repository at this point in the history
  • Loading branch information
ewbankkit committed Jun 23, 2023
1 parent aa899d0 commit 717d480
Showing 1 changed file with 67 additions and 1 deletion.
68 changes: 67 additions & 1 deletion testdata/provider.definition.schema.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,57 @@
"title": "CloudFormation Resource Provider Definition MetaSchema",
"description": "This schema validates a CloudFormation resource provider definition.",
"definitions": {
"handlerSchema": {
"type": "object",
"properties": {
"properties": {
"$ref": "file://./base.definition.schema.v1.json#/properties/properties"
},
"required": {
"$ref": "file://./base.definition.schema.v1.json#/properties/required"
},
"allOf": {
"$ref": "file://./base.definition.schema.v1.json#/definitions/schemaArray"
},
"anyOf": {
"$ref": "file://./base.definition.schema.v1.json#/definitions/schemaArray"
},
"oneOf": {
"$ref": "file://./base.definition.schema.v1.json#/definitions/schemaArray"
}
},
"required": [
"properties"
],
"additionalProperties": false
},
"handlerDefinitionWithSchemaOverride": {
"description": "Defines any execution operations which can be performed on this resource provider",
"type": "object",
"properties": {
"handlerSchema": {
"$ref": "#/definitions/handlerSchema"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"additionalItems": false
},
"timeoutInMinutes": {
"description": "Defines the timeout for the entire operation to be interpreted by the invoker of the handler. The default is 120 (2 hours).",
"type": "integer",
"minimum": 2,
"maximum": 2160,
"default": 120
}
},
"additionalProperties": false,
"required": [
"permissions"
]
},
"handlerDefinition": {
"description": "Defines any execution operations which can be performed on this resource provider",
"type": "object",
Expand Down Expand Up @@ -145,6 +196,13 @@
"description": "A reference to the Tags property in the schema.",
"$ref": "http://json-schema.org/draft-07/schema#/properties/$ref",
"default": "/properties/Tags"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"additionalItems": false
}
},
"required": [
Expand Down Expand Up @@ -183,7 +241,7 @@
"$ref": "#/definitions/handlerDefinition"
},
"list": {
"$ref": "#/definitions/handlerDefinition"
"$ref": "#/definitions/handlerDefinitionWithSchemaOverride"
}
},
"additionalProperties": false
Expand All @@ -204,6 +262,14 @@
"description": "A list of JSON pointers for properties that can only be updated under certain conditions. For example, you can upgrade the engine version of an RDS DBInstance but you cannot downgrade it. When updating this property for a resource in a CloudFormation stack, the resource will be replaced if it cannot be updated.",
"$ref": "file://./base.definition.schema.v1.json#/definitions/jsonPointerArray"
},
"nonPublicProperties": {
"description": "A list of JSON pointers for properties that are hidden. These properties will still be used but will not be visible",
"$ref": "file://./base.definition.schema.v1.json#/definitions/jsonPointerArray"
},
"nonPublicDefinitions": {
"description": "A list of JSON pointers for definitions that are hidden. These definitions will still be used but will not be visible",
"$ref": "file://./base.definition.schema.v1.json#/definitions/jsonPointerArray"
},
"createOnlyProperties": {
"description": "A list of JSON pointers to properties that are only able to be specified by the customer when creating a resource. Conversely, any property *not* in this list can be applied to an Update request.",
"$ref": "file://./base.definition.schema.v1.json#/definitions/jsonPointerArray"
Expand Down

0 comments on commit 717d480

Please sign in to comment.