From 47afb339986142bef9c05c8cb1a0a7cd4117d0fa Mon Sep 17 00:00:00 2001 From: JD-ghforme Date: Mon, 13 Apr 2026 12:23:17 -0400 Subject: [PATCH 1/7] initial check-in --- specs/Data-Gateway.json | 94 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index ed8e906..33292a3 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -4705,6 +4705,53 @@ } } ] + }, + "CloudMatrix.TemplateMetadata": { + "title": "Template Metadata", + "description": "Metadata information for a value CloudMatrix template in the data gateway.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A valid template name allows alphanumeric characters, spaces, underscores, and hyphens, but may not start or end with special characters.", + "examples": [ + "cloud-matrix", + "google" + ] + }, + "createdOn": { + "$ref": "#/components/schemas/DateTimeStringType", + "description": "Date when the template was created." + }, + "lastModified": { + "$ref": "#/components/schemas/DateTimeStringType", + "description": "Date when the template was last modified." + }, + "type": { + "type": "string", + "description": "A valid template type allows alphanumeric characters, spaces, underscores, and hyphens, but may not start or end with special characters." + } + }, + "required": [ + "createdOn", + "name", + "lastModified", + "type" + ], + "examples": [ + { + "createdOn": "2026-03-24T16:56:43.000Z", + "name": "cloudMatrix", + "lastModified": "2026-03-24T16:56:43.000Z", + "type": "" + }, + { + "createdOn": "2026-04-08T14:15:44.000Z", + "name": "CloudMatrixPremium", + "lastModified": "2026-04-08T14:15:44.000Z", + "type": "" + } + ] } }, "securitySchemes": { @@ -11058,6 +11105,51 @@ "Cloud Matrix" ] } + }, + "/Api/CloudMatrix/Template/List": { + "get": { + "description": "Get a list of all available templates from CM storage. \n\nThis endpoint requires the `CloudMatrix.Read`, `CloudMatrix.Read.Del`, `CloudMatrix.Read.All`, `CloudMatrix.ReadWrite`, or `CloudMatrix.ReadWrite.All` scope (permission).", + "operationId": "/Api/CloudMatrix/Template/List/Get", + "responses": { + "200": { + "description": "List of TemplateFileMetadata objects.", + "content": { + "application/json": { + "examples": { + "Default Output": { + "description": "A list (metadata) templates that are stored in blob storage. This is the default output when there are two templates stored in blob storage.", + "summary": "Default Output", + "value": [ + { + "createdOn": "2026-03-24T16:56:43.000Z", + "name": "cloudMatrix", + "lastModified": "2026-03-24T16:56:43.000Z", + "type": "" + }, + { + "createdOn": "2026-04-08T14:15:44.000Z", + "name": "Google", + "lastModified": "2026-04-08T14:15:44.000Z", + "type": "" + } + ] + } + } + }, + "schema": { + "$ref": "#/components/schemas/CloudMatrix.TemplateMetadata" + } + } + }, + "500": { + "$ref": "#/components/responses/500" + } + }, + "tags": [ + "Cloud Matrix" + ], + "summary": "Get a list of all available CM template objects" + } } }, "security": [ @@ -11117,4 +11209,4 @@ "name": "Cloud Matrix" } ] -} \ No newline at end of file +} From 2a090a26f0b95980f57ec3fa0b340a2d0bd799ce Mon Sep 17 00:00:00 2001 From: JD-ghforme Date: Mon, 13 Apr 2026 13:39:32 -0400 Subject: [PATCH 2/7] more copilot fixes --- specs/Data-Gateway.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index 33292a3..a688e24 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -4708,7 +4708,7 @@ }, "CloudMatrix.TemplateMetadata": { "title": "Template Metadata", - "description": "Metadata information for a value CloudMatrix template in the data gateway.", + "description": "Metadata information for a valid CloudMatrix template in the data gateway.", "type": "object", "properties": { "name": { @@ -4743,13 +4743,13 @@ "createdOn": "2026-03-24T16:56:43.000Z", "name": "cloudMatrix", "lastModified": "2026-03-24T16:56:43.000Z", - "type": "" + "type": "Standard" }, { "createdOn": "2026-04-08T14:15:44.000Z", "name": "CloudMatrixPremium", "lastModified": "2026-04-08T14:15:44.000Z", - "type": "" + "type": "Premium" } ] } @@ -11124,20 +11124,20 @@ "createdOn": "2026-03-24T16:56:43.000Z", "name": "cloudMatrix", "lastModified": "2026-03-24T16:56:43.000Z", - "type": "" + "type": "Standard" }, { "createdOn": "2026-04-08T14:15:44.000Z", "name": "Google", "lastModified": "2026-04-08T14:15:44.000Z", - "type": "" + "type": "Premium" } ] } + }, + "schema": { + "$ref": "#/components/schemas/CloudMatrix.TemplateMetadata" } - }, - "schema": { - "$ref": "#/components/schemas/CloudMatrix.TemplateMetadata" } } }, From 1acf9f2325dae74970ba2ff3dc1c5552432d03b1 Mon Sep 17 00:00:00 2001 From: JD-ghforme Date: Mon, 13 Apr 2026 13:50:57 -0400 Subject: [PATCH 3/7] a couple more copilot fixes --- specs/Data-Gateway.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index a688e24..cd54256 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -4713,6 +4713,8 @@ "properties": { "name": { "type": "string", + "minLength": 2, + "maxLength": 100, "description": "A valid template name allows alphanumeric characters, spaces, underscores, and hyphens, but may not start or end with special characters.", "examples": [ "cloud-matrix", @@ -11117,7 +11119,7 @@ "application/json": { "examples": { "Default Output": { - "description": "A list (metadata) templates that are stored in blob storage. This is the default output when there are two templates stored in blob storage.", + "description": "A list of template metadata that is stored in blob storage. This is the default output when there are two templates stored in blob storage.", "summary": "Default Output", "value": [ { From eeafdae938ad277c854087da578bfa69f32fe44a Mon Sep 17 00:00:00 2001 From: JD-ghforme Date: Wed, 15 Apr 2026 09:00:58 -0400 Subject: [PATCH 4/7] fixing endpoint path to match Gateway --- specs/Data-Gateway.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index cd54256..17679ad 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -11108,10 +11108,10 @@ ] } }, - "/Api/CloudMatrix/Template/List": { + "/Api/CloudMatrix/TemplateMetadata/List": { "get": { "description": "Get a list of all available templates from CM storage. \n\nThis endpoint requires the `CloudMatrix.Read`, `CloudMatrix.Read.Del`, `CloudMatrix.Read.All`, `CloudMatrix.ReadWrite`, or `CloudMatrix.ReadWrite.All` scope (permission).", - "operationId": "/Api/CloudMatrix/Template/List/Get", + "operationId": "/Api/CloudMatrix/TemplateMetadata/List/Get", "responses": { "200": { "description": "List of TemplateFileMetadata objects.", From f48404a19f6e18f693b777896ae74e1084cd4549 Mon Sep 17 00:00:00 2001 From: JD-ghforme Date: Wed, 15 Apr 2026 10:55:24 -0400 Subject: [PATCH 5/7] update to match Gateway changes to endpoint --- specs/Data-Gateway.json | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index 985fc19..818a93f 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -4724,6 +4724,35 @@ "Microsoft_Academic", "Google-Workspace" ] + }, + "CloudMatrix.TemplateMetadata": { + "title": "Cloud Matrix Template File Metadata", + "type": "object", + "description": "Information about Cloud Matrix template files.", + "properties": { + "createdOn": { + "$ref": "#/components/schemas/DateTimeStringType", + "description": "Creation date of the template file.", + }, + "name": { + "type": "string", + "description": "Name of available template.", + "examples": [ + "cloud-matrix" + ] + }, + "lastModified": { + "$ref": "#/components/schemas/DateTimeStringType", + "description": "Last modified date of the template file.", + }, + "type": { + "type": "string", + "description": "Type of the template.", + "examples": [ + "Microsoft Cloud Adoption Matrix Template" + ] + } + } } }, "securitySchemes": { From b95f99dd5a183b338902f018f4a2830e99b0555d Mon Sep 17 00:00:00 2001 From: JD-ghforme Date: Wed, 15 Apr 2026 12:00:31 -0400 Subject: [PATCH 6/7] cleanup --- specs/Data-Gateway.json | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index 818a93f..19cba05 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -4732,18 +4732,15 @@ "properties": { "createdOn": { "$ref": "#/components/schemas/DateTimeStringType", - "description": "Creation date of the template file.", + "description": "Creation date of the template file." }, "name": { - "type": "string", - "description": "Name of available template.", - "examples": [ - "cloud-matrix" - ] + "$ref": "#/components/schemas/CloudMatrix.TemplateName", + "description": "Name of available template." }, "lastModified": { "$ref": "#/components/schemas/DateTimeStringType", - "description": "Last modified date of the template file.", + "description": "Last modified date of the template file." }, "type": { "type": "string", @@ -4752,7 +4749,25 @@ "Microsoft Cloud Adoption Matrix Template" ] } - } + }, + "required": [ + "name", + "type" + ], + "examples": [ + { + "createdOn": "2025-12-15T21:13:12.821Z", + "name": "Microsoft Enterprise", + "lastModified": "2025-12-15T21:13:12.821Z", + "type": "Microsoft Cloud Adoption Matrix Template" + }, + { + "createdOn": "2025-12-15T21:13:12.821Z", + "name": "Google-Workspace", + "lastModified": "2025-12-15T21:13:12.821Z", + "type": "Microsoft Cloud Adoption Matrix Template" + } + ] } }, "securitySchemes": { From edf39845fdbd6e7da87d0eb2606880caacf5d43f Mon Sep 17 00:00:00 2001 From: JD-ghforme Date: Wed, 15 Apr 2026 12:10:09 -0400 Subject: [PATCH 7/7] fixing copilot suggestions --- specs/Data-Gateway.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/specs/Data-Gateway.json b/specs/Data-Gateway.json index 19cba05..0c591f4 100644 --- a/specs/Data-Gateway.json +++ b/specs/Data-Gateway.json @@ -11159,7 +11159,11 @@ } }, "schema": { - "$ref": "#/components/schemas/CloudMatrix.TemplateMetadata" + "type": "array", + "minItems": 0, + "items": { + "$ref": "#/components/schemas/CloudMatrix.TemplateMetadata" + } } } }