diff --git a/.apigentools-info b/.apigentools-info index f72b3b8da712..568bf7a3315b 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2025-01-06 16:11:12.349211", - "spec_repo_commit": "24e28b93" + "regenerated": "2025-01-06 18:09:35.371091", + "spec_repo_commit": "c020103f" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2025-01-06 16:11:12.364402", - "spec_repo_commit": "24e28b93" + "regenerated": "2025-01-06 18:09:35.385957", + "spec_repo_commit": "c020103f" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 5b2f9cf59110..295728842fb9 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -1634,34 +1634,6 @@ components: type: string x-enum-varnames: - apm_retention_filter - AppBuilderError: - description: The definition of `AppBuilderError` object. - properties: - errors: - description: The `AppBuilderError` `errors`. - items: - $ref: '#/components/schemas/AppBuilderErrorErrorsItems' - type: array - type: object - AppBuilderErrorErrorsItems: - description: The definition of `AppBuilderErrorErrorsItems` object. - properties: - detail: - description: The `items` `detail`. - type: string - source: - $ref: '#/components/schemas/AppBuilderErrorErrorsItemsSource' - type: object - AppBuilderErrorErrorsItemsSource: - description: The definition of `AppBuilderErrorErrorsItemsSource` object. - properties: - parameter: - description: The `source` `parameter`. - type: string - pointer: - description: The `source` `pointer`. - type: string - type: object AppBuilderEvent: additionalProperties: {} description: The definition of `AppBuilderEvent` object. @@ -1748,6 +1720,7 @@ components: type: string user_uuid: description: The `AppMeta` `user_uuid`. + format: uuid type: string version: description: The `AppMeta` `version`. @@ -9114,6 +9087,7 @@ components: type: string user_uuid: description: The `meta` `user_uuid`. + format: uuid type: string type: object DeploymentIncludedType: @@ -9139,6 +9113,7 @@ components: type: string user_uuid: description: The `DeploymentMeta` `user_uuid`. + format: uuid type: string type: object DeploymentRelationship: @@ -9181,6 +9156,7 @@ components: type: string user_uuid: description: The `meta` `user_uuid`. + format: uuid type: string type: object DeploymentType: @@ -31053,19 +31029,19 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' - description: Forbidden, e.g. missing permissions to delete one or more apps + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' @@ -31082,63 +31058,71 @@ paths: description: List all apps, with optional filters and sorting operationId: ListApps parameters: - - description: The number of apps to return per page + - description: The number of apps to return per page. in: query name: limit required: false schema: format: int64 type: integer - - description: The page number to return + - description: The page number to return. in: query name: page required: false schema: format: int64 type: integer - - description: The `AppsFilter` `user_name`. + - description: Filter apps by the app creator. Usually the user's email. in: query name: filter[user_name] required: false schema: type: string - - description: The `AppsFilter` `user_uuid`. + - description: Filter apps by the app creator's UUID. in: query name: filter[user_uuid] required: false schema: + format: uuid type: string - - description: The `AppsFilter` `name`. + - description: Filter by app name. in: query name: filter[name] required: false schema: type: string - - description: The `AppsFilter` `query`. + - description: Filter apps by the app name or the app creator. in: query name: filter[query] required: false schema: type: string - - description: The `AppsFilter` `deployed`. + - description: Filter apps by whether they are published. in: query name: filter[deployed] required: false schema: type: boolean - - description: The `AppsFilter` `tags`. + - description: Filter apps by tags. in: query name: filter[tags] required: false schema: type: string - - description: The `AppsFilter` `favorite`. + - description: Filter apps by whether you have added them to your favorites. in: query name: filter[favorite] required: false schema: type: boolean - - explode: false + - description: Filter apps by whether they are enabled for self-service. + in: query + name: filter[self_service] + required: false + schema: + type: boolean + - description: The fields and direction to sort apps by. + explode: false in: query name: sort required: false @@ -31158,13 +31142,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' - description: Bad Request, e.g. invalid sort parameter + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' @@ -31197,15 +31181,14 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' - description: Forbidden, e.g. missing required permissions to a connection - or workflow used in the app + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' summary: Create App @@ -31240,25 +31223,25 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '410': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Gone '429': $ref: '#/components/responses/TooManyRequestsResponse' @@ -31280,6 +31263,11 @@ paths: required: true schema: type: string + - in: query + name: version + required: false + schema: + type: string responses: '200': content: @@ -31291,19 +31279,19 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' @@ -31343,15 +31331,14 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' - description: Forbidden, e.g. missing required permissions to a connection - or workflow used in the app + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' summary: Update App @@ -31386,25 +31373,25 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' summary: Disable App tags: - - App Deployment + - Apps x-permission: operator: OR permissions: @@ -31431,25 +31418,25 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/AppBuilderError' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' summary: Deploy App tags: - - App Deployment + - Apps x-permission: operator: OR permissions: @@ -48120,9 +48107,10 @@ tags: externalDocs: url: https://docs.datadoghq.com/integrations/amazon_web_services/#log-collection name: AWS Logs Integration -- description: Deploy and disable apps in App Builder. - name: App Deployment -- description: Create, read, update, and delete apps in App Builder. +- description: Datadog App Builder provides a low-code solution to rapidly develop + and integrate secure, customized applications into your monitoring stack that + are built to accelerate remediation at scale. These API endpoints allow you to + create, read, update, delete, and publish apps. name: Apps - description: Search your Audit Logs events over HTTP. name: Audit diff --git a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Bad-Request-response_3804679907/frozen.json b/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Bad-Request-response_3804679907/frozen.json deleted file mode 100644 index f65a7194e0b5..000000000000 --- a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Bad-Request-response_3804679907/frozen.json +++ /dev/null @@ -1 +0,0 @@ -"2024-12-10T19:57:35.320Z" diff --git a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Created-response_286585597/frozen.json b/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Created-response_286585597/frozen.json deleted file mode 100644 index 564cd73eaba3..000000000000 --- a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Created-response_286585597/frozen.json +++ /dev/null @@ -1 +0,0 @@ -"2024-12-12T20:29:22.668Z" diff --git a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Not-Found-response_670810212/frozen.json b/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Not-Found-response_670810212/frozen.json deleted file mode 100644 index 210258567a12..000000000000 --- a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Not-Found-response_670810212/frozen.json +++ /dev/null @@ -1 +0,0 @@ -"2024-12-10T19:57:35.984Z" diff --git a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Bad-Request-response_1603315968/frozen.json b/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Bad-Request-response_1603315968/frozen.json deleted file mode 100644 index 389479fa8ca4..000000000000 --- a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Bad-Request-response_1603315968/frozen.json +++ /dev/null @@ -1 +0,0 @@ -"2024-12-10T19:57:36.091Z" diff --git a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Not-Found-response_2767718519/frozen.json b/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Not-Found-response_2767718519/frozen.json deleted file mode 100644 index 6264d3965666..000000000000 --- a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Not-Found-response_2767718519/frozen.json +++ /dev/null @@ -1 +0,0 @@ -"2024-12-10T19:57:36.179Z" diff --git a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-OK-response_84091086/frozen.json b/cassettes/v2/App-Deployment_818229931/Disable-App-returns-OK-response_84091086/frozen.json deleted file mode 100644 index 55e9607337af..000000000000 --- a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-OK-response_84091086/frozen.json +++ /dev/null @@ -1 +0,0 @@ -"2024-12-12T20:29:23.546Z" diff --git a/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/frozen.json b/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/frozen.json index 9d9cd805204c..9c0566eaa6d4 100644 --- a/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/frozen.json +++ b/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/frozen.json @@ -1 +1 @@ -"2024-12-12T20:29:24.182Z" +"2024-12-20T20:39:18.375Z" diff --git a/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/recording.har b/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/recording.har index eeb8c6a30ac5..9a341da57280 100644 --- a/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/recording.har +++ b/cassettes/v2/Apps_1406737069/Create-App-returns-App-Created-response_2429108219/recording.har @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"2d9dd18e-c574-454c-8d43-3045b731d6a2\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"02c52f8c-78d9-4c14-ac27-b0bcac36ce74\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:24.185Z", - "time": 233 + "startedDateTime": "2024-12-20T20:39:18.383Z", + "time": 212 }, { - "_id": "1d96f31b62427d8711a6166228a63510", + "_id": "faf53efb5573c7ab23e2f60966d9bbd3", "_order": 0, "cache": {}, "request": { @@ -78,14 +78,14 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/2d9dd18e-c574-454c-8d43-3045b731d6a2" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/02c52f8c-78d9-4c14-ac27-b0bcac36ce74" }, "response": { "bodySize": 78, "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"2d9dd18e-c574-454c-8d43-3045b731d6a2\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"02c52f8c-78d9-4c14-ac27-b0bcac36ce74\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -100,8 +100,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:24.424Z", - "time": 231 + "startedDateTime": "2024-12-20T20:39:18.605Z", + "time": 168 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/frozen.json b/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/frozen.json index 73f145af21a0..8196ec87495e 100644 --- a/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/frozen.json +++ b/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:10.031Z" +"2024-12-20T20:39:18.779Z" diff --git a/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/recording.har b/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/recording.har index 2318579ece5a..15263595dd60 100644 --- a/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/recording.har +++ b/cassettes/v2/Apps_1406737069/Create-App-returns-Bad-Request-response_2920792470/recording.har @@ -51,14 +51,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 656, + "headersSize": 655, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2024-12-10T19:57:10.034Z", - "time": 85 + "startedDateTime": "2024-12-20T20:39:18.783Z", + "time": 91 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/frozen.json b/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/frozen.json index 2352e167765d..2ef4bcce3d45 100644 --- a/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/frozen.json +++ b/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:10.128Z" +"2024-12-20T20:39:18.880Z" diff --git a/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/recording.har b/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/recording.har index c9dee3e52b8d..0b73a806e056 100644 --- a/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/recording.har +++ b/cassettes/v2/Apps_1406737069/Delete-App-returns-Bad-Request-response_2830425951/recording.har @@ -41,14 +41,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 656, + "headersSize": 655, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2024-12-10T19:57:10.133Z", - "time": 84 + "startedDateTime": "2024-12-20T20:39:18.881Z", + "time": 97 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/frozen.json b/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/frozen.json index 9b35f99b57f9..d14744885b6c 100644 --- a/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/frozen.json +++ b/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:10.225Z" +"2024-12-20T20:39:18.985Z" diff --git a/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/recording.har b/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/recording.har index 06e72971a8a3..226b385790bc 100644 --- a/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/recording.har +++ b/cassettes/v2/Apps_1406737069/Delete-App-returns-Not-Found-response_2437545272/recording.har @@ -41,14 +41,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 656, + "headersSize": 655, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2024-12-10T19:57:10.230Z", - "time": 93 + "startedDateTime": "2024-12-20T20:39:18.987Z", + "time": 87 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/frozen.json b/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/frozen.json index c62090759b59..edb75baf29b4 100644 --- a/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/frozen.json +++ b/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/frozen.json @@ -1 +1 @@ -"2024-12-12T20:29:24.659Z" +"2024-12-20T20:39:19.083Z" diff --git a/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/recording.har b/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/recording.har index 49fa98c0f129..8bdf761e5847 100644 --- a/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/recording.har +++ b/cassettes/v2/Apps_1406737069/Delete-App-returns-OK-response_3750909387/recording.har @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"5cb67134-d7bd-4320-9cda-d79ec98cff4c\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"500bf715-77a5-4c1d-b4ef-0d181b071daf\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:24.661Z", - "time": 229 + "startedDateTime": "2024-12-20T20:39:19.087Z", + "time": 163 }, { - "_id": "9c1dd179d692341628cdf128df58ebe7", + "_id": "cdb2b576145111825179176076a149fd", "_order": 0, "cache": {}, "request": { @@ -74,18 +74,18 @@ "value": "application/json" } ], - "headersSize": 545, + "headersSize": 546, "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/5cb67134-d7bd-4320-9cda-d79ec98cff4c" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/500bf715-77a5-4c1d-b4ef-0d181b071daf" }, "response": { "bodySize": 78, "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"5cb67134-d7bd-4320-9cda-d79ec98cff4c\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"500bf715-77a5-4c1d-b4ef-0d181b071daf\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -100,11 +100,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:24.895Z", - "time": 207 + "startedDateTime": "2024-12-20T20:39:19.259Z", + "time": 221 }, { - "_id": "9c1dd179d692341628cdf128df58ebe7", + "_id": "cdb2b576145111825179176076a149fd", "_order": 1, "cache": {}, "request": { @@ -121,7 +121,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/5cb67134-d7bd-4320-9cda-d79ec98cff4c" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/500bf715-77a5-4c1d-b4ef-0d181b071daf" }, "response": { "bodySize": 39, @@ -143,8 +143,8 @@ "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2024-12-12T20:29:25.107Z", - "time": 126 + "startedDateTime": "2024-12-20T20:39:19.488Z", + "time": 98 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/frozen.json b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/frozen.json index 8f2e44f4d15a..157769ad5b3b 100644 --- a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/frozen.json +++ b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:10.845Z" +"2024-12-20T20:39:19.594Z" diff --git a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/recording.har b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/recording.har index 6461edd014ab..672653e2f5dd 100644 --- a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/recording.har +++ b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Bad-Request-response_199784758/recording.har @@ -57,8 +57,8 @@ "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2024-12-10T19:57:10.850Z", - "time": 86 + "startedDateTime": "2024-12-20T20:39:19.599Z", + "time": 85 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/frozen.json b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/frozen.json index 7bac8f549f9a..c24f44673ea2 100644 --- a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/frozen.json +++ b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:10.942Z" +"2024-12-20T20:39:19.688Z" diff --git a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/recording.har b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/recording.har index 110478ce6e1b..88688d7531db 100644 --- a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/recording.har +++ b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-Not-Found-response_899304157/recording.har @@ -57,8 +57,8 @@ "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2024-12-10T19:57:10.943Z", - "time": 92 + "startedDateTime": "2024-12-20T20:39:19.689Z", + "time": 91 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/frozen.json b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/frozen.json index 39d0c4f7a91d..4b7675bf537e 100644 --- a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/frozen.json +++ b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/frozen.json @@ -1 +1 @@ -"2024-12-12T20:29:25.239Z" +"2024-12-20T20:39:19.785Z" diff --git a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/recording.har b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/recording.har index 53d964f41ace..d166c809d825 100644 --- a/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/recording.har +++ b/cassettes/v2/Apps_1406737069/Delete-Multiple-Apps-returns-OK-response_1924539132/recording.har @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"61d36766-5d27-47ea-a3e7-aa7bd77b1da3\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"884b37bc-71b8-40bc-8967-12684ec7f3c4\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:25.241Z", - "time": 234 + "startedDateTime": "2024-12-20T20:39:19.786Z", + "time": 166 }, { - "_id": "1e7c2f0860e2f0906bfec9a688879afa", + "_id": "a5d24919c4f7470dcb6619b89e020b7a", "_order": 0, "cache": {}, "request": { @@ -85,7 +85,7 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":[{\"id\":\"61d36766-5d27-47ea-a3e7-aa7bd77b1da3\",\"type\":\"appDefinitions\"}]}" + "text": "{\"data\":[{\"id\":\"884b37bc-71b8-40bc-8967-12684ec7f3c4\",\"type\":\"appDefinitions\"}]}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/app-builder/apps" @@ -95,7 +95,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 80, - "text": "{\"data\":[{\"id\":\"61d36766-5d27-47ea-a3e7-aa7bd77b1da3\",\"type\":\"appDefinitions\"}]}" + "text": "{\"data\":[{\"id\":\"884b37bc-71b8-40bc-8967-12684ec7f3c4\",\"type\":\"appDefinitions\"}]}" }, "cookies": [], "headers": [ @@ -104,17 +104,17 @@ "value": "application/vnd.api+json" } ], - "headersSize": 655, + "headersSize": 656, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:25.478Z", - "time": 150 + "startedDateTime": "2024-12-20T20:39:19.959Z", + "time": 109 }, { - "_id": "19052e38b509dddd738efa3cf9e0e527", + "_id": "11bf989667b9b708494f737f49e7dc3f", "_order": 0, "cache": {}, "request": { @@ -131,7 +131,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/61d36766-5d27-47ea-a3e7-aa7bd77b1da3" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/884b37bc-71b8-40bc-8967-12684ec7f3c4" }, "response": { "bodySize": 39, @@ -147,14 +147,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 655, + "headersSize": 656, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2024-12-12T20:29:25.632Z", - "time": 132 + "startedDateTime": "2024-12-20T20:39:20.077Z", + "time": 103 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Deploy-App-returns-Bad-Request-response_3804679907/frozen.json b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Bad-Request-response_3804679907/frozen.json new file mode 100644 index 000000000000..43b285e6072e --- /dev/null +++ b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Bad-Request-response_3804679907/frozen.json @@ -0,0 +1 @@ +"2024-12-20T20:39:20.190Z" diff --git a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Bad-Request-response_3804679907/recording.har b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Bad-Request-response_3804679907/recording.har similarity index 87% rename from cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Bad-Request-response_3804679907/recording.har rename to cassettes/v2/Apps_1406737069/Deploy-App-returns-Bad-Request-response_3804679907/recording.har index ba3c9060f189..698b5dad9501 100644 --- a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Bad-Request-response_3804679907/recording.har +++ b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Bad-Request-response_3804679907/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "App Deployment/Deploy App returns \"Bad Request\" response", + "_recordingName": "Apps/Deploy App returns \"Bad Request\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", @@ -41,14 +41,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 655, + "headersSize": 656, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2024-12-10T19:57:35.328Z", - "time": 124 + "startedDateTime": "2024-12-20T20:39:20.194Z", + "time": 90 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Deploy-App-returns-Created-response_286585597/frozen.json b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Created-response_286585597/frozen.json new file mode 100644 index 000000000000..f45873faf16a --- /dev/null +++ b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Created-response_286585597/frozen.json @@ -0,0 +1 @@ +"2024-12-20T20:39:20.292Z" diff --git a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Created-response_286585597/recording.har b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Created-response_286585597/recording.har similarity index 77% rename from cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Created-response_286585597/recording.har rename to cassettes/v2/Apps_1406737069/Deploy-App-returns-Created-response_286585597/recording.har index 4762d1d68ae3..3c50248441c5 100644 --- a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Created-response_286585597/recording.har +++ b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Created-response_286585597/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "App Deployment/Deploy App returns \"Created\" response", + "_recordingName": "Apps/Deploy App returns \"Created\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"d9f547cd-bc8d-46be-b321-336856723728\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"290ad26d-6f5c-43b6-aef6-57b403d755e8\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -51,17 +51,17 @@ "value": "application/vnd.api+json" } ], - "headersSize": 655, + "headersSize": 656, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:22.868Z", - "time": 270 + "startedDateTime": "2024-12-20T20:39:20.297Z", + "time": 184 }, { - "_id": "47b8c8ead8b3c4d665ee3698d0fc6c64", + "_id": "f8adee5fa20eb00ebef15668e2745566", "_order": 0, "cache": {}, "request": { @@ -78,14 +78,14 @@ "httpVersion": "HTTP/1.1", "method": "POST", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/d9f547cd-bc8d-46be-b321-336856723728/deployment" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/290ad26d-6f5c-43b6-aef6-57b403d755e8/deployment" }, "response": { - "bodySize": 317, + "bodySize": 305, "content": { "mimeType": "application/vnd.api+json", - "size": 317, - "text": "{\"data\":{\"id\":\"7e1d147c-815e-46fa-8be0-278783311881\",\"type\":\"deployment\",\"attributes\":{\"app_version_id\":\"f8567809-049e-49c2-b5c0-e5cb0e8e0f5e\"},\"meta\":{\"created_at\":\"2024-12-12T20:29:23.253704Z\",\"user_id\":2320499,\"user_uuid\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"user_name\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}}}" + "size": 305, + "text": "{\"data\":{\"id\":\"74a4bbff-b587-4272-a207-b61678cc0bf1\",\"type\":\"deployment\",\"attributes\":{\"app_version_id\":\"ab334928-2df5-4e6e-8e40-9eeee2b2cd44\"},\"meta\":{\"created_at\":\"2024-12-20T20:39:20.594723Z\",\"user_id\":15479137,\"user_uuid\":\"b3f98453-b289-11ef-a4e9-d6d283f92d91\",\"user_name\":\"oliver.li@datadoghq.com\"}}}" }, "cookies": [], "headers": [ @@ -94,17 +94,17 @@ "value": "application/vnd.api+json" } ], - "headersSize": 656, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:23.145Z", - "time": 186 + "startedDateTime": "2024-12-20T20:39:20.487Z", + "time": 237 }, { - "_id": "61c62063a1b4708647713ca07f798d40", + "_id": "2f533cca97b3a51368b7258f69476b93", "_order": 0, "cache": {}, "request": { @@ -121,14 +121,14 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/d9f547cd-bc8d-46be-b321-336856723728" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/290ad26d-6f5c-43b6-aef6-57b403d755e8" }, "response": { "bodySize": 78, "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"d9f547cd-bc8d-46be-b321-336856723728\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"290ad26d-6f5c-43b6-aef6-57b403d755e8\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -137,14 +137,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 655, + "headersSize": 656, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:23.337Z", - "time": 203 + "startedDateTime": "2024-12-20T20:39:20.729Z", + "time": 197 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Deploy-App-returns-Not-Found-response_670810212/frozen.json b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Not-Found-response_670810212/frozen.json new file mode 100644 index 000000000000..48b46bf917bd --- /dev/null +++ b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Not-Found-response_670810212/frozen.json @@ -0,0 +1 @@ +"2024-12-20T20:39:20.929Z" diff --git a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Not-Found-response_670810212/recording.har b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Not-Found-response_670810212/recording.har similarity index 87% rename from cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Not-Found-response_670810212/recording.har rename to cassettes/v2/Apps_1406737069/Deploy-App-returns-Not-Found-response_670810212/recording.har index 10dd29b10910..2de3d7e21c47 100644 --- a/cassettes/v2/App-Deployment_818229931/Deploy-App-returns-Not-Found-response_670810212/recording.har +++ b/cassettes/v2/Apps_1406737069/Deploy-App-returns-Not-Found-response_670810212/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "App Deployment/Deploy App returns \"Not Found\" response", + "_recordingName": "Apps/Deploy App returns \"Not Found\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", @@ -41,14 +41,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 655, + "headersSize": 656, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2024-12-10T19:57:35.987Z", - "time": 96 + "startedDateTime": "2024-12-20T20:39:20.930Z", + "time": 99 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Disable-App-returns-Bad-Request-response_1603315968/frozen.json b/cassettes/v2/Apps_1406737069/Disable-App-returns-Bad-Request-response_1603315968/frozen.json new file mode 100644 index 000000000000..e43f334ce841 --- /dev/null +++ b/cassettes/v2/Apps_1406737069/Disable-App-returns-Bad-Request-response_1603315968/frozen.json @@ -0,0 +1 @@ +"2024-12-20T20:39:21.034Z" diff --git a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Bad-Request-response_1603315968/recording.har b/cassettes/v2/Apps_1406737069/Disable-App-returns-Bad-Request-response_1603315968/recording.har similarity index 89% rename from cassettes/v2/App-Deployment_818229931/Disable-App-returns-Bad-Request-response_1603315968/recording.har rename to cassettes/v2/Apps_1406737069/Disable-App-returns-Bad-Request-response_1603315968/recording.har index 9cdf79313dfe..d2284c30f8ab 100644 --- a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Bad-Request-response_1603315968/recording.har +++ b/cassettes/v2/Apps_1406737069/Disable-App-returns-Bad-Request-response_1603315968/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "App Deployment/Disable App returns \"Bad Request\" response", + "_recordingName": "Apps/Disable App returns \"Bad Request\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", @@ -47,8 +47,8 @@ "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2024-12-10T19:57:36.094Z", - "time": 78 + "startedDateTime": "2024-12-20T20:39:21.035Z", + "time": 90 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Disable-App-returns-Not-Found-response_2767718519/frozen.json b/cassettes/v2/Apps_1406737069/Disable-App-returns-Not-Found-response_2767718519/frozen.json new file mode 100644 index 000000000000..c90d6a683c1c --- /dev/null +++ b/cassettes/v2/Apps_1406737069/Disable-App-returns-Not-Found-response_2767718519/frozen.json @@ -0,0 +1 @@ +"2024-12-20T20:39:21.129Z" diff --git a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Not-Found-response_2767718519/recording.har b/cassettes/v2/Apps_1406737069/Disable-App-returns-Not-Found-response_2767718519/recording.har similarity index 89% rename from cassettes/v2/App-Deployment_818229931/Disable-App-returns-Not-Found-response_2767718519/recording.har rename to cassettes/v2/Apps_1406737069/Disable-App-returns-Not-Found-response_2767718519/recording.har index a52f217d8f7b..9c8d05d285a3 100644 --- a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-Not-Found-response_2767718519/recording.har +++ b/cassettes/v2/Apps_1406737069/Disable-App-returns-Not-Found-response_2767718519/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "App Deployment/Disable App returns \"Not Found\" response", + "_recordingName": "Apps/Disable App returns \"Not Found\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", @@ -47,8 +47,8 @@ "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2024-12-10T19:57:36.181Z", - "time": 96 + "startedDateTime": "2024-12-20T20:39:21.133Z", + "time": 91 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Disable-App-returns-OK-response_84091086/frozen.json b/cassettes/v2/Apps_1406737069/Disable-App-returns-OK-response_84091086/frozen.json new file mode 100644 index 000000000000..472d356053ba --- /dev/null +++ b/cassettes/v2/Apps_1406737069/Disable-App-returns-OK-response_84091086/frozen.json @@ -0,0 +1 @@ +"2024-12-20T20:39:21.230Z" diff --git a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-OK-response_84091086/recording.har b/cassettes/v2/Apps_1406737069/Disable-App-returns-OK-response_84091086/recording.har similarity index 79% rename from cassettes/v2/App-Deployment_818229931/Disable-App-returns-OK-response_84091086/recording.har rename to cassettes/v2/Apps_1406737069/Disable-App-returns-OK-response_84091086/recording.har index d118788acb2c..99bbe7319f7a 100644 --- a/cassettes/v2/App-Deployment_818229931/Disable-App-returns-OK-response_84091086/recording.har +++ b/cassettes/v2/Apps_1406737069/Disable-App-returns-OK-response_84091086/recording.har @@ -1,6 +1,6 @@ { "log": { - "_recordingName": "App Deployment/Disable App returns \"OK\" response", + "_recordingName": "Apps/Disable App returns \"OK\" response", "creator": { "comment": "persister:fs", "name": "Polly.JS", @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"6fdd1eb3-bd2c-4fe3-a3cf-38d0af4913ad\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"cfe9f7bc-e6e6-44e2-9d30-19b03ab871b5\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:23.548Z", - "time": 201 + "startedDateTime": "2024-12-20T20:39:21.233Z", + "time": 156 }, { - "_id": "19063af73ab138a68fd89757876febdd", + "_id": "e8c781fda291d66a41c85d33c268c3d9", "_order": 0, "cache": {}, "request": { @@ -78,14 +78,14 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/6fdd1eb3-bd2c-4fe3-a3cf-38d0af4913ad/deployment" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/cfe9f7bc-e6e6-44e2-9d30-19b03ab871b5/deployment" }, "response": { - "bodySize": 317, + "bodySize": 305, "content": { "mimeType": "application/vnd.api+json", - "size": 317, - "text": "{\"data\":{\"id\":\"be510de8-34d8-45fc-830f-85c208a42920\",\"type\":\"deployment\",\"attributes\":{\"app_version_id\":\"00000000-0000-0000-0000-000000000000\"},\"meta\":{\"created_at\":\"2024-12-12T20:29:23.883145Z\",\"user_id\":2320499,\"user_uuid\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"user_name\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}}}" + "size": 305, + "text": "{\"data\":{\"id\":\"1c14f2b9-0161-4dac-ad44-b8dd84abcbe6\",\"type\":\"deployment\",\"attributes\":{\"app_version_id\":\"00000000-0000-0000-0000-000000000000\"},\"meta\":{\"created_at\":\"2024-12-20T20:39:21.490485Z\",\"user_id\":15479137,\"user_uuid\":\"b3f98453-b289-11ef-a4e9-d6d283f92d91\",\"user_name\":\"oliver.li@datadoghq.com\"}}}" }, "cookies": [], "headers": [ @@ -100,11 +100,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:23.756Z", - "time": 190 + "startedDateTime": "2024-12-20T20:39:21.393Z", + "time": 151 }, { - "_id": "84d81555f8a2c8e520aa3b2a74bae9c0", + "_id": "e9ff46011c40469284e3f020d37bd773", "_order": 0, "cache": {}, "request": { @@ -121,14 +121,14 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/6fdd1eb3-bd2c-4fe3-a3cf-38d0af4913ad" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/cfe9f7bc-e6e6-44e2-9d30-19b03ab871b5" }, "response": { "bodySize": 78, "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"6fdd1eb3-bd2c-4fe3-a3cf-38d0af4913ad\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"cfe9f7bc-e6e6-44e2-9d30-19b03ab871b5\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -143,8 +143,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:23.951Z", - "time": 227 + "startedDateTime": "2024-12-20T20:39:21.546Z", + "time": 132 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/frozen.json b/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/frozen.json index 10c9ca40062c..ffb80a771400 100644 --- a/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/frozen.json +++ b/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:11.519Z" +"2024-12-20T20:39:21.680Z" diff --git a/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/recording.har b/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/recording.har index 1343e5ea4ba0..45c173e0a636 100644 --- a/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/recording.har +++ b/cassettes/v2/Apps_1406737069/Get-App-returns-Bad-Request-response_214408132/recording.har @@ -47,8 +47,8 @@ "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2024-12-10T19:57:11.521Z", - "time": 81 + "startedDateTime": "2024-12-20T20:39:21.682Z", + "time": 75 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/frozen.json b/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/frozen.json index 4b13b2d2c229..a65ae1434858 100644 --- a/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/frozen.json +++ b/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:11.612Z" +"2024-12-20T20:39:21.762Z" diff --git a/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/recording.har b/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/recording.har index 0d8819322686..9945701f17e0 100644 --- a/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/recording.har +++ b/cassettes/v2/Apps_1406737069/Get-App-returns-Not-Found-response_396337923/recording.har @@ -47,8 +47,8 @@ "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2024-12-10T19:57:11.615Z", - "time": 121 + "startedDateTime": "2024-12-20T20:39:21.764Z", + "time": 98 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/frozen.json b/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/frozen.json index 689792597277..d4cb82346539 100644 --- a/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/frozen.json +++ b/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/frozen.json @@ -1 +1 @@ -"2024-12-12T20:29:25.770Z" +"2024-12-20T20:39:21.868Z" diff --git a/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/recording.har b/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/recording.har index ec16ed176d94..606695a0a6d0 100644 --- a/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/recording.har +++ b/cassettes/v2/Apps_1406737069/Get-App-returns-OK-response_2570582586/recording.har @@ -26,7 +26,7 @@ "value": "application/json" } ], - "headersSize": 559, + "headersSize": 560, "httpVersion": "HTTP/1.1", "method": "POST", "postData": { @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"4937a273-31f5-4375-a9cf-b71eeb92f89c\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"e91c5ea9-5827-4008-b1e6-026d71f5c005\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:25.772Z", - "time": 191 + "startedDateTime": "2024-12-20T20:39:21.869Z", + "time": 197 }, { - "_id": "47b6aadd196951f27639c8987e412dfd", + "_id": "6bad07d8cc1b219d8950c611208ea560", "_order": 0, "cache": {}, "request": { @@ -74,18 +74,18 @@ "value": "application/json" } ], - "headersSize": 539, + "headersSize": 540, "httpVersion": "HTTP/1.1", "method": "GET", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/4937a273-31f5-4375-a9cf-b71eeb92f89c" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/e91c5ea9-5827-4008-b1e6-026d71f5c005" }, "response": { - "bodySize": 1014, + "bodySize": 1003, "content": { "mimeType": "application/vnd.api+json", - "size": 1014, - "text": "{\"data\":{\"id\":\"4937a273-31f5-4375-a9cf-b71eeb92f89c\",\"type\":\"appDefinitions\",\"attributes\":{\"components\":[{\"events\":[],\"name\":\"grid0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"gridCell0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"calloutValue0\",\"properties\":{\"isDisabled\":false,\"isLoading\":false,\"isVisible\":true,\"label\":\"CPU Usage\",\"size\":\"sm\",\"style\":\"vivid_yellow\",\"unit\":\"kB\",\"value\":\"42\"},\"type\":\"calloutValue\"}],\"isVisible\":\"true\",\"layout\":{\"default\":{\"height\":8,\"width\":2,\"x\":0,\"y\":0}}},\"type\":\"gridCell\"}]},\"type\":\"grid\"}],\"description\":\"This is a simple example app\",\"embeddedQueries\":[],\"favorite\":false,\"name\":\"Example App\",\"rootInstanceName\":\"grid0\",\"selfService\":false,\"tags\":[]},\"meta\":{\"org_id\":321813,\"user_id\":2320499,\"user_uuid\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"user_name\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"version\":1,\"updated_since_deployment\":false,\"created_at\":\"2024-12-12T20:29:25.869968Z\",\"updated_at\":\"2024-12-12T20:29:25.869968Z\",\"deleted_at\":\"0001-01-01T00:00:00Z\"}}}" + "size": 1003, + "text": "{\"data\":{\"id\":\"e91c5ea9-5827-4008-b1e6-026d71f5c005\",\"type\":\"appDefinitions\",\"attributes\":{\"components\":[{\"events\":[],\"name\":\"grid0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"gridCell0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"calloutValue0\",\"properties\":{\"isDisabled\":false,\"isLoading\":false,\"isVisible\":true,\"label\":\"CPU Usage\",\"size\":\"sm\",\"style\":\"vivid_yellow\",\"unit\":\"kB\",\"value\":\"42\"},\"type\":\"calloutValue\"}],\"isVisible\":\"true\",\"layout\":{\"default\":{\"height\":8,\"width\":2,\"x\":0,\"y\":0}}},\"type\":\"gridCell\"}]},\"type\":\"grid\"}],\"description\":\"This is a simple example app\",\"embeddedQueries\":[],\"favorite\":false,\"name\":\"Example App\",\"rootInstanceName\":\"grid0\",\"selfService\":false,\"tags\":[]},\"meta\":{\"org_id\":1107852,\"user_id\":15479137,\"user_uuid\":\"b3f98453-b289-11ef-a4e9-d6d283f92d91\",\"user_name\":\"oliver.li@datadoghq.com\",\"version\":1,\"updated_since_deployment\":false,\"created_at\":\"2024-12-20T20:39:21.945448Z\",\"updated_at\":\"2024-12-20T20:39:21.945448Z\",\"deleted_at\":\"0001-01-01T00:00:00Z\"}}}" }, "cookies": [], "headers": [ @@ -100,11 +100,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:25.967Z", - "time": 150 + "startedDateTime": "2024-12-20T20:39:22.068Z", + "time": 155 }, { - "_id": "128fd55e6a038c7e57aab18f757d86c7", + "_id": "b4ff7a4862c40cc0c82805fcc36aeeff", "_order": 0, "cache": {}, "request": { @@ -117,18 +117,18 @@ "value": "application/json" } ], - "headersSize": 545, + "headersSize": 546, "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/4937a273-31f5-4375-a9cf-b71eeb92f89c" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/e91c5ea9-5827-4008-b1e6-026d71f5c005" }, "response": { "bodySize": 78, "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"4937a273-31f5-4375-a9cf-b71eeb92f89c\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"e91c5ea9-5827-4008-b1e6-026d71f5c005\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -143,8 +143,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:26.122Z", - "time": 221 + "startedDateTime": "2024-12-20T20:39:22.228Z", + "time": 183 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/frozen.json b/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/frozen.json index fc671cf829c1..ff6c131f1061 100644 --- a/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/frozen.json +++ b/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/frozen.json @@ -1 +1 @@ -"2024-12-10T19:57:12.227Z" +"2024-12-20T20:39:22.419Z" diff --git a/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/recording.har b/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/recording.har index 2a4a2b4f4349..9b02a6c29489 100644 --- a/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/recording.har +++ b/cassettes/v2/Apps_1406737069/List-Apps-returns-OK-response_4277086665/recording.har @@ -28,11 +28,11 @@ "url": "https://api.datadoghq.com/api/v2/app-builder/apps" }, "response": { - "bodySize": 558, + "bodySize": 1060, "content": { "mimeType": "application/vnd.api+json", - "size": 558, - "text": "{\"data\":[{\"id\":\"d595693a-473d-4671-9da3-fce89e3a5c5d\",\"type\":\"appDefinitions\",\"attributes\":{\"description\":\"\",\"favorite\":false,\"name\":\"Max's App Fri, Jul 12, 11:10:35 am\",\"selfService\":false,\"tags\":[]},\"meta\":{\"org_id\":1107852,\"user_id\":7571362,\"user_uuid\":\"3114f3a0-3fc9-11ef-acbe-a6def6551924\",\"user_name\":\"max.gale@datadoghq.com\",\"version\":0,\"updated_since_deployment\":false,\"created_at\":\"2024-07-12T15:10:48.690305Z\",\"updated_at\":\"2024-07-12T15:10:48.690305Z\",\"deleted_at\":\"0001-01-01T00:00:00Z\"}}],\"meta\":{\"page\":{\"totalCount\":1,\"totalFilteredCount\":1}}}" + "size": 1060, + "text": "{\"data\":[{\"id\":\"0cc51f70-6f90-406e-880b-e2fac88e823a\",\"type\":\"appDefinitions\",\"attributes\":{\"description\":\"\",\"favorite\":false,\"name\":\"[synthetics] app name 0123456789\",\"selfService\":false,\"tags\":[]},\"meta\":{\"org_id\":1107852,\"user_id\":7571471,\"user_uuid\":\"01347f51-3fcd-11ef-95dd-a65df5ee2843\",\"user_name\":\"01347f51-3fcd-11ef-95dd-a65df5ee2843\",\"version\":0,\"updated_since_deployment\":false,\"created_at\":\"2024-12-18T11:48:55.89363Z\",\"updated_at\":\"2024-12-18T11:48:55.89363Z\",\"deleted_at\":\"0001-01-01T00:00:00Z\"}},{\"id\":\"d595693a-473d-4671-9da3-fce89e3a5c5d\",\"type\":\"appDefinitions\",\"attributes\":{\"description\":\"\",\"favorite\":false,\"name\":\"Max's App Fri, Jul 12, 11:10:35 am\",\"selfService\":false,\"tags\":[]},\"meta\":{\"org_id\":1107852,\"user_id\":7571362,\"user_uuid\":\"3114f3a0-3fc9-11ef-acbe-a6def6551924\",\"user_name\":\"max.gale@datadoghq.com\",\"version\":0,\"updated_since_deployment\":false,\"created_at\":\"2024-07-12T15:10:48.690305Z\",\"updated_at\":\"2024-07-12T15:10:48.690305Z\",\"deleted_at\":\"0001-01-01T00:00:00Z\"}}],\"meta\":{\"page\":{\"totalCount\":2,\"totalFilteredCount\":2}}}" }, "cookies": [], "headers": [ @@ -41,14 +41,14 @@ "value": "application/vnd.api+json" } ], - "headersSize": 656, + "headersSize": 657, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-10T19:57:12.228Z", - "time": 114 + "startedDateTime": "2024-12-20T20:39:22.422Z", + "time": 118 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/frozen.json b/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/frozen.json index 144fe1f6bb05..e89c68547ecf 100644 --- a/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/frozen.json +++ b/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/frozen.json @@ -1 +1 @@ -"2024-12-12T20:29:26.349Z" +"2024-12-20T20:39:22.549Z" diff --git a/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/recording.har b/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/recording.har index d5d555572d87..173280ec0299 100644 --- a/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/recording.har +++ b/cassettes/v2/Apps_1406737069/Update-App-returns-Bad-Request-response_1790264197/recording.har @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"9d2ee93b-6ac5-4b0e-abd8-829916f2365d\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"2eb79081-77f2-4082-93d5-fbb4d2291dc7\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:26.351Z", - "time": 260 + "startedDateTime": "2024-12-20T20:39:22.554Z", + "time": 183 }, { - "_id": "fcc40ca7a9d47e0558cdc9381dd2b622", + "_id": "66dd124a225f4a1b98f42f02c61653cb", "_order": 0, "cache": {}, "request": { @@ -85,10 +85,10 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"rootInstanceName\":\"\"},\"id\":\"9d2ee93b-6ac5-4b0e-abd8-829916f2365d\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"attributes\":{\"rootInstanceName\":\"\"},\"id\":\"2eb79081-77f2-4082-93d5-fbb4d2291dc7\",\"type\":\"appDefinitions\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/9d2ee93b-6ac5-4b0e-abd8-829916f2365d" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/2eb79081-77f2-4082-93d5-fbb4d2291dc7" }, "response": { "bodySize": 105, @@ -110,11 +110,11 @@ "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2024-12-12T20:29:26.615Z", - "time": 125 + "startedDateTime": "2024-12-20T20:39:22.742Z", + "time": 96 }, { - "_id": "7e8360ae24a933c78f13b6753728e230", + "_id": "dae6f0fa3f61dba8a0f6d8e7010ebe51", "_order": 0, "cache": {}, "request": { @@ -131,14 +131,14 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/9d2ee93b-6ac5-4b0e-abd8-829916f2365d" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/2eb79081-77f2-4082-93d5-fbb4d2291dc7" }, "response": { "bodySize": 78, "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"9d2ee93b-6ac5-4b0e-abd8-829916f2365d\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"2eb79081-77f2-4082-93d5-fbb4d2291dc7\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -153,8 +153,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:26.745Z", - "time": 237 + "startedDateTime": "2024-12-20T20:39:22.842Z", + "time": 205 } ], "pages": [], diff --git a/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/frozen.json b/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/frozen.json index 1baaa06f93ae..f23f8e139fdb 100644 --- a/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/frozen.json +++ b/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/frozen.json @@ -1 +1 @@ -"2024-12-12T20:29:26.986Z" +"2024-12-20T20:39:23.050Z" diff --git a/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/recording.har b/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/recording.har index 537bf8c7fb2e..699d9d070d7b 100644 --- a/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/recording.har +++ b/cassettes/v2/Apps_1406737069/Update-App-returns-OK-response_1935745305/recording.har @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"5a5e6785-d3f8-41bf-9d5d-95a179362e02\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"22653158-3691-4a09-bbd9-f4197f14dd0c\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2024-12-12T20:29:27.003Z", - "time": 265 + "startedDateTime": "2024-12-20T20:39:23.051Z", + "time": 156 }, { - "_id": "1a396fb9a6d0f4fcb44a5c7599c23cb7", + "_id": "55df5978eb09568ba45ba8be9a1f9733", "_order": 0, "cache": {}, "request": { @@ -79,23 +79,23 @@ "value": "application/json" } ], - "headersSize": 597, + "headersSize": 598, "httpVersion": "HTTP/1.1", "method": "PATCH", "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"name\":\"Updated Name\",\"rootInstanceName\":\"grid0\"},\"id\":\"5a5e6785-d3f8-41bf-9d5d-95a179362e02\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"attributes\":{\"name\":\"Updated Name\",\"rootInstanceName\":\"grid0\"},\"id\":\"22653158-3691-4a09-bbd9-f4197f14dd0c\",\"type\":\"appDefinitions\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/5a5e6785-d3f8-41bf-9d5d-95a179362e02" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/22653158-3691-4a09-bbd9-f4197f14dd0c" }, "response": { - "bodySize": 1015, + "bodySize": 1004, "content": { "mimeType": "application/vnd.api+json", - "size": 1015, - "text": "{\"data\":{\"id\":\"5a5e6785-d3f8-41bf-9d5d-95a179362e02\",\"type\":\"appDefinitions\",\"attributes\":{\"components\":[{\"events\":[],\"name\":\"grid0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"gridCell0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"calloutValue0\",\"properties\":{\"isDisabled\":false,\"isLoading\":false,\"isVisible\":true,\"label\":\"CPU Usage\",\"size\":\"sm\",\"style\":\"vivid_yellow\",\"unit\":\"kB\",\"value\":\"42\"},\"type\":\"calloutValue\"}],\"isVisible\":\"true\",\"layout\":{\"default\":{\"height\":8,\"width\":2,\"x\":0,\"y\":0}}},\"type\":\"gridCell\"}]},\"type\":\"grid\"}],\"description\":\"This is a simple example app\",\"embeddedQueries\":[],\"favorite\":false,\"name\":\"Updated Name\",\"rootInstanceName\":\"grid0\",\"selfService\":false,\"tags\":[]},\"meta\":{\"org_id\":321813,\"user_id\":2320499,\"user_uuid\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"user_name\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"version\":2,\"updated_since_deployment\":false,\"created_at\":\"2024-12-12T20:29:27.115629Z\",\"updated_at\":\"2024-12-12T20:29:27.362767Z\",\"deleted_at\":\"0001-01-01T00:00:00Z\"}}}" + "size": 1004, + "text": "{\"data\":{\"id\":\"22653158-3691-4a09-bbd9-f4197f14dd0c\",\"type\":\"appDefinitions\",\"attributes\":{\"components\":[{\"events\":[],\"name\":\"grid0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"gridCell0\",\"properties\":{\"children\":[{\"events\":[],\"name\":\"calloutValue0\",\"properties\":{\"isDisabled\":false,\"isLoading\":false,\"isVisible\":true,\"label\":\"CPU Usage\",\"size\":\"sm\",\"style\":\"vivid_yellow\",\"unit\":\"kB\",\"value\":\"42\"},\"type\":\"calloutValue\"}],\"isVisible\":\"true\",\"layout\":{\"default\":{\"height\":8,\"width\":2,\"x\":0,\"y\":0}}},\"type\":\"gridCell\"}]},\"type\":\"grid\"}],\"description\":\"This is a simple example app\",\"embeddedQueries\":[],\"favorite\":false,\"name\":\"Updated Name\",\"rootInstanceName\":\"grid0\",\"selfService\":false,\"tags\":[]},\"meta\":{\"org_id\":1107852,\"user_id\":15479137,\"user_uuid\":\"b3f98453-b289-11ef-a4e9-d6d283f92d91\",\"user_name\":\"oliver.li@datadoghq.com\",\"version\":2,\"updated_since_deployment\":false,\"created_at\":\"2024-12-20T20:39:23.117622Z\",\"updated_at\":\"2024-12-20T20:39:23.317526Z\",\"deleted_at\":\"0001-01-01T00:00:00Z\"}}}" }, "cookies": [], "headers": [ @@ -110,11 +110,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:27.272Z", - "time": 169 + "startedDateTime": "2024-12-20T20:39:23.213Z", + "time": 213 }, { - "_id": "f5f5b2ab46c55f9991c35b0f9cacb5bf", + "_id": "74c992c67b0b26d27022368a5f40dd1d", "_order": 0, "cache": {}, "request": { @@ -131,14 +131,14 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/app-builder/apps/5a5e6785-d3f8-41bf-9d5d-95a179362e02" + "url": "https://api.datadoghq.com/api/v2/app-builder/apps/22653158-3691-4a09-bbd9-f4197f14dd0c" }, "response": { "bodySize": 78, "content": { "mimeType": "application/vnd.api+json", "size": 78, - "text": "{\"data\":{\"id\":\"5a5e6785-d3f8-41bf-9d5d-95a179362e02\",\"type\":\"appDefinitions\"}}" + "text": "{\"data\":{\"id\":\"22653158-3691-4a09-bbd9-f4197f14dd0c\",\"type\":\"appDefinitions\"}}" }, "cookies": [], "headers": [ @@ -153,8 +153,8 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2024-12-12T20:29:27.446Z", - "time": 193 + "startedDateTime": "2024-12-20T20:39:23.433Z", + "time": 168 } ], "pages": [], diff --git a/examples/v2/app-deployment/DeployApp.ts b/examples/v2/apps/DeployApp.ts similarity index 83% rename from examples/v2/app-deployment/DeployApp.ts rename to examples/v2/apps/DeployApp.ts index b1af4829456b..a49cde967784 100644 --- a/examples/v2/app-deployment/DeployApp.ts +++ b/examples/v2/apps/DeployApp.ts @@ -6,12 +6,12 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); configuration.unstableOperations["v2.deployApp"] = true; -const apiInstance = new v2.AppDeploymentApi(configuration); +const apiInstance = new v2.AppsApi(configuration); // there is a valid "app" in the system const APP_DATA_ID = process.env.APP_DATA_ID as string; -const params: v2.AppDeploymentApiDeployAppRequest = { +const params: v2.AppsApiDeployAppRequest = { appId: APP_DATA_ID, }; diff --git a/examples/v2/app-deployment/DisableApp.ts b/examples/v2/apps/DisableApp.ts similarity index 83% rename from examples/v2/app-deployment/DisableApp.ts rename to examples/v2/apps/DisableApp.ts index e472e533fd6a..66bbd480ea6a 100644 --- a/examples/v2/app-deployment/DisableApp.ts +++ b/examples/v2/apps/DisableApp.ts @@ -6,12 +6,12 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); configuration.unstableOperations["v2.disableApp"] = true; -const apiInstance = new v2.AppDeploymentApi(configuration); +const apiInstance = new v2.AppsApi(configuration); // there is a valid "app" in the system const APP_DATA_ID = process.env.APP_DATA_ID as string; -const params: v2.AppDeploymentApiDisableAppRequest = { +const params: v2.AppsApiDisableAppRequest = { appId: APP_DATA_ID, }; diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index cfb4589fe6ed..2009146cd831 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -2658,7 +2658,7 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "filterUserUuid": { "type": "string", - "format": "", + "format": "uuid", }, "filterName": { "type": "string", @@ -2680,6 +2680,10 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "type": "boolean", "format": "", }, + "filterSelfService": { + "type": "boolean", + "format": "", + }, "sort": { "type": "Array", "format": "", @@ -2705,6 +2709,10 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "type": "string", "format": "", }, + "version": { + "type": "string", + "format": "", + }, "operationResponseType": "GetAppResponse", }, "v2.UpdateApp": { diff --git a/features/v2/app_deployment.feature b/features/v2/app_deployment.feature deleted file mode 100644 index b76bc1d8841b..000000000000 --- a/features/v2/app_deployment.feature +++ /dev/null @@ -1,58 +0,0 @@ -@endpoint(app-deployment) @endpoint(app-deployment-v2) -Feature: App Deployment - Deploy and disable apps in App Builder. - - Background: - Given a valid "apiKeyAuth" key in the system - And a valid "appKeyAuth" key in the system - And an instance of "AppDeployment" API - - @skip-typescript @team:DataDog/app-builder-backend - Scenario: Deploy App returns "Bad Request" response - Given operation "DeployApp" enabled - And new "DeployApp" request - And request contains "app_id" parameter with value "invalid-uuid" - When the request is sent - Then the response status is 400 Bad Request - - @skip-typescript @team:DataDog/app-builder-backend - Scenario: Deploy App returns "Created" response - Given operation "DeployApp" enabled - And new "DeployApp" request - And there is a valid "app" in the system - And request contains "app_id" parameter from "app.data.id" - When the request is sent - Then the response status is 201 Created - - @skip-typescript @team:DataDog/app-builder-backend - Scenario: Deploy App returns "Not Found" response - Given operation "DeployApp" enabled - And new "DeployApp" request - And request contains "app_id" parameter with value "7addb29b-f935-472c-ae79-d1963979a23e" - When the request is sent - Then the response status is 404 Not Found - - @skip-typescript @team:DataDog/app-builder-backend - Scenario: Disable App returns "Bad Request" response - Given operation "DisableApp" enabled - And new "DisableApp" request - And request contains "app_id" parameter with value "invalid-uuid" - When the request is sent - Then the response status is 400 Bad Request - - @skip-typescript @team:DataDog/app-builder-backend - Scenario: Disable App returns "Not Found" response - Given operation "DisableApp" enabled - And new "DisableApp" request - And request contains "app_id" parameter with value "7addb29b-f935-472c-ae79-d1963979a23e" - When the request is sent - Then the response status is 404 Not Found - - @skip-typescript @team:DataDog/app-builder-backend - Scenario: Disable App returns "OK" response - Given operation "DisableApp" enabled - And new "DisableApp" request - And there is a valid "app" in the system - And request contains "app_id" parameter from "app.data.id" - When the request is sent - Then the response status is 200 OK diff --git a/features/v2/apps.feature b/features/v2/apps.feature index 531cc3826430..1bed411c3113 100644 --- a/features/v2/apps.feature +++ b/features/v2/apps.feature @@ -1,6 +1,9 @@ @endpoint(apps) @endpoint(apps-v2) Feature: Apps - Create, read, update, and delete apps in App Builder. + Datadog App Builder provides a low-code solution to rapidly develop and + integrate secure, customized applications into your monitoring stack that + are built to accelerate remediation at scale. These API endpoints allow + you to create, read, update, delete, and publish apps. Background: Given a valid "apiKeyAuth" key in the system @@ -88,6 +91,56 @@ Feature: Apps And the response "data" has length 1 And the response "data[0].id" has the same value as "app.data.id" + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Deploy App returns "Bad Request" response + Given operation "DeployApp" enabled + And new "DeployApp" request + And request contains "app_id" parameter with value "invalid-uuid" + When the request is sent + Then the response status is 400 Bad Request + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Deploy App returns "Created" response + Given operation "DeployApp" enabled + And new "DeployApp" request + And there is a valid "app" in the system + And request contains "app_id" parameter from "app.data.id" + When the request is sent + Then the response status is 201 Created + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Deploy App returns "Not Found" response + Given operation "DeployApp" enabled + And new "DeployApp" request + And request contains "app_id" parameter with value "7addb29b-f935-472c-ae79-d1963979a23e" + When the request is sent + Then the response status is 404 Not Found + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Disable App returns "Bad Request" response + Given operation "DisableApp" enabled + And new "DisableApp" request + And request contains "app_id" parameter with value "invalid-uuid" + When the request is sent + Then the response status is 400 Bad Request + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Disable App returns "Not Found" response + Given operation "DisableApp" enabled + And new "DisableApp" request + And request contains "app_id" parameter with value "7addb29b-f935-472c-ae79-d1963979a23e" + When the request is sent + Then the response status is 404 Not Found + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Disable App returns "OK" response + Given operation "DisableApp" enabled + And new "DisableApp" request + And there is a valid "app" in the system + And request contains "app_id" parameter from "app.data.id" + When the request is sent + Then the response status is 200 OK + @skip-typescript @team:DataDog/app-builder-backend Scenario: Get App returns "Bad Request" response Given operation "GetApp" enabled @@ -116,11 +169,11 @@ Feature: Apps And the response "data.type" is equal to "appDefinitions" @generated @skip @team:DataDog/app-builder-backend - Scenario: List Apps returns "Bad Request, e.g. invalid sort parameter" response + Scenario: List Apps returns "Bad Request" response Given operation "ListApps" enabled And new "ListApps" request When the request is sent - Then the response status is 400 Bad Request, e.g. invalid sort parameter + Then the response status is 400 Bad Request @skip-typescript @team:DataDog/app-builder-backend Scenario: List Apps returns "OK" response diff --git a/features/v2/given.json b/features/v2/given.json index 29503a6ae7c5..3c9e4279380a 100644 --- a/features/v2/given.json +++ b/features/v2/given.json @@ -51,7 +51,7 @@ "parameters": [ { "name": "body", - "value": "{\"data\": {\"attributes\": {\"components\": [{\"events\": [], \"name\": \"grid0\", \"properties\": {\"children\": [{\"events\": [], \"name\": \"gridCell0\", \"properties\": {\"children\": [{\"events\": [], \"name\": \"calloutValue0\", \"properties\": {\"isVisible\": true, \"isDisabled\": false, \"isLoading\": false, \"label\": \"CPU Usage\", \"size\": \"sm\", \"style\": \"vivid_yellow\", \"unit\": \"kB\", \"value\": \"42\"}, \"type\": \"calloutValue\"}], \"isVisible\": \"true\", \"layout\": {\"default\": {\"height\": 8, \"width\": 2, \"x\": 0, \"y\": 0}}}, \"type\": \"gridCell\"}]}, \"type\": \"grid\"}], \"description\": \"This is a simple example app\", \"embeddedQueries\": [], \"name\": \"Example App\", \"rootInstanceName\": \"grid0\"}, \"type\": \"appDefinitions\"}}" + "value": "{\"data\": {\"attributes\": {\"components\": [{\"events\": [], \"name\": \"grid0\", \"properties\": {\"children\": [{\"events\": [], \"name\": \"gridCell0\", \"properties\": {\"children\": [{\"events\": [], \"name\": \"calloutValue0\", \"properties\": {\"isDisabled\": false, \"isLoading\": false, \"isVisible\": true, \"label\": \"CPU Usage\", \"size\": \"sm\", \"style\": \"vivid_yellow\", \"unit\": \"kB\", \"value\": \"42\"}, \"type\": \"calloutValue\"}], \"isVisible\": \"true\", \"layout\": {\"default\": {\"height\": 8, \"width\": 2, \"x\": 0, \"y\": 0}}}, \"type\": \"gridCell\"}]}, \"type\": \"grid\"}], \"description\": \"This is a simple example app\", \"embeddedQueries\": [], \"name\": \"Example App\", \"rootInstanceName\": \"grid0\"}, \"type\": \"appDefinitions\"}}" } ], "step": "there is a valid \"app\" in the system", diff --git a/features/v2/undo.json b/features/v2/undo.json index daae080a0ce0..80ce197c9313 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -197,13 +197,13 @@ } }, "DisableApp": { - "tag": "App Deployment", + "tag": "Apps", "undo": { "type": "idempotent" } }, "DeployApp": { - "tag": "App Deployment", + "tag": "Apps", "undo": { "type": "idempotent" } diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts index b9c86b8ee1f0..816d319664d6 100644 --- a/packages/datadog-api-client-common/configuration.ts +++ b/packages/datadog-api-client-common/configuration.ts @@ -230,11 +230,11 @@ export function createConfiguration( "v2.createApp": false, "v2.deleteApp": false, "v2.deleteApps": false, + "v2.deployApp": false, + "v2.disableApp": false, "v2.getApp": false, "v2.listApps": false, "v2.updateApp": false, - "v2.deployApp": false, - "v2.disableApp": false, "v2.getActiveBillingDimensions": false, "v2.getBillingDimensionMapping": false, "v2.getMonthlyCostAttribution": false, diff --git a/packages/datadog-api-client-v2/apis/AppDeploymentApi.ts b/packages/datadog-api-client-v2/apis/AppDeploymentApi.ts deleted file mode 100644 index ef87c3dfb58c..000000000000 --- a/packages/datadog-api-client-v2/apis/AppDeploymentApi.ts +++ /dev/null @@ -1,340 +0,0 @@ -import { - BaseAPIRequestFactory, - RequiredError, -} from "../../datadog-api-client-common/baseapi"; -import { - Configuration, - applySecurityAuthentication, -} from "../../datadog-api-client-common/configuration"; -import { - RequestContext, - HttpMethod, - ResponseContext, -} from "../../datadog-api-client-common/http/http"; - -import { logger } from "../../../logger"; -import { ObjectSerializer } from "../models/ObjectSerializer"; -import { ApiException } from "../../datadog-api-client-common/exception"; - -import { APIErrorResponse } from "../models/APIErrorResponse"; -import { AppBuilderError } from "../models/AppBuilderError"; -import { DeployAppResponse } from "../models/DeployAppResponse"; -import { DisableAppResponse } from "../models/DisableAppResponse"; - -export class AppDeploymentApiRequestFactory extends BaseAPIRequestFactory { - public async deployApp( - appId: string, - _options?: Configuration - ): Promise { - const _config = _options || this.configuration; - - logger.warn("Using unstable operation 'deployApp'"); - if (!_config.unstableOperations["v2.deployApp"]) { - throw new Error("Unstable operation 'deployApp' is disabled"); - } - - // verify required parameter 'appId' is not null or undefined - if (appId === null || appId === undefined) { - throw new RequiredError("appId", "deployApp"); - } - - // Path Params - const localVarPath = "/api/v2/app-builder/apps/{app_id}/deployment".replace( - "{app_id}", - encodeURIComponent(String(appId)) - ); - - // Make Request Context - const requestContext = _config - .getServer("v2.AppDeploymentApi.deployApp") - .makeRequestContext(localVarPath, HttpMethod.POST); - requestContext.setHeaderParam("Accept", "application/json"); - requestContext.setHttpConfig(_config.httpConfig); - - // Apply auth methods - applySecurityAuthentication(_config, requestContext, [ - "apiKeyAuth", - "appKeyAuth", - ]); - - return requestContext; - } - - public async disableApp( - appId: string, - _options?: Configuration - ): Promise { - const _config = _options || this.configuration; - - logger.warn("Using unstable operation 'disableApp'"); - if (!_config.unstableOperations["v2.disableApp"]) { - throw new Error("Unstable operation 'disableApp' is disabled"); - } - - // verify required parameter 'appId' is not null or undefined - if (appId === null || appId === undefined) { - throw new RequiredError("appId", "disableApp"); - } - - // Path Params - const localVarPath = "/api/v2/app-builder/apps/{app_id}/deployment".replace( - "{app_id}", - encodeURIComponent(String(appId)) - ); - - // Make Request Context - const requestContext = _config - .getServer("v2.AppDeploymentApi.disableApp") - .makeRequestContext(localVarPath, HttpMethod.DELETE); - requestContext.setHeaderParam("Accept", "application/json"); - requestContext.setHttpConfig(_config.httpConfig); - - // Apply auth methods - applySecurityAuthentication(_config, requestContext, [ - "apiKeyAuth", - "appKeyAuth", - ]); - - return requestContext; - } -} - -export class AppDeploymentApiResponseProcessor { - /** - * Unwraps the actual response sent by the server from the response context and deserializes the response content - * to the expected objects - * - * @params response Response returned by the server for a request to deployApp - * @throws ApiException if the response code was not in [200, 299] - */ - public async deployApp( - response: ResponseContext - ): Promise { - const contentType = ObjectSerializer.normalizeMediaType( - response.headers["content-type"] - ); - if (response.httpStatusCode === 201) { - const body: DeployAppResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "DeployAppResponse" - ) as DeployAppResponse; - return body; - } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 403 || - response.httpStatusCode === 404 - ) { - const bodyText = ObjectSerializer.parse( - await response.body.text(), - contentType - ); - let body: AppBuilderError; - try { - body = ObjectSerializer.deserialize( - bodyText, - "AppBuilderError" - ) as AppBuilderError; - } catch (error) { - logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( - response.httpStatusCode, - bodyText - ); - } - throw new ApiException(response.httpStatusCode, body); - } - if (response.httpStatusCode === 429) { - const bodyText = ObjectSerializer.parse( - await response.body.text(), - contentType - ); - let body: APIErrorResponse; - try { - body = ObjectSerializer.deserialize( - bodyText, - "APIErrorResponse" - ) as APIErrorResponse; - } catch (error) { - logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( - response.httpStatusCode, - bodyText - ); - } - throw new ApiException(response.httpStatusCode, body); - } - - // Work around for missing responses in specification, e.g. for petstore.yaml - if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: DeployAppResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "DeployAppResponse", - "" - ) as DeployAppResponse; - return body; - } - - const body = (await response.body.text()) || ""; - throw new ApiException( - response.httpStatusCode, - 'Unknown API Status Code!\nBody: "' + body + '"' - ); - } - - /** - * Unwraps the actual response sent by the server from the response context and deserializes the response content - * to the expected objects - * - * @params response Response returned by the server for a request to disableApp - * @throws ApiException if the response code was not in [200, 299] - */ - public async disableApp( - response: ResponseContext - ): Promise { - const contentType = ObjectSerializer.normalizeMediaType( - response.headers["content-type"] - ); - if (response.httpStatusCode === 200) { - const body: DisableAppResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "DisableAppResponse" - ) as DisableAppResponse; - return body; - } - if ( - response.httpStatusCode === 400 || - response.httpStatusCode === 403 || - response.httpStatusCode === 404 - ) { - const bodyText = ObjectSerializer.parse( - await response.body.text(), - contentType - ); - let body: AppBuilderError; - try { - body = ObjectSerializer.deserialize( - bodyText, - "AppBuilderError" - ) as AppBuilderError; - } catch (error) { - logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( - response.httpStatusCode, - bodyText - ); - } - throw new ApiException(response.httpStatusCode, body); - } - if (response.httpStatusCode === 429) { - const bodyText = ObjectSerializer.parse( - await response.body.text(), - contentType - ); - let body: APIErrorResponse; - try { - body = ObjectSerializer.deserialize( - bodyText, - "APIErrorResponse" - ) as APIErrorResponse; - } catch (error) { - logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( - response.httpStatusCode, - bodyText - ); - } - throw new ApiException(response.httpStatusCode, body); - } - - // Work around for missing responses in specification, e.g. for petstore.yaml - if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: DisableAppResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "DisableAppResponse", - "" - ) as DisableAppResponse; - return body; - } - - const body = (await response.body.text()) || ""; - throw new ApiException( - response.httpStatusCode, - 'Unknown API Status Code!\nBody: "' + body + '"' - ); - } -} - -export interface AppDeploymentApiDeployAppRequest { - /** - * @type string - */ - appId: string; -} - -export interface AppDeploymentApiDisableAppRequest { - /** - * @type string - */ - appId: string; -} - -export class AppDeploymentApi { - private requestFactory: AppDeploymentApiRequestFactory; - private responseProcessor: AppDeploymentApiResponseProcessor; - private configuration: Configuration; - - public constructor( - configuration: Configuration, - requestFactory?: AppDeploymentApiRequestFactory, - responseProcessor?: AppDeploymentApiResponseProcessor - ) { - this.configuration = configuration; - this.requestFactory = - requestFactory || new AppDeploymentApiRequestFactory(configuration); - this.responseProcessor = - responseProcessor || new AppDeploymentApiResponseProcessor(); - } - - /** - * Deploy (publish) an app by ID - * @param param The request object - */ - public deployApp( - param: AppDeploymentApiDeployAppRequest, - options?: Configuration - ): Promise { - const requestContextPromise = this.requestFactory.deployApp( - param.appId, - options - ); - return requestContextPromise.then((requestContext) => { - return this.configuration.httpApi - .send(requestContext) - .then((responseContext) => { - return this.responseProcessor.deployApp(responseContext); - }); - }); - } - - /** - * Disable an app by ID - * @param param The request object - */ - public disableApp( - param: AppDeploymentApiDisableAppRequest, - options?: Configuration - ): Promise { - const requestContextPromise = this.requestFactory.disableApp( - param.appId, - options - ); - return requestContextPromise.then((requestContext) => { - return this.configuration.httpApi - .send(requestContext) - .then((responseContext) => { - return this.responseProcessor.disableApp(responseContext); - }); - }); - } -} diff --git a/packages/datadog-api-client-v2/apis/AppsApi.ts b/packages/datadog-api-client-v2/apis/AppsApi.ts index ba51fbfb30c4..f5de93e81dfc 100644 --- a/packages/datadog-api-client-v2/apis/AppsApi.ts +++ b/packages/datadog-api-client-v2/apis/AppsApi.ts @@ -17,14 +17,16 @@ import { ObjectSerializer } from "../models/ObjectSerializer"; import { ApiException } from "../../datadog-api-client-common/exception"; import { APIErrorResponse } from "../models/APIErrorResponse"; -import { AppBuilderError } from "../models/AppBuilderError"; import { AppsSortField } from "../models/AppsSortField"; import { CreateAppRequest } from "../models/CreateAppRequest"; import { CreateAppResponse } from "../models/CreateAppResponse"; import { DeleteAppResponse } from "../models/DeleteAppResponse"; import { DeleteAppsRequest } from "../models/DeleteAppsRequest"; import { DeleteAppsResponse } from "../models/DeleteAppsResponse"; +import { DeployAppResponse } from "../models/DeployAppResponse"; +import { DisableAppResponse } from "../models/DisableAppResponse"; import { GetAppResponse } from "../models/GetAppResponse"; +import { JSONAPIErrorResponse } from "../models/JSONAPIErrorResponse"; import { ListAppsResponse } from "../models/ListAppsResponse"; import { UpdateAppRequest } from "../models/UpdateAppRequest"; import { UpdateAppResponse } from "../models/UpdateAppResponse"; @@ -160,8 +162,85 @@ export class AppsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async deployApp( + appId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'deployApp'"); + if (!_config.unstableOperations["v2.deployApp"]) { + throw new Error("Unstable operation 'deployApp' is disabled"); + } + + // verify required parameter 'appId' is not null or undefined + if (appId === null || appId === undefined) { + throw new RequiredError("appId", "deployApp"); + } + + // Path Params + const localVarPath = "/api/v2/app-builder/apps/{app_id}/deployment".replace( + "{app_id}", + encodeURIComponent(String(appId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.AppsApi.deployApp") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async disableApp( + appId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'disableApp'"); + if (!_config.unstableOperations["v2.disableApp"]) { + throw new Error("Unstable operation 'disableApp' is disabled"); + } + + // verify required parameter 'appId' is not null or undefined + if (appId === null || appId === undefined) { + throw new RequiredError("appId", "disableApp"); + } + + // Path Params + const localVarPath = "/api/v2/app-builder/apps/{app_id}/deployment".replace( + "{app_id}", + encodeURIComponent(String(appId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.AppsApi.disableApp") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + public async getApp( appId: string, + version?: string, _options?: Configuration ): Promise { const _config = _options || this.configuration; @@ -189,6 +268,15 @@ export class AppsApiRequestFactory extends BaseAPIRequestFactory { requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); + // Query Params + if (version !== undefined) { + requestContext.setQueryParam( + "version", + ObjectSerializer.serialize(version, "string", ""), + "" + ); + } + // Apply auth methods applySecurityAuthentication(_config, requestContext, [ "apiKeyAuth", @@ -208,6 +296,7 @@ export class AppsApiRequestFactory extends BaseAPIRequestFactory { filterDeployed?: boolean, filterTags?: string, filterFavorite?: boolean, + filterSelfService?: boolean, sort?: Array, _options?: Configuration ): Promise { @@ -253,7 +342,7 @@ export class AppsApiRequestFactory extends BaseAPIRequestFactory { if (filterUserUuid !== undefined) { requestContext.setQueryParam( "filter[user_uuid]", - ObjectSerializer.serialize(filterUserUuid, "string", ""), + ObjectSerializer.serialize(filterUserUuid, "string", "uuid"), "" ); } @@ -292,6 +381,13 @@ export class AppsApiRequestFactory extends BaseAPIRequestFactory { "" ); } + if (filterSelfService !== undefined) { + requestContext.setQueryParam( + "filter[self_service]", + ObjectSerializer.serialize(filterSelfService, "boolean", ""), + "" + ); + } if (sort !== undefined) { requestContext.setQueryParam( "sort", @@ -391,20 +487,23 @@ export class AppsApiResponseProcessor { await response.body.text(), contentType ); - let body: AppBuilderError; + let body: JSONAPIErrorResponse; try { body = ObjectSerializer.deserialize( bodyText, - "AppBuilderError" - ) as AppBuilderError; + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; } catch (error) { logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( + throw new ApiException( response.httpStatusCode, bodyText ); } - throw new ApiException(response.httpStatusCode, body); + throw new ApiException( + response.httpStatusCode, + body + ); } if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( @@ -474,20 +573,23 @@ export class AppsApiResponseProcessor { await response.body.text(), contentType ); - let body: AppBuilderError; + let body: JSONAPIErrorResponse; try { body = ObjectSerializer.deserialize( bodyText, - "AppBuilderError" - ) as AppBuilderError; + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; } catch (error) { logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( + throw new ApiException( response.httpStatusCode, bodyText ); } - throw new ApiException(response.httpStatusCode, body); + throw new ApiException( + response.httpStatusCode, + body + ); } if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( @@ -556,20 +658,23 @@ export class AppsApiResponseProcessor { await response.body.text(), contentType ); - let body: AppBuilderError; + let body: JSONAPIErrorResponse; try { body = ObjectSerializer.deserialize( bodyText, - "AppBuilderError" - ) as AppBuilderError; + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; } catch (error) { logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( + throw new ApiException( response.httpStatusCode, bodyText ); } - throw new ApiException(response.httpStatusCode, body); + throw new ApiException( + response.httpStatusCode, + body + ); } if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( @@ -609,6 +714,176 @@ export class AppsApiResponseProcessor { ); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deployApp + * @throws ApiException if the response code was not in [200, 299] + */ + public async deployApp( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 201) { + const body: DeployAppResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DeployAppResponse" + ) as DeployAppResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DeployAppResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DeployAppResponse", + "" + ) as DeployAppResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to disableApp + * @throws ApiException if the response code was not in [200, 299] + */ + public async disableApp( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DisableAppResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DisableAppResponse" + ) as DisableAppResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DisableAppResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DisableAppResponse", + "" + ) as DisableAppResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects @@ -636,20 +911,23 @@ export class AppsApiResponseProcessor { await response.body.text(), contentType ); - let body: AppBuilderError; + let body: JSONAPIErrorResponse; try { body = ObjectSerializer.deserialize( bodyText, - "AppBuilderError" - ) as AppBuilderError; + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; } catch (error) { logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( + throw new ApiException( response.httpStatusCode, bodyText ); } - throw new ApiException(response.httpStatusCode, body); + throw new ApiException( + response.httpStatusCode, + body + ); } if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( @@ -712,20 +990,23 @@ export class AppsApiResponseProcessor { await response.body.text(), contentType ); - let body: AppBuilderError; + let body: JSONAPIErrorResponse; try { body = ObjectSerializer.deserialize( bodyText, - "AppBuilderError" - ) as AppBuilderError; + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; } catch (error) { logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( + throw new ApiException( response.httpStatusCode, bodyText ); } - throw new ApiException(response.httpStatusCode, body); + throw new ApiException( + response.httpStatusCode, + body + ); } if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( @@ -790,20 +1071,23 @@ export class AppsApiResponseProcessor { await response.body.text(), contentType ); - let body: AppBuilderError; + let body: JSONAPIErrorResponse; try { body = ObjectSerializer.deserialize( bodyText, - "AppBuilderError" - ) as AppBuilderError; + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; } catch (error) { logger.debug(`Got error deserializing error: ${error}`); - throw new ApiException( + throw new ApiException( response.httpStatusCode, bodyText ); } - throw new ApiException(response.httpStatusCode, body); + throw new ApiException( + response.httpStatusCode, + body + ); } if (response.httpStatusCode === 429) { const bodyText = ObjectSerializer.parse( @@ -865,60 +1149,84 @@ export interface AppsApiDeleteAppsRequest { body: DeleteAppsRequest; } +export interface AppsApiDeployAppRequest { + /** + * @type string + */ + appId: string; +} + +export interface AppsApiDisableAppRequest { + /** + * @type string + */ + appId: string; +} + export interface AppsApiGetAppRequest { /** * @type string */ appId: string; + /** + * @type string + */ + version?: string; } export interface AppsApiListAppsRequest { /** - * The number of apps to return per page + * The number of apps to return per page. * @type number */ limit?: number; /** - * The page number to return + * The page number to return. * @type number */ page?: number; /** - * The `AppsFilter` `user_name`. + * Filter apps by the app creator. Usually the user's email. * @type string */ filterUserName?: string; /** - * The `AppsFilter` `user_uuid`. + * Filter apps by the app creator's UUID. * @type string */ filterUserUuid?: string; /** - * The `AppsFilter` `name`. + * Filter by app name. * @type string */ filterName?: string; /** - * The `AppsFilter` `query`. + * Filter apps by the app name or the app creator. * @type string */ filterQuery?: string; /** - * The `AppsFilter` `deployed`. + * Filter apps by whether they are published. * @type boolean */ filterDeployed?: boolean; /** - * The `AppsFilter` `tags`. + * Filter apps by tags. * @type string */ filterTags?: string; /** - * The `AppsFilter` `favorite`. + * Filter apps by whether you have added them to your favorites. * @type boolean */ filterFavorite?: boolean; /** + * Filter apps by whether they are enabled for self-service. + * @type boolean + */ + filterSelfService?: boolean; + /** + * The fields and direction to sort apps by. * @type Array */ sort?: Array; @@ -1015,6 +1323,48 @@ export class AppsApi { }); } + /** + * Deploy (publish) an app by ID + * @param param The request object + */ + public deployApp( + param: AppsApiDeployAppRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.deployApp( + param.appId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deployApp(responseContext); + }); + }); + } + + /** + * Disable an app by ID + * @param param The request object + */ + public disableApp( + param: AppsApiDisableAppRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.disableApp( + param.appId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.disableApp(responseContext); + }); + }); + } + /** * Get the full definition of an app by ID * @param param The request object @@ -1025,6 +1375,7 @@ export class AppsApi { ): Promise { const requestContextPromise = this.requestFactory.getApp( param.appId, + param.version, options ); return requestContextPromise.then((requestContext) => { @@ -1054,6 +1405,7 @@ export class AppsApi { param.filterDeployed, param.filterTags, param.filterFavorite, + param.filterSelfService, param.sort, options ); diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index a159d4d84dc7..580a03ca0d30 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -27,16 +27,12 @@ export { export { AWSLogsIntegrationApi } from "./apis/AWSLogsIntegrationApi"; -export { - AppDeploymentApiDeployAppRequest, - AppDeploymentApiDisableAppRequest, - AppDeploymentApi, -} from "./apis/AppDeploymentApi"; - export { AppsApiCreateAppRequest, AppsApiDeleteAppRequest, AppsApiDeleteAppsRequest, + AppsApiDeployAppRequest, + AppsApiDisableAppRequest, AppsApiGetAppRequest, AppsApiListAppsRequest, AppsApiUpdateAppRequest, @@ -635,9 +631,6 @@ export { APIKeyUpdateAttributes } from "./models/APIKeyUpdateAttributes"; export { APIKeyUpdateData } from "./models/APIKeyUpdateData"; export { APIKeyUpdateRequest } from "./models/APIKeyUpdateRequest"; export { ApmRetentionFilterType } from "./models/ApmRetentionFilterType"; -export { AppBuilderError } from "./models/AppBuilderError"; -export { AppBuilderErrorErrorsItems } from "./models/AppBuilderErrorErrorsItems"; -export { AppBuilderErrorErrorsItemsSource } from "./models/AppBuilderErrorErrorsItemsSource"; export { AppBuilderEvent } from "./models/AppBuilderEvent"; export { AppBuilderEventName } from "./models/AppBuilderEventName"; export { AppBuilderEventType } from "./models/AppBuilderEventType"; diff --git a/packages/datadog-api-client-v2/models/AppBuilderError.ts b/packages/datadog-api-client-v2/models/AppBuilderError.ts deleted file mode 100644 index f307d9f544a9..000000000000 --- a/packages/datadog-api-client-v2/models/AppBuilderError.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - * This product includes software developed at Datadog (https://www.datadoghq.com/). - * Copyright 2020-Present Datadog, Inc. - */ -import { AppBuilderErrorErrorsItems } from "./AppBuilderErrorErrorsItems"; - -import { AttributeTypeMap } from "../../datadog-api-client-common/util"; - -/** - * The definition of `AppBuilderError` object. - */ -export class AppBuilderError { - /** - * The `AppBuilderError` `errors`. - */ - "errors"?: Array; - - /** - * A container for additional, undeclared properties. - * This is a holder for any undeclared properties as specified with - * the 'additionalProperties' keyword in the OAS document. - */ - "additionalProperties"?: { [key: string]: any }; - - /** - * @ignore - */ - "_unparsed"?: boolean; - - /** - * @ignore - */ - static readonly attributeTypeMap: AttributeTypeMap = { - errors: { - baseName: "errors", - type: "Array", - }, - additionalProperties: { - baseName: "additionalProperties", - type: "any", - }, - }; - - /** - * @ignore - */ - static getAttributeTypeMap(): AttributeTypeMap { - return AppBuilderError.attributeTypeMap; - } - - public constructor() {} -} diff --git a/packages/datadog-api-client-v2/models/AppBuilderErrorErrorsItems.ts b/packages/datadog-api-client-v2/models/AppBuilderErrorErrorsItems.ts deleted file mode 100644 index 76a3fd349eac..000000000000 --- a/packages/datadog-api-client-v2/models/AppBuilderErrorErrorsItems.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - * This product includes software developed at Datadog (https://www.datadoghq.com/). - * Copyright 2020-Present Datadog, Inc. - */ -import { AppBuilderErrorErrorsItemsSource } from "./AppBuilderErrorErrorsItemsSource"; - -import { AttributeTypeMap } from "../../datadog-api-client-common/util"; - -/** - * The definition of `AppBuilderErrorErrorsItems` object. - */ -export class AppBuilderErrorErrorsItems { - /** - * The `items` `detail`. - */ - "detail"?: string; - /** - * The definition of `AppBuilderErrorErrorsItemsSource` object. - */ - "source"?: AppBuilderErrorErrorsItemsSource; - - /** - * A container for additional, undeclared properties. - * This is a holder for any undeclared properties as specified with - * the 'additionalProperties' keyword in the OAS document. - */ - "additionalProperties"?: { [key: string]: any }; - - /** - * @ignore - */ - "_unparsed"?: boolean; - - /** - * @ignore - */ - static readonly attributeTypeMap: AttributeTypeMap = { - detail: { - baseName: "detail", - type: "string", - }, - source: { - baseName: "source", - type: "AppBuilderErrorErrorsItemsSource", - }, - additionalProperties: { - baseName: "additionalProperties", - type: "any", - }, - }; - - /** - * @ignore - */ - static getAttributeTypeMap(): AttributeTypeMap { - return AppBuilderErrorErrorsItems.attributeTypeMap; - } - - public constructor() {} -} diff --git a/packages/datadog-api-client-v2/models/AppBuilderErrorErrorsItemsSource.ts b/packages/datadog-api-client-v2/models/AppBuilderErrorErrorsItemsSource.ts deleted file mode 100644 index 71bdbe2496d9..000000000000 --- a/packages/datadog-api-client-v2/models/AppBuilderErrorErrorsItemsSource.ts +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - * This product includes software developed at Datadog (https://www.datadoghq.com/). - * Copyright 2020-Present Datadog, Inc. - */ - -import { AttributeTypeMap } from "../../datadog-api-client-common/util"; - -/** - * The definition of `AppBuilderErrorErrorsItemsSource` object. - */ -export class AppBuilderErrorErrorsItemsSource { - /** - * The `source` `parameter`. - */ - "parameter"?: string; - /** - * The `source` `pointer`. - */ - "pointer"?: string; - - /** - * A container for additional, undeclared properties. - * This is a holder for any undeclared properties as specified with - * the 'additionalProperties' keyword in the OAS document. - */ - "additionalProperties"?: { [key: string]: any }; - - /** - * @ignore - */ - "_unparsed"?: boolean; - - /** - * @ignore - */ - static readonly attributeTypeMap: AttributeTypeMap = { - parameter: { - baseName: "parameter", - type: "string", - }, - pointer: { - baseName: "pointer", - type: "string", - }, - additionalProperties: { - baseName: "additionalProperties", - type: "any", - }, - }; - - /** - * @ignore - */ - static getAttributeTypeMap(): AttributeTypeMap { - return AppBuilderErrorErrorsItemsSource.attributeTypeMap; - } - - public constructor() {} -} diff --git a/packages/datadog-api-client-v2/models/AppMeta.ts b/packages/datadog-api-client-v2/models/AppMeta.ts index 6f04de3aea09..a1155f06a647 100644 --- a/packages/datadog-api-client-v2/models/AppMeta.ts +++ b/packages/datadog-api-client-v2/models/AppMeta.ts @@ -104,6 +104,7 @@ export class AppMeta { userUuid: { baseName: "user_uuid", type: "string", + format: "uuid", }, version: { baseName: "version", diff --git a/packages/datadog-api-client-v2/models/DeploymentIncludedMeta.ts b/packages/datadog-api-client-v2/models/DeploymentIncludedMeta.ts index 4af01a912bf3..e6f651cf45dc 100644 --- a/packages/datadog-api-client-v2/models/DeploymentIncludedMeta.ts +++ b/packages/datadog-api-client-v2/models/DeploymentIncludedMeta.ts @@ -59,6 +59,7 @@ export class DeploymentIncludedMeta { userUuid: { baseName: "user_uuid", type: "string", + format: "uuid", }, additionalProperties: { baseName: "additionalProperties", diff --git a/packages/datadog-api-client-v2/models/DeploymentMeta.ts b/packages/datadog-api-client-v2/models/DeploymentMeta.ts index 9f76a304746e..2894b345fe98 100644 --- a/packages/datadog-api-client-v2/models/DeploymentMeta.ts +++ b/packages/datadog-api-client-v2/models/DeploymentMeta.ts @@ -59,6 +59,7 @@ export class DeploymentMeta { userUuid: { baseName: "user_uuid", type: "string", + format: "uuid", }, additionalProperties: { baseName: "additionalProperties", diff --git a/packages/datadog-api-client-v2/models/DeploymentRelationshipMeta.ts b/packages/datadog-api-client-v2/models/DeploymentRelationshipMeta.ts index 4db823fc75cd..94af45d2ff68 100644 --- a/packages/datadog-api-client-v2/models/DeploymentRelationshipMeta.ts +++ b/packages/datadog-api-client-v2/models/DeploymentRelationshipMeta.ts @@ -59,6 +59,7 @@ export class DeploymentRelationshipMeta { userUuid: { baseName: "user_uuid", type: "string", + format: "uuid", }, additionalProperties: { baseName: "additionalProperties", diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index 0c7a8837f664..ac8acd22006b 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -45,9 +45,6 @@ import { ActiveBillingDimensionsAttributes } from "./ActiveBillingDimensionsAttr import { ActiveBillingDimensionsBody } from "./ActiveBillingDimensionsBody"; import { ActiveBillingDimensionsResponse } from "./ActiveBillingDimensionsResponse"; import { Advisory } from "./Advisory"; -import { AppBuilderError } from "./AppBuilderError"; -import { AppBuilderErrorErrorsItems } from "./AppBuilderErrorErrorsItems"; -import { AppBuilderErrorErrorsItemsSource } from "./AppBuilderErrorErrorsItemsSource"; import { AppBuilderEvent } from "./AppBuilderEvent"; import { AppMeta } from "./AppMeta"; import { ApplicationKeyCreateAttributes } from "./ApplicationKeyCreateAttributes"; @@ -2340,9 +2337,6 @@ const typeMap: { [index: string]: any } = { ActiveBillingDimensionsBody: ActiveBillingDimensionsBody, ActiveBillingDimensionsResponse: ActiveBillingDimensionsResponse, Advisory: Advisory, - AppBuilderError: AppBuilderError, - AppBuilderErrorErrorsItems: AppBuilderErrorErrorsItems, - AppBuilderErrorErrorsItemsSource: AppBuilderErrorErrorsItemsSource, AppBuilderEvent: AppBuilderEvent, AppMeta: AppMeta, ApplicationKeyCreateAttributes: ApplicationKeyCreateAttributes,