From a11f3eab1bd348205b2f54bdb6683bb5719886df Mon Sep 17 00:00:00 2001 From: jrdevore Date: Mon, 28 Oct 2024 12:38:11 -0700 Subject: [PATCH 01/11] add docusaurus config for action plan --- docusaurus.config.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index bffe4dd04..d35ca5e53 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1011,6 +1011,14 @@ const config = { baseUrl: "/prisma-cloud/api/", hideSendButton: true, }, + "action-plan": { + specPath: "openapi-specs/action-plan", + outputDir: "products/prisma-cloud/api/action-plan", + showExtensions: true, + sidebarOptions: { groupPathsBy: "tag", categoryLinkSource: "tag" }, + baseUrl: "/prisma-cloud/api/", + hideSendButton: true, + }, cwpp: { specPath: "openapi-specs/cwpp", outputDir: "products/prisma-cloud/api/cwpp", From fe9166ac0cb887983aad8fd97b6a738a46c4793b Mon Sep 17 00:00:00 2001 From: jrdevore Date: Fri, 8 Nov 2024 14:21:28 -0800 Subject: [PATCH 02/11] add action plan entry to prisma-cloud sidebars.js --- products/prisma-cloud/sidebars.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/products/prisma-cloud/sidebars.js b/products/prisma-cloud/sidebars.js index ed0a01194..49f31ddc8 100644 --- a/products/prisma-cloud/sidebars.js +++ b/products/prisma-cloud/sidebars.js @@ -53,6 +53,12 @@ module.exports = { collapsed: true, items: [require("./api/mssp/sidebar")], }, + { + type: "category", + label: "Arya Action Plan", + collapsed: true, + items: [require("./api/action-plan/sidebar")], + }, ], clouddocs: [ "prisma-cloud/docs/home", From f28519ebaf0dfb480fbc901546db07c0f40344e9 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Fri, 8 Nov 2024 14:22:31 -0800 Subject: [PATCH 03/11] create openapi-spec folder for actionplan and add spec file --- .../2024-10-29-arya-action-plan-spec.yml | 1380 +++++++++++++++++ 1 file changed, 1380 insertions(+) create mode 100644 openapi-specs/action-plan/2024-10-29-arya-action-plan-spec.yml diff --git a/openapi-specs/action-plan/2024-10-29-arya-action-plan-spec.yml b/openapi-specs/action-plan/2024-10-29-arya-action-plan-spec.yml new file mode 100644 index 000000000..9a9245b12 --- /dev/null +++ b/openapi-specs/action-plan/2024-10-29-arya-action-plan-spec.yml @@ -0,0 +1,1380 @@ +openapi: 3.0.3 +info: + version: 1.0.0 + title: Arya Action Plan Management APIs + description: Arya Action Plan Management APIs + contact: + name: Prisma Cloud API Support +tags: + - name: Arya Action Plan Management APIs + description: Arya Action Plan Management APIs + x-public: true + x-ga: 1.0.0 +paths: + /apm/api/v1/action-plan: + post: + tags: + - Arya Action Plan Management APIs + summary: "List all actions plans for a tenant ordered by criticality" + description: List Action Plans ordered by criticality desc. Offset for pagination.You must have **ActionPlanOverview_READ** permission to access this endpoint. + operationId: list-action-plans + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + requestBody: + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanApiRequest" + examples: + GET ACTION PLANS: + description: Get action plans with filters status, assignee, finding.type, asset.type and id + value: + limit: 10 + pageToken: token + sortBy: { name: criticality, order: desc } + filters: + [ + { name: status, operator: "=", value: new }, + { name: assignee, operator: "=", value: me }, + { + name: finding.type, + operator: "=", + value: Lateral Movement, + }, + { + name: asset.type, + operator: "=", + value: "EC2 Instance", + }, + { name: id, operator: "=", value: AP-123X }, + ] + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanResponse" + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "405": + description: Method Not Allowed + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/action-plan/{action-plan-id}/status-assignee: + patch: + tags: + - Arya Action Plan Management APIs + summary: "Update an action plan" + description: Update an action plan. Partial updates are supported. You must have **ActionPlanOverview_UPDATE** permission to access this endpoint. + operationId: update-an-action-plan + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: action-plan-id + in: path + required: true + description: action plan id + example: "action plan id" + schema: + type: string + requestBody: + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanUpdateStatusAssignee" + examples: + Update Assignee Status and Hiding an AP: + description: Update Assignee, status an AP + value: + status: in-progress + assignee: example@xyz.com + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlan" + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Action-Plan ID not found + "405": + description: Method Not Allowed + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/action-plan/{action-plan-id}/feedback: + patch: + tags: + - Arya Action Plan Management APIs + summary: "Update action plan feedback" + description: Update action plan feedback. You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate Limit 5 / sec + operationId: update-an-action-plan-feedback + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: action-plan-id + in: path + required: true + description: action plan id + example: "action plan id" + schema: + type: string + requestBody: + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanFeedbackRequest" + examples: + Update Thumbs Down: + description: User thumbs down an action plan + value: + thumbsUpDown: down + thumbsDownReasons: [Wrong priority for me] + thumbsDownDescription: This is the optional user-written message + Update Thumbs Up: + description: User thumbs down an action plan + value: + thumbsUpDown: up + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlan" + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Action-Plan ID not found + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/action-plan/{action-plan-id}/recommendation-summary: + get: + tags: + - Arya Action Plan Management APIs + summary: "Recommendation summary based on all the recommendations associated with related policies for an action plan" + description: Recommendation summary based on all the recommendations associated with related policies for an action plan. You must have **ActionPlanOverview_READ** permission to access this endpoint. + operationId: recommendation-summary-action-plan + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: action-plan-id + in: path + description: action plan id + example: "action plan id" + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanRecommendationSummaryResponse" + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Action-Plan ID not found + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + + /apm/api/v1/action-plan/{action-plan-id}/related-alerts: + get: + tags: + - Arya Action Plan Management APIs + summary: "Get Related Alerts for Action Plan" + description: The API returns paginated related alerts for a given action plan id. You must have **ActionPlanOverview_READ** permission to access this endpoint. + operationId: related-alerts-action-plan + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: action-plan-id + in: path + description: action plan id + example: "action plan id" + required: true + schema: + type: string + - name: limit + in: query + description: page limit, default 100 + example: 10 + schema: + type: integer + - name: next_page_token + in: query + description: page token + example: "" + schema: + type: string + + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanRelatedAlertsResponse" + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Action-Plan ID not found + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + + /apm/api/v1/action-plan/{action-plan-id}/impacted-assets: + get: + tags: + - Arya Action Plan Management APIs + summary: "Paginated list of impacted assets ordered by asset ID" + description: List of impacted assets ordered by asset ID asc. Offset for pagination. You must have **ActionPlanOverview_READ** permission to access this endpoint. + operationId: impacted-assets-action-plan + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: action-plan-id + in: path + description: action plan id + example: "action plan id" + required: true + schema: + type: string + - name: limit + in: query + description: page limit, default 100 + example: 10 + schema: + type: integer + - name: next_page_token + in: query + description: page token + example: "" + schema: + type: string + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ImpactedAssetsResponse" + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Action Plan ID not found + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/action-plan/{action-plan-id}/notification/ondemand: + post: + tags: + - Arya Action Plan Management APIs + summary: "Send Jira/Slack notification for a given Action Plan Id" + description: The API sends Jira/slack notifications for a given action plan id. You must have **ActionPlanRemediation_UPDATE** permission to access this endpoint. + operationId: action-plan-ondemand-notification + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: action-plan-id + in: path + description: action plan id + example: "action plan id" + required: true + schema: + type: string + requestBody: + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/OnDemandNotificationConfigRequest" + examples: + Jira: + summary: On-demand Jira Notification Config Request + value: + onDemandNotificationConfig: + clientId: AP + generatorType: REALTIME + integrationType: jira + templateId: Jira template Id + recipients: + - integration id for jira. + translation: + details: + actionPlanRelatedIssuesCallbackUrl: >- + https://app-sam105348.sam.prismacloud.io/alerts/overview?viewId%3Ddefault%26filters%3D%7B%22timeRange%22%3A%7B%22type%22%3A%22to_now%22%2C%22value%22%3A%22epoch%22%7D%2C%22timeRange.type%22%3A%22ALERT_OPENED%22%2C%22alert.status%22%3A%5B%22open%22%5D%2C%22alert.id%22%3A%5B%22A-1002%22%5D%7D%26openAlertId%3DA-363 + actionPlanImpactedAssetsCallbackUrl: >- + https://app-sam105348.sam.prismacloud.io/alerts/overview?viewId%3Ddefault%26filters%3D%7B%22timeRange%22%3A%7B%22type%22%3A%22to_now%22%2C%22value%22%3A%22epoch%22%7D%2C%22timeRange.type%22%3A%22ALERT_OPENED%22%2C%22alert.status%22%3A%5B%22open%22%5D%2C%22alert.id%22%3A%5B%22A-1002%22%5D%7D%26openAlertId%3DA-363 + Slack: + summary: On-demand Slack Notification Config Request + value: + onDemandNotificationConfig: + clientId: AP + generatorType: REALTIME + integrationType: slack + recipients: + - + translation: + body: Free text message (optional) + details: + actionPlanRelatedIssuesCallbackUrl: >- + https://app-sam105348.sam.prismacloud.io/alerts/overview?viewId%3Ddefault%26filters%3D%7B%22timeRange%22%3A%7B%22type%22%3A%22to_now%22%2C%22value%22%3A%22epoch%22%7D%2C%22timeRange.type%22%3A%22ALERT_OPENED%22%2C%22alert.status%22%3A%5B%22open%22%5D%2C%22alert.id%22%3A%5B%22A-1002%22%5D%7D%26openAlertId%3DA-363 + actionPlanImpactedAssetsCallbackUrl: >- + https://app-sam105348.sam.prismacloud.io/alerts/overview?viewId%3Ddefault%26filters%3D%7B%22timeRange%22%3A%7B%22type%22%3A%22to_now%22%2C%22value%22%3A%22epoch%22%7D%2C%22timeRange.type%22%3A%22ALERT_OPENED%22%2C%22alert.status%22%3A%5B%22open%22%5D%2C%22alert.id%22%3A%5B%22A-1002%22%5D%7D%26openAlertId%3DA-363 + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/NotificationResponse" + examples: + Jira: + summary: On-demand Jira Notification Successful Response + value: + id: "action-plan-jira-notification" + success: 1 + failed: 0 + successfulEvents: + - recipient: + generatorType: REALTIME + integrationType: jira + id: 151fbea7-8a64-4367-b500-735b685752bf + refId: a0c0f048-153e-4b89-b667-955e09006f62 + customerId: 3 + clientId: AP + metaData: + jiraKey: P-1234(JIRA ID) + notificationId: dd67ac26-b2e2-4775-abbf-a40a6dec6a24 + failedEvents: {} + Jira-failure: + summary: On-demand Jira Notification Failed Response + value: + id: "action-plan-jira-notification-failure" + success: 0 + failed: 1 + successfulEvents: [] + failedEvents: + recipient: + generatorType: REALTIME + integrationType: jira + id: 151fbea7-8a64-4367-b500-735b685752bf + refId: a0c0f048-153e-4b89-b667-955e09006f62 + customerId: 3 + errorMessage: "No resource found for given template id" + notificationId: dd67ac26-b2e2-4775-abbf-a40a6dec6a24 + Slack: + summary: On-demand Slack Notification Response + value: + id: "action-plan-slack-notification" + success: 1 + failed: 0 + successfulEvents: + - recipient: + generatorType: REALTIME + integrationType: slack + id: 92bf2080-dee0-4145-b4d8-19de27cf1f00 + customerId: 6 + clientId: AP + notificationId: 30b98415-10b5-4ed8-a994-e8ff82cca531 + failedEvents: {} + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Action-Plan ID not found + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/action-plan/names: + get: + tags: + - Arya Action Plan Management APIs + summary: "Get action plan names. Permission: ActionPlanOverview_READ" + description: Get action plan names. You must have **ActionPlanOverview_READ** permission to access this endpoint. + operationId: get-action-plan-names + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanNamesResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/filter/action-plan/suggest: + post: + tags: + - Arya Action Plan Management APIs + summary: "Support for filter" + description: List Action Plans names to be used in UI for filters. You must have **ActionPlanOverview_READ** permission to access this endpoint. + operationId: list-action-plans-names + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + requestBody: + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanSuggestRequest" + examples: + FILTER ACTION PLANS BY FINDING TYPE: + description: Get action plans with filterName finding.type and query = "" + value: + filterName: finding.type + query: "" + FILTER ACTION PLANS BY STATUS: + description: Get action plans with filterName status and query = "" + value: + filterName: status + query: "" + required: true + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ActionPlanSuggestResponse" + "400": + description: Bad Request + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/action-plan/tos-accept: + post: + tags: + - Arya Action Plan Management APIs + summary: "Update Action Plan product agreement.Permission Group: System Admin" + description: Accept the action plan product agreement. Rate Limit 2 / sec + operationId: accept-action-plan-tos-status + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + responses: + "200": + description: OK + "202": + description: Accepted + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/AcceptedResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/action-plan/tos-check: + get: + tags: + - Arya Action Plan Management APIs + summary: "Get Action Plan product agreement. Permission: ActionPlanOverview_READ" + description: Get action plan product agreement. Rate Limit 5 / sec + operationId: get-action-plan-tos-status + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/TosResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + + /apm/api/v1/critical-asset: + get: + tags: + - Arya Action Plan Management APIs + summary: "List critical assets" + description: Get critical assets. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. + operationId: action-plan-crown-jewel-assets + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: limit + in: query + description: page limit, default 100 + example: 10 + schema: + type: integer + - name: next_page_token + in: query + description: page token + example: "" + schema: + type: string + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/CriticalAssetResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + post: + tags: + - Arya Action Plan Management APIs + summary: "Get critical assets" + description: Get critical assets. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. + operationId: action-plan-business-crticality-assets + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + requestBody: + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/CriticalAssetApiRequest" + examples: + GET BUSINESS CRITICAL ASSETS: + description: Get assets with filters business criticality + value: + limit: 10 + pageToken: token + filters: + [ + { + name: business.criticality, + operator: "=", + value: critical, + }, + ] + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/CriticalAssetResponse" + "400": + description: Invalid asset criticality. + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/asset-criticality: + post: + tags: + - Arya Action Plan Management APIs + summary: "Set asset criticality" + description: Set asset criticality. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. + operationId: action-plan-set-asset-criticality + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + requestBody: + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/SetAssetCriticalityRequest" + responses: + "200": + description: OK + "400": + description: One or more assetIds is invalid + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + /apm/api/v1/asset-criticality/{asset-id}: + get: + tags: + - Arya Action Plan Management APIs + summary: "Check an asset's criticality" + description: Check an asset's criticality. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. + operationId: action-plan-check-asset-criticality + parameters: + - in: header + name: x-redlock-auth + description: Authorize using Authentication token + example: "jwt token" + schema: + type: string + required: true + - name: asset-id + in: path + description: asset id + example: "asset id" + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/AssetCriticalityStatusResponse" + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: No asset found with this ID + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ErrorResponse" + "429": + description: Too Many Requests + x-public: true + x-migrated-v3: true + +components: + schemas: + Filter: + type: object + properties: + name: + description: >- + Name of the allowed Filter types. Allowed names: [status, + assignee, id, finding type, asset type, name] + type: string + allOf: + - $ref: "#/components/schemas/ActionPlanFilter" + operator: + description: Only allowed operator for the filter is '=' + type: string + value: + description: Value for the applied filter + type: string + ActionPlanFilter: + enum: + - status + - assignee + - finding.type + - id + - business.criticality + type: string + FilterSuggestFieldEnum: + description: name of the filter It will be action_plan.name + enum: + - status + - finding.type + ActionPlanSuggestRequest: + type: object + properties: + filterName: + description: name of the filter. + type: string + allOf: + - $ref: "#/components/schemas/FilterSuggestFieldEnum" + query: + description: Typed in string on UI (substring will be searched) + type: string + ActionPlanApiRequest: + properties: + limit: + format: int64 + type: integer + nextPageToken: + type: string + filters: + description: List of filters that can be applied for the API + type: array + items: + $ref: "#/components/schemas/Filter" + sortBy: + $ref: "#/components/schemas/SortBy" + SortBy: + type: object + properties: + name: + type: string + allOf: + - $ref: "#/components/schemas/SortField" + order: + type: string + allOf: + - $ref: "#/components/schemas/SortDirection" + SortDirection: + enum: + - desc + - asc + SortField: + enum: + - criticality + - alertCount + - assetCount + ActionPlanSuggestResponse: + type: object + properties: + offset: + format: int64 + type: integer + description: Exact offset where the query begins + example: 0 + queryRemainder: + type: string + example: "" + translate: + type: boolean + default: false + needsOffsetUpdate: + type: boolean + default: false + completeParameters: + type: array + items: + type: string + example: [] + valid: + type: boolean + default: false + suggestions: + type: array + items: + type: string + example: ["PRIVILEGE_ESCALATION", "HIGH_PRIVILEGED_ROLE"] + ActionPlanResponse: + type: object + properties: + lastRunTs: + format: int64 + type: integer + totalCount: + format: int64 + type: integer + value: + type: array + items: + $ref: "#/components/schemas/ActionPlan" + nextPageToken: + type: string + ActionPlanNamesResponse: + type: object + properties: + lastRunTs: + format: int64 + type: integer + totalCount: + format: int64 + type: integer + value: + type: array + items: + $ref: "#/components/schemas/ActionPlanName" + ActionPlanName: + type: object + properties: + name: + type: string + id: + type: string + ActionPlan: + type: object + properties: + name: + type: string + id: + type: string + status: + type: string + alertCount: + format: int64 + type: integer + assetCount: + format: int64 + type: integer + findingTypes: + type: array + items: + type: string + impactfulAssetId: + type: string + impactfulAssetType: + format: int64 + type: integer + criticality: + type: string + primaryAssetStatus: + type: string + summary: + type: string + assignee: + type: string + thumbsUpDown: + type: string + enum: [down, up, none] + thumbsDownReasons: + type: array + items: + $ref: "#/components/schemas/ThumbsDownReason" + thumbsDownDescription: + type: string + countByPolicyType: + type: array + items: + $ref: "#/components/schemas/PolicyCountType" + countByPolicyCategory: + type: array + items: + $ref: "#/components/schemas/PolicyCountCategory" + createdAtTs: + format: int64 + type: integer + feedbackLastUpdatedTs: + format: int64 + type: integer + lastUpdatedTs: + format: int64 + type: integer + lastUpdatedBy: + type: string + + ThumbsDownReason: + type: string + example: Wrong priority for me + + PolicyCountType: + type: object + properties: + policyType: + type: string + count: + format: int64 + type: integer + PolicyCountCategory: + type: object + properties: + policyCategory: + type: string + count: + format: int64 + type: integer + ActionPlanUpdateStatusAssignee: + type: object + properties: + status: + type: string + enum: [new, in-progress, done] + assignee: + type: string + ActionPlanFeedbackRequest: + type: object + properties: + thumbsUpDown: + type: string + enum: [up, down, none] + thumbsDownDescription: + type: string + thumbsDownReasons: + type: array + items: + $ref: "#/components/schemas/ThumbsDownReason" + ActionPlanRecommendationSummaryResponse: + type: object + properties: + lastRunTs: + format: int64 + type: integer + id: + type: string + recommendationSummary: + type: string + OnDemandNotificationConfigRequest: + title: OnDemandNotificationConfigRequest + type: object + required: + - onDemandNotificationConfig + properties: + onDemandNotificationConfig: + $ref: "#/components/schemas/OnDemandNotificationConfig" + translation: + $ref: "#/components/schemas/Translation" + OnDemandNotificationConfig: + title: OnDemandNotificationConfig + type: object + required: + - integrationType + - recipients + properties: + clientId: + description: >- + Id to identify the category of request. For Jira, Slack, it + can be AP + type: string + generatorType: + description: For ad-hoc notification, its value should be REALTIME + type: string + integrationType: + description: Can be either Jira or Slack + type: string + templateId: + description: Jira template Id + type: string + recipients: + description: >- + List containing single Integration id for jira or list of channels for + slack etc. + type: array + items: + type: string + example: + - slack-channel-1 + - slack-channel-2 + - slack-channel-3 + Translation: + title: Translation + type: object + properties: + body: + description: Message Body. Applicable for email and slack. + type: string + details: + description: Its a map of key-value pair. It contains details like Subject etc. + type: object + additionalProperties: + type: string + properties: + callbackUrl: + type: string + assetCallbackUrl: + type: string + NotificationResponse: + title: NotificationResponse + type: object + properties: + id: + type: string + success: + type: integer + failed: + type: integer + successfulEvents: + type: array + items: + $ref: "#/components/schemas/SuccessfulEvent" + failedEvents: + type: object + SuccessfulEvent: + title: SuccessfulEvent + type: object + properties: + recipient: + $ref: "#/components/schemas/Recipient" + customerId: + type: integer + clientId: + type: string + metaData: + type: object + notificationId: + type: string + Recipient: + title: Recipient + type: object + properties: + generatorType: + type: string + integrationType: + type: string + id: + type: string + refId: + type: string + ImpactedAssetsResponse: + type: object + properties: + lastRunTs: + format: int64 + type: integer + id: + type: string + totalCount: + format: int64 + type: integer + value: + type: array + items: + $ref: "#/components/schemas/ActionPlanImpactedAssets" + nextPageToken: + type: string + ActionPlanImpactedAssets: + type: object + properties: + name: + type: string + unifiedAssetId: + type: string + accountId: + type: string + accountName: + type: string + externalAssetId: + type: string + regionId: + type: string + assetType: + type: string + cloudType: + type: string + resourceDetailsAvailable: + type: boolean + isAssetAccessible: + type: boolean + ActionPlanRelatedAlertsResponse: + type: object + properties: + lastRunTs: + format: int64 + type: integer + id: + type: string + totalCount: + format: int64 + type: integer + value: + type: array + items: + $ref: "#/components/schemas/ActionPlanRelatedAlerts" + nextPageToken: + type: string + ActionPlanRelatedAlerts: + type: object + properties: + alertId: + type: string + alertTime: + format: int64 + type: integer + alertStatus: + type: string + resource: + $ref: "#/components/schemas/Resource" + policy: + $ref: "#/components/schemas/Policy" + isAlertAccessible: + type: boolean + Resource: + type: object + properties: + accountId: + type: string + accountName: + type: string + url: + type: string + unifiedAssetId: + type: string + name: + type: string + resourceDetailsAvailable: + type: boolean + Policy: + type: object + properties: + policyType: + type: string + findingTypes: + type: array + items: + type: string + policyId: + type: string + policyName: + type: string + policySeverity: + type: string + TosResponse: + type: object + properties: + tosAccepted: + type: boolean + SetAssetCriticalityRequest: + type: object + properties: + assetIds: + type: array + items: + type: string + assetCriticality: + type: string + description: >- + Name of the allowed asset criticalities. Allowed criticalities: [critical, + high, medium, low, none] + allOf: + - $ref: "#/components/schemas/AssetCriticalityEnum" + AssetCriticalityEnum: + enum: + - critical + - high + - medium + - low + - none + type: string + AssetCriticalityStatusResponse: + type: object + properties: + assetCriticality: + type: string + description: >- + Name of the allowed asset criticalities. Allowed criticalities: [critical, + high, medium, low, none] + allOf: + - $ref: "#/components/schemas/AssetCriticalityEnum" + CriticalAssetApiRequest: + properties: + limit: + format: int64 + type: integer + pageToken: + type: string + filters: + description: List of filters that can be applied for the API + type: array + items: + $ref: "#/components/schemas/Filter" + CriticalAssetResponse: + type: object + properties: + totalCount: + format: int64 + type: integer + value: + type: array + items: + $ref: "#/components/schemas/Asset" + nextPageToken: + type: string + Asset: + type: object + properties: + name: + type: string + businessCriticality: + type: string + unifiedAssetId: + type: string + accountId: + type: string + externalAssetId: + type: string + regionId: + type: string + assetType: + type: string + cloudType: + type: string + resourceDetailsAvailable: + type: boolean + Error: + type: object + properties: + code: + type: string + message: + type: string + target: + type: string + ErrorResponse: + type: object + properties: + error: + $ref: "#/components/schemas/Error" + AcceptedResponse: + type: object + properties: + message: + type: string + + securitySchemes: + x-redlock-auth: + description: The x-redlock-auth value is a JSON Web Token (JWT). + in: header + name: x-redlock-auth + type: apiKey \ No newline at end of file From 746a2140024ae4efe0d32ec17f51c3bcd6c91b6d Mon Sep 17 00:00:00 2001 From: jrdevore Date: Fri, 8 Nov 2024 14:26:06 -0800 Subject: [PATCH 04/11] custom package instructions for action plan during development --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 2941e5057..4de530bd5 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,8 @@ "start:splunk": "cross-env PRODUCTS_INCLUDE=panos,terraform,ansible,splunk yarn start", "start:sase": "cross-env PRODUCTS_INCLUDE=sase,access,sdwan yarn start", "start:cloud": "cross-env PRODUCTS_INCLUDE=prisma-cloud,compute yarn start", + "start:action-plan": "cross-env PRODUCTS_INCLUDE=prisma-cloud yarn docusaurus start", + "regen-action-plan": "docusaurus clean-api-docs action-plan && docusaurus gen-api-docs action-plan", "clean": "yarn clean-all && yarn clear && yarn cache clean && yarn rimraf ./**/node_modules", "sos": "yarn clean && yarn install", "format": "prettier --write .", From c4bba353115438fdbcec50dec2d531ccb7a8fe70 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Mon, 11 Nov 2024 08:32:45 -0800 Subject: [PATCH 05/11] set showExtensions to false in docusaurus config to hide x-public true code blocks in description --- docusaurus.config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index d35ca5e53..1330a2660 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1006,7 +1006,7 @@ const config = { mssp: { specPath: "openapi-specs/mssp", outputDir: "products/prisma-cloud/api/mssp", - showExtensions: true, + showExtensions: false, sidebarOptions: { groupPathsBy: "tag", categoryLinkSource: "tag" }, baseUrl: "/prisma-cloud/api/", hideSendButton: true, @@ -1014,7 +1014,7 @@ const config = { "action-plan": { specPath: "openapi-specs/action-plan", outputDir: "products/prisma-cloud/api/action-plan", - showExtensions: true, + showExtensions: false, sidebarOptions: { groupPathsBy: "tag", categoryLinkSource: "tag" }, baseUrl: "/prisma-cloud/api/", hideSendButton: true, From 6da6dbacd20c788d1d4ed5ea6c08c939787cce98 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Wed, 13 Nov 2024 17:11:57 -0800 Subject: [PATCH 06/11] rename spec file --- ...024-10-29-arya-action-plan-spec.yml => arya-action-plan.yml} | 2 ++ 1 file changed, 2 insertions(+) rename openapi-specs/action-plan/{2024-10-29-arya-action-plan-spec.yml => arya-action-plan.yml} (99%) diff --git a/openapi-specs/action-plan/2024-10-29-arya-action-plan-spec.yml b/openapi-specs/action-plan/arya-action-plan.yml similarity index 99% rename from openapi-specs/action-plan/2024-10-29-arya-action-plan-spec.yml rename to openapi-specs/action-plan/arya-action-plan.yml index 9a9245b12..627325bfa 100644 --- a/openapi-specs/action-plan/2024-10-29-arya-action-plan-spec.yml +++ b/openapi-specs/action-plan/arya-action-plan.yml @@ -10,6 +10,8 @@ tags: description: Arya Action Plan Management APIs x-public: true x-ga: 1.0.0 +servers: + - url: https://api.prismacloud.io/apm/api/v1 paths: /apm/api/v1/action-plan: post: From 6adc3ecf9465a10bdca227dd7b8b0a5dbe646505 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Fri, 15 Nov 2024 16:23:44 -0800 Subject: [PATCH 07/11] new spec file updates from arya team. --- .../action-plan/arya-action-plan.yml | 181 ++++++------------ 1 file changed, 58 insertions(+), 123 deletions(-) diff --git a/openapi-specs/action-plan/arya-action-plan.yml b/openapi-specs/action-plan/arya-action-plan.yml index 627325bfa..d78c00071 100644 --- a/openapi-specs/action-plan/arya-action-plan.yml +++ b/openapi-specs/action-plan/arya-action-plan.yml @@ -1,24 +1,22 @@ openapi: 3.0.3 info: version: 1.0.0 - title: Arya Action Plan Management APIs - description: Arya Action Plan Management APIs + title: Action Plan Management APIs + description: Action Plan Management APIs contact: name: Prisma Cloud API Support tags: - - name: Arya Action Plan Management APIs - description: Arya Action Plan Management APIs + - name: Action Plan Management APIs + description: Action Plan Management APIs x-public: true x-ga: 1.0.0 -servers: - - url: https://api.prismacloud.io/apm/api/v1 paths: /apm/api/v1/action-plan: post: tags: - - Arya Action Plan Management APIs - summary: "List all actions plans for a tenant ordered by criticality" - description: List Action Plans ordered by criticality desc. Offset for pagination.You must have **ActionPlanOverview_READ** permission to access this endpoint. + - Action Plan Management APIs + summary: "List Action Plans" + description: List all Action Plans for a tenant ordered by criticality desc. Offset for pagination.You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate limit 10/sec. operationId: list-action-plans parameters: - in: header @@ -82,9 +80,9 @@ paths: /apm/api/v1/action-plan/{action-plan-id}/status-assignee: patch: tags: - - Arya Action Plan Management APIs - summary: "Update an action plan" - description: Update an action plan. Partial updates are supported. You must have **ActionPlanOverview_UPDATE** permission to access this endpoint. + - Action Plan Management APIs + summary: "Update Action Plan Status or Assignee" + description: Update an action plan. Partial updates are supported. You must have **ActionPlanOverview_UPDATE** permission to access this endpoint. Rate limit 5/sec. operationId: update-an-action-plan parameters: - in: header @@ -140,9 +138,9 @@ paths: /apm/api/v1/action-plan/{action-plan-id}/feedback: patch: tags: - - Arya Action Plan Management APIs - summary: "Update action plan feedback" - description: Update action plan feedback. You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate Limit 5 / sec + - Action Plan Management APIs + summary: "Update Action Plan Feedback" + description: Update action plan feedback. You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate Limit 5/sec operationId: update-an-action-plan-feedback parameters: - in: header @@ -169,7 +167,7 @@ paths: description: User thumbs down an action plan value: thumbsUpDown: down - thumbsDownReasons: [Wrong priority for me] + thumbsDownReasons: [ Wrong priority for me ] thumbsDownDescription: This is the optional user-written message Update Thumbs Up: description: User thumbs down an action plan @@ -201,9 +199,9 @@ paths: /apm/api/v1/action-plan/{action-plan-id}/recommendation-summary: get: tags: - - Arya Action Plan Management APIs - summary: "Recommendation summary based on all the recommendations associated with related policies for an action plan" - description: Recommendation summary based on all the recommendations associated with related policies for an action plan. You must have **ActionPlanOverview_READ** permission to access this endpoint. + - Action Plan Management APIs + summary: "Recommendation Summary" + description: Recommendation summary based on all the recommendations associated with related policies for an action plan. You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate limit 2/sec. operationId: recommendation-summary-action-plan parameters: - in: header @@ -247,10 +245,10 @@ paths: /apm/api/v1/action-plan/{action-plan-id}/related-alerts: get: tags: - - Arya Action Plan Management APIs - summary: "Get Related Alerts for Action Plan" - description: The API returns paginated related alerts for a given action plan id. You must have **ActionPlanOverview_READ** permission to access this endpoint. - operationId: related-alerts-action-plan + - Action Plan Management APIs + summary: "List Related Alerts" + description: The API returns paginated related alerts for a given action plan id. You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate limit 2/sec. + operationId: action-plan-related-alerts parameters: - in: header name: x-redlock-auth @@ -306,10 +304,10 @@ paths: /apm/api/v1/action-plan/{action-plan-id}/impacted-assets: get: tags: - - Arya Action Plan Management APIs - summary: "Paginated list of impacted assets ordered by asset ID" - description: List of impacted assets ordered by asset ID asc. Offset for pagination. You must have **ActionPlanOverview_READ** permission to access this endpoint. - operationId: impacted-assets-action-plan + - Action Plan Management APIs + summary: "List Impacted Assets" + description: List of impacted assets ordered by asset ID asc. Offset for pagination. You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate limit 2/sec. + operationId: action-plan-impacted-assets parameters: - in: header name: x-redlock-auth @@ -363,10 +361,10 @@ paths: /apm/api/v1/action-plan/{action-plan-id}/notification/ondemand: post: tags: - - Arya Action Plan Management APIs - summary: "Send Jira/Slack notification for a given Action Plan Id" - description: The API sends Jira/slack notifications for a given action plan id. You must have **ActionPlanRemediation_UPDATE** permission to access this endpoint. - operationId: action-plan-ondemand-notification + - Action Plan Management APIs + summary: "Send Notification" + description: The API sends Jira/slack notifications for a given action plan id. You must have **ActionPlanRemediation_UPDATE** permission to access this endpoint. Rate limit 2/sec. + operationId: action-plan-notification-service parameters: - in: header name: x-redlock-auth @@ -445,14 +443,14 @@ paths: metaData: jiraKey: P-1234(JIRA ID) notificationId: dd67ac26-b2e2-4775-abbf-a40a6dec6a24 - failedEvents: {} + failedEvents: { } Jira-failure: summary: On-demand Jira Notification Failed Response value: id: "action-plan-jira-notification-failure" success: 0 failed: 1 - successfulEvents: [] + successfulEvents: [ ] failedEvents: recipient: generatorType: REALTIME @@ -476,7 +474,7 @@ paths: customerId: 6 clientId: AP notificationId: 30b98415-10b5-4ed8-a994-e8ff82cca531 - failedEvents: {} + failedEvents: { } "400": description: Bad Request content: @@ -496,9 +494,9 @@ paths: /apm/api/v1/action-plan/names: get: tags: - - Arya Action Plan Management APIs - summary: "Get action plan names. Permission: ActionPlanOverview_READ" - description: Get action plan names. You must have **ActionPlanOverview_READ** permission to access this endpoint. + - Action Plan Management APIs + summary: "List Action Plan Names" + description: Get action plan names. You must have **ActionPlanOverview_READ** permission to access this endpoint. Rate limit 2/sec. operationId: get-action-plan-names parameters: - in: header @@ -526,9 +524,9 @@ paths: /apm/api/v1/filter/action-plan/suggest: post: tags: - - Arya Action Plan Management APIs - summary: "Support for filter" - description: List Action Plans names to be used in UI for filters. You must have **ActionPlanOverview_READ** permission to access this endpoint. + - Action Plan Management APIs + summary: "Suggest Filters" + description: List suggestions for UI filters. You must have **ActionPlanOverview_READ** permission to access this endpoint. operationId: list-action-plans-names parameters: - in: header @@ -576,76 +574,13 @@ paths: description: Too Many Requests x-public: true x-migrated-v3: true - /apm/api/v1/action-plan/tos-accept: - post: - tags: - - Arya Action Plan Management APIs - summary: "Update Action Plan product agreement.Permission Group: System Admin" - description: Accept the action plan product agreement. Rate Limit 2 / sec - operationId: accept-action-plan-tos-status - parameters: - - in: header - name: x-redlock-auth - description: Authorize using Authentication token - example: "jwt token" - schema: - type: string - required: true - responses: - "200": - description: OK - "202": - description: Accepted - content: - application/json; charset=UTF-8: - schema: - $ref: "#/components/schemas/AcceptedResponse" - "401": - description: Unauthorized - "403": - description: Forbidden - "429": - description: Too Many Requests - x-public: true - x-migrated-v3: true - /apm/api/v1/action-plan/tos-check: - get: - tags: - - Arya Action Plan Management APIs - summary: "Get Action Plan product agreement. Permission: ActionPlanOverview_READ" - description: Get action plan product agreement. Rate Limit 5 / sec - operationId: get-action-plan-tos-status - parameters: - - in: header - name: x-redlock-auth - description: Authorize using Authentication token - example: "jwt token" - schema: - type: string - required: true - responses: - "200": - description: OK - content: - application/json; charset=UTF-8: - schema: - $ref: "#/components/schemas/TosResponse" - "401": - description: Unauthorized - "403": - description: Forbidden - "429": - description: Too Many Requests - x-public: true - x-migrated-v3: true - /apm/api/v1/critical-asset: get: tags: - - Arya Action Plan Management APIs - summary: "List critical assets" - description: Get critical assets. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. - operationId: action-plan-crown-jewel-assets + - Action Plan Management APIs + summary: "List All Critical Assets" + description: Get critical assets. You must have **System Admin** permissions to access this endpoint. Rate limit 15/sec. + operationId: action-plan-critical-assets parameters: - in: header name: x-redlock-auth @@ -683,10 +618,10 @@ paths: x-migrated-v3: true post: tags: - - Arya Action Plan Management APIs - summary: "Get critical assets" - description: Get critical assets. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. - operationId: action-plan-business-crticality-assets + - Action Plan Management APIs + summary: "List Filtered Critical Assets" + description: Get business asset criticality. You must have **System Admin** permissions to access this endpoint. Rate limit 15/sec. + operationId: action-plan-business-criticality-assets parameters: - in: header name: x-redlock-auth @@ -738,9 +673,9 @@ paths: /apm/api/v1/asset-criticality: post: tags: - - Arya Action Plan Management APIs - summary: "Set asset criticality" - description: Set asset criticality. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. + - Action Plan Management APIs + summary: "Set Asset Criticality" + description: Set asset criticality. You must have **System Admin** permissions to access this endpoint. Rate limit 15/sec. operationId: action-plan-set-asset-criticality parameters: - in: header @@ -775,9 +710,9 @@ paths: /apm/api/v1/asset-criticality/{asset-id}: get: tags: - - Arya Action Plan Management APIs - summary: "Check an asset's criticality" - description: Check an asset's criticality. Rate Limit 5 / sec. You must have **System Admin** permissions to access this endpoint. + - Action Plan Management APIs + summary: "Check Asset Criticality" + description: Check an asset's criticality. You must have **System Admin** permissions to access this endpoint. Rate limit 15/sec operationId: action-plan-check-asset-criticality parameters: - in: header @@ -913,7 +848,7 @@ components: type: array items: type: string - example: [] + example: [ ] valid: type: boolean default: false @@ -921,7 +856,7 @@ components: type: array items: type: string - example: ["PRIVILEGE_ESCALATION", "HIGH_PRIVILEGED_ROLE"] + example: [ "PRIVILEGE_ESCALATION", "HIGH_PRIVILEGED_ROLE" ] ActionPlanResponse: type: object properties: @@ -991,7 +926,7 @@ components: type: string thumbsUpDown: type: string - enum: [down, up, none] + enum: [ down, up, none ] thumbsDownReasons: type: array items: @@ -1043,7 +978,7 @@ components: properties: status: type: string - enum: [new, in-progress, done] + enum: [ new, in-progress, done ] assignee: type: string ActionPlanFeedbackRequest: @@ -1051,7 +986,7 @@ components: properties: thumbsUpDown: type: string - enum: [up, down, none] + enum: [ up, down, none ] thumbsDownDescription: type: string thumbsDownReasons: @@ -1379,4 +1314,4 @@ components: description: The x-redlock-auth value is a JSON Web Token (JWT). in: header name: x-redlock-auth - type: apiKey \ No newline at end of file + type: apiKey From 11b4d779171a65837aec5b46cd81335e59ea5124 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Fri, 15 Nov 2024 16:41:50 -0800 Subject: [PATCH 08/11] change sidebar name from arya-action-plan to action-plan, fix hostname url in spec --- openapi-specs/action-plan/arya-action-plan.yml | 2 ++ products/prisma-cloud/sidebars.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/openapi-specs/action-plan/arya-action-plan.yml b/openapi-specs/action-plan/arya-action-plan.yml index d78c00071..8fb58dab0 100644 --- a/openapi-specs/action-plan/arya-action-plan.yml +++ b/openapi-specs/action-plan/arya-action-plan.yml @@ -10,6 +10,8 @@ tags: description: Action Plan Management APIs x-public: true x-ga: 1.0.0 +servers: + - url: https://api.prismacloud.io/ paths: /apm/api/v1/action-plan: post: diff --git a/products/prisma-cloud/sidebars.js b/products/prisma-cloud/sidebars.js index 49f31ddc8..4bb416f37 100644 --- a/products/prisma-cloud/sidebars.js +++ b/products/prisma-cloud/sidebars.js @@ -55,7 +55,7 @@ module.exports = { }, { type: "category", - label: "Arya Action Plan", + label: "Action Plan", collapsed: true, items: [require("./api/action-plan/sidebar")], }, From 66bf143aa97bfb0675d419ffe2a20982bbe63a29 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Mon, 18 Nov 2024 09:08:32 -0800 Subject: [PATCH 09/11] remove extra '/' from server path --- openapi-specs/action-plan/arya-action-plan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi-specs/action-plan/arya-action-plan.yml b/openapi-specs/action-plan/arya-action-plan.yml index 8fb58dab0..0035e90a4 100644 --- a/openapi-specs/action-plan/arya-action-plan.yml +++ b/openapi-specs/action-plan/arya-action-plan.yml @@ -11,7 +11,7 @@ tags: x-public: true x-ga: 1.0.0 servers: - - url: https://api.prismacloud.io/ + - url: https://api.prismacloud.io paths: /apm/api/v1/action-plan: post: From 19226402b140e6beadb84753378f1053a56d7b30 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Mon, 18 Nov 2024 13:13:19 -0800 Subject: [PATCH 10/11] remove GET /apm/api/v1/critical-asset endpoint from spec --- .../action-plan/arya-action-plan.yml | 43 +------------------ 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/openapi-specs/action-plan/arya-action-plan.yml b/openapi-specs/action-plan/arya-action-plan.yml index 0035e90a4..2af67ac2f 100644 --- a/openapi-specs/action-plan/arya-action-plan.yml +++ b/openapi-specs/action-plan/arya-action-plan.yml @@ -577,48 +577,7 @@ paths: x-public: true x-migrated-v3: true /apm/api/v1/critical-asset: - get: - tags: - - Action Plan Management APIs - summary: "List All Critical Assets" - description: Get critical assets. You must have **System Admin** permissions to access this endpoint. Rate limit 15/sec. - operationId: action-plan-critical-assets - parameters: - - in: header - name: x-redlock-auth - description: Authorize using Authentication token - example: "jwt token" - schema: - type: string - required: true - - name: limit - in: query - description: page limit, default 100 - example: 10 - schema: - type: integer - - name: next_page_token - in: query - description: page token - example: "" - schema: - type: string - responses: - "200": - description: OK - content: - application/json; charset=UTF-8: - schema: - $ref: "#/components/schemas/CriticalAssetResponse" - "401": - description: Unauthorized - "403": - description: Forbidden - "429": - description: Too Many Requests - x-public: true - x-migrated-v3: true - post: + post: tags: - Action Plan Management APIs summary: "List Filtered Critical Assets" From ba645a3510c04cd92c79f5b75ac9afecce8088d8 Mon Sep 17 00:00:00 2001 From: jrdevore Date: Fri, 22 Nov 2024 10:39:58 -0800 Subject: [PATCH 11/11] restore package.json build targets --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index 4de530bd5..2941e5057 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,6 @@ "start:splunk": "cross-env PRODUCTS_INCLUDE=panos,terraform,ansible,splunk yarn start", "start:sase": "cross-env PRODUCTS_INCLUDE=sase,access,sdwan yarn start", "start:cloud": "cross-env PRODUCTS_INCLUDE=prisma-cloud,compute yarn start", - "start:action-plan": "cross-env PRODUCTS_INCLUDE=prisma-cloud yarn docusaurus start", - "regen-action-plan": "docusaurus clean-api-docs action-plan && docusaurus gen-api-docs action-plan", "clean": "yarn clean-all && yarn clear && yarn cache clean && yarn rimraf ./**/node_modules", "sos": "yarn clean && yarn install", "format": "prettier --write .",