From ed11e613b9df319b8392ba55be3edca90df21a2c Mon Sep 17 00:00:00 2001 From: mmaeng Date: Fri, 23 Jun 2023 00:34:50 +0000 Subject: [PATCH] CloudFormation Resource Provider Definition MetaSchema update --- .../schema/provider.definition.schema.v1.json | 60 ++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/src/rpdk/core/data/schema/provider.definition.schema.v1.json b/src/rpdk/core/data/schema/provider.definition.schema.v1.json index 5a4d0ac4..ce21803b 100644 --- a/src/rpdk/core/data/schema/provider.definition.schema.v1.json +++ b/src/rpdk/core/data/schema/provider.definition.schema.v1.json @@ -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": "base.definition.schema.v1.json#/properties/properties" + }, + "required": { + "$ref": "base.definition.schema.v1.json#/properties/required" + }, + "allOf": { + "$ref": "base.definition.schema.v1.json#/definitions/schemaArray" + }, + "anyOf": { + "$ref": "base.definition.schema.v1.json#/definitions/schemaArray" + }, + "oneOf": { + "$ref": "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", @@ -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": [ @@ -183,7 +241,7 @@ "$ref": "#/definitions/handlerDefinition" }, "list": { - "$ref": "#/definitions/handlerDefinition" + "$ref": "#/definitions/handlerDefinitionWithSchemaOverride" } }, "additionalProperties": false