From 775bf4b824a59c0ca2a04cbee27ca769a28aea85 Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Mon, 30 Oct 2023 12:06:52 +0530 Subject: [PATCH 01/10] findingsID change and new alert APIs --- openapi-specs/cspm/Alerts.json | 60 +- openapi-specs/cspm/AlertsMicroServices.json | 4538 +++++++++++++++++ .../cspm/consolidated_spec/all_endpoints.csv | 3 + 3 files changed, 4595 insertions(+), 6 deletions(-) create mode 100644 openapi-specs/cspm/AlertsMicroServices.json diff --git a/openapi-specs/cspm/Alerts.json b/openapi-specs/cspm/Alerts.json index 6e535f383..4c626efe6 100644 --- a/openapi-specs/cspm/Alerts.json +++ b/openapi-specs/cspm/Alerts.json @@ -274,6 +274,16 @@ "format": "int64", "type": "integer" }, + "appMetadata": { + "description": "Application Metadata from AppDna", + "items": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, "dismissalDuration": { "description": "Dismissal Duration", "type": "string" @@ -1282,7 +1292,20 @@ "ueba", "permissions", "network_config", - "identity" + "identity", + "sensitive_data_exposure", + "internet_exposure", + "injections", + "vulnerability_scanning", + "shellshock", + "known_bots", + "unknown_bots", + "virtual_patches", + "event", + "misconfig_and_event", + "misconfig", + "host", + "container_image" ], "type": "string" }, @@ -1301,8 +1324,10 @@ "iam", "workload_vulnerability", "workload_incident", - "waas_event", - "attack_path" + "api", + "attack_path", + "malware", + "grayware" ], "type": "string" }, @@ -1481,7 +1506,20 @@ "ueba", "permissions", "network_config", - "identity" + "identity", + "sensitive_data_exposure", + "internet_exposure", + "injections", + "vulnerability_scanning", + "shellshock", + "known_bots", + "unknown_bots", + "virtual_patches", + "event", + "misconfig_and_event", + "misconfig", + "host", + "container_image" ], "type": "string" }, @@ -1500,8 +1538,10 @@ "iam", "workload_vulnerability", "workload_incident", - "waas_event", - "attack_path" + "api", + "attack_path", + "malware", + "grayware" ], "type": "string" }, @@ -3934,6 +3974,14 @@ "schema": { "type": "string" } + }, + { + "in": "query", + "name": "findingId", + "required": false, + "schema": { + "type": "string" + } } ], "responses": { diff --git a/openapi-specs/cspm/AlertsMicroServices.json b/openapi-specs/cspm/AlertsMicroServices.json new file mode 100644 index 000000000..8e8433959 --- /dev/null +++ b/openapi-specs/cspm/AlertsMicroServices.json @@ -0,0 +1,4538 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Alerts 2.0 API", + "description": "REST interface for Alerts 2.0.", + "contact": { + "name": "Alert 2.0", + "url": "" + }, + "version": "" + }, + "externalDocs": { + "description": "", + "url": "" + }, + "servers": [ + { + "url": "https://api.prismacloud.io" + }, + { + "url": "https://api2.prismacloud.io" + }, + { + "url": "https://api3.prismacloud.io" + }, + { + "url": "https://api4.prismacloud.io" + }, + { + "url": "https://api.anz.prismacloud.io" + }, + { + "url": "https://api.eu.prismacloud.io" + }, + { + "url": "https://api2.eu.prismacloud.io" + }, + { + "url": "https://api.gov.prismacloud.io" + }, + { + "url": "https://api.prismacloud.cn" + }, + { + "url": "https://api.ca.prismacloud.io" + }, + { + "url": "https://api.sg.prismacloud.io" + }, + { + "url": "https://api.uk.prismacloud.io" + }, + { + "url": "https://api.ind.prismacloud.io" + }, + { + "url": "https://api.jp.prismacloud.io" + }, + { + "url": "https://api.fr.prismacloud.io" + } + ], + "paths": { + "/alert/v1/policy": { + "post": { + "tags": [ + "Alerts" + ], + "summary": "Get Alert Count of Policies", + "description": "Get the list of policies with alert count based on the input filter along with next pagination token.", + "operationId": "alert-Policy-List", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyFilter" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + }, + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyPageResponse" + } + } + } + }, + "4XX": { + "description": "Client error", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "5XX": { + "description": "Server error", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true" + } + }, + "/alert/v1/aggregate": { + "post": { + "tags": [ + "Alerts" + ], + "summary": "Get Alert Count by Policy Groups", + "description": "Get policy groups with alert count based on the group by policy and input filters. The list is paginated and to fetch the remaining data, provide the nextPageToken.", + "operationId": "alert-Aggregation", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyFilter" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + }, + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupPageResponse" + } + } + } + }, + "4XX": { + "description": "Client error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "5XX": { + "description": "Server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true" + } + }, + "/alert/v1/{id}/graph": { + "get": { + "tags": [ + "Alerts" + ], + "summary": "Get Alert Evidence Graph", + "description": "Get the alert JSON graph format data by alert id.", + "operationId": "get-Alert-Evidence-Graph", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The alert id of the evidence graph.", + "required": true, + "schema": { + "type": "string", + "description": "The alert id of the evidence graph." + } + } + ], + "responses": { + "400": { + "description": "Bad Request - request body contains a query that is not grammatically valid", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "200": { + "description": "Successful operation", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/AssetGraphs" + } + } + } + }, + "401": { + "description": "Unauthorized - user cannot be authenticated to service the request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden - user is not authorized, or does not have the correct permissions, to make the call", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "412": { + "description": "PreConditions Failed - query fails domain specific validations", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "429": { + "description": "Too Many Requests - API is getting rate limited", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true" + } + } + }, + "components": { + "schemas": { + "AlertSyncRequest": { + "required": [ + "alertIds", + "customerId", + "stackName" + ], + "type": "object", + "properties": { + "alertIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "isStatusChange": { + "type": "boolean" + } + } + }, + "AlertDescopeRequest": { + "required": [ + "customerId", + "scopeChangeCalculation", + "stackName" + ], + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "scopeChangeCalculation": { + "$ref": "#/components/schemas/ScopeChangeCalculation" + }, + "action": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + } + } + }, + "AlertRule": { + "type": "object", + "properties": { + "alertRuleId": { + "type": "string" + }, + "oldAlertRule": { + "$ref": "#/components/schemas/AlertRuleFields" + }, + "newAlertRule": { + "$ref": "#/components/schemas/AlertRuleFields" + } + } + }, + "AlertRuleFields": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "accountIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "policyIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ScopeChangeCalculation": { + "type": "object", + "properties": { + "alertRules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertRule" + } + }, + "policyId": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "resourceIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "subjects": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AlertStatusChangeRequestWithSearch": { + "required": [ + "dismissalNote", + "reason", + "status" + ], + "type": "object", + "properties": { + "snoozeExpiryTs": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "originalSnoozeDuration": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "open", + "dismissed", + "snoozed", + "pending_resolution", + "resolved" + ] + }, + "requestType": { + "type": "string", + "enum": [ + "ALERTRULE_DESCOPE_REQUEST", + "POLICY_DESCOPE_REQUEST", + "ACCOUNT_DESCOPE_REQUEST", + "ALERT_STATUS_CHANGE_REQUEST", + "ALERT_CREATE_REQUEST", + "ALERT_SNOOZE_EXPIRED_REQUEST", + "ALERT_REMEDIATION_REQUEST", + "ALERT_CREATE_AND_DELETE_REQUEST", + "ALERT_DELETE_REQUEST", + "ALERT_UNDELETE_REQUEST", + "ALERT_MIGRATION_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", + "ALERT_HISTORY_MIGRATION_REQUEST", + "ALERT_HARD_DELETE_REQUEST", + "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", + "ALERT_SYNC_REQUEST", + "ALERT_HARD_SYNC_REQUEST", + "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", + "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", + "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", + "ALERT_UPDATE_REQUEST", + "ALERT_DESCOPE_REQUEST", + "ALERT_UPDATE_DECORATION_REQUEST", + "ALERT_DESCOPE_DECORATION_REQUEST", + "ALERT_PENDING_RESOLUTION_REQUEST" + ] + }, + "eventId": { + "type": "string" + }, + "alertsArchiveCntPerJob": { + "type": "integer", + "format": "int64" + }, + "alertsArchiveJobId": { + "type": "integer", + "format": "int64" + }, + "statusChangeRequestTs": { + "type": "integer", + "format": "int64" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "searchRequest": { + "$ref": "#/components/schemas/SearchServiceRequest" + }, + "alertPurgeJob": { + "type": "boolean" + } + } + }, + "ComputeAccessGroupMeta": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "TAG", + "RESOURCE_ID", + "STRING", + "IP_ADDRESS", + "NUMBER", + "RESOURCE_GROUP", + "COMPUTE_ACCESS_GROUP" + ] + }, + "hosts": { + "type": "array", + "items": { + "type": "string" + } + }, + "containers": { + "type": "array", + "items": { + "type": "string" + } + }, + "images": { + "type": "array", + "items": { + "type": "string" + } + }, + "functions": { + "type": "array", + "items": { + "type": "string" + } + }, + "appIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "codeRepos": { + "type": "array", + "items": { + "type": "string" + } + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + } + }, + "clusters": { + "type": "array", + "items": { + "type": "string" + } + }, + "labels": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "JsonNode": { + "type": "object", + "description": "MetaData Filter." + }, + "SearchFilters": { + "type": "object", + "properties": { + "resourceIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceNames": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "timeRange": { + "$ref": "#/components/schemas/TimeRange" + }, + "fieldWithInvalidValue": { + "type": "string" + }, + "alertIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "accountIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "statusChangeReason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "statusChangeReasonToExclude": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceInternalIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "resourceApiIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "cloudServiceResourceApiIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "assetClassResourceApiIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "cloudTypeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchTags" + } + }, + "policyIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "policyTypes": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "customerIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "resourceApiIdsToExclude": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "accessibleResourceGroupIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "resourceGroupIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "allRuleCagMeta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputeAccessGroupMeta" + } + }, + "computeEnabled": { + "type": "boolean" + }, + "userSelectedAccountFilter": { + "type": "boolean" + }, + "nonOnboardedAccountIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "Search Filter Conditions." + }, + "SearchServiceRequest": { + "required": [ + "customerId", + "fields", + "filters", + "stackName" + ], + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Customer Id associated to the Alert." + }, + "stackName": { + "type": "string", + "description": "Stack Name associated to the Alert." + }, + "fields": { + "type": "array", + "description": "Field Name for the filter that will be retrieved.", + "items": { + "type": "string", + "description": "Field Name for the filter that will be retrieved." + } + }, + "filters": { + "$ref": "#/components/schemas/SearchFilters" + }, + "metadataFilters": { + "$ref": "#/components/schemas/JsonNode" + }, + "returnCountOnly": { + "type": "boolean" + }, + "sortOrder": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sort" + } + }, + "limit": { + "type": "integer", + "format": "int32" + }, + "searchAfter": { + "type": "array", + "items": { + "type": "object" + } + }, + "numBuckets": { + "type": "integer", + "format": "int32" + }, + "disableTrackTotalHit": { + "type": "boolean", + "description": "Tracks the total hits for a search request" + }, + "skipCustomerIdFilter": { + "type": "boolean", + "description": "Stack level search request, basically skip customerId filter in the ES query" + } + }, + "description": "Search Service Request." + }, + "SearchTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Sort": { + "type": "object", + "properties": { + "column": { + "type": "string" + }, + "sortDirection": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + "description": "Search Service Column Sort" + }, + "TimeRange": { + "required": [ + "endTime", + "startTime" + ], + "type": "object", + "properties": { + "forField": { + "type": "string" + }, + "startTime": { + "type": "integer", + "format": "int64" + }, + "endTime": { + "type": "integer", + "format": "int64" + } + } + }, + "AlertStatusChangeRequest": { + "required": [ + "dismissalNote", + "reason", + "status" + ], + "type": "object", + "properties": { + "snoozeExpiryTs": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "originalSnoozeDuration": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "open", + "dismissed", + "snoozed", + "pending_resolution", + "resolved" + ] + }, + "requestType": { + "type": "string", + "enum": [ + "ALERTRULE_DESCOPE_REQUEST", + "POLICY_DESCOPE_REQUEST", + "ACCOUNT_DESCOPE_REQUEST", + "ALERT_STATUS_CHANGE_REQUEST", + "ALERT_CREATE_REQUEST", + "ALERT_SNOOZE_EXPIRED_REQUEST", + "ALERT_REMEDIATION_REQUEST", + "ALERT_CREATE_AND_DELETE_REQUEST", + "ALERT_DELETE_REQUEST", + "ALERT_UNDELETE_REQUEST", + "ALERT_MIGRATION_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", + "ALERT_HISTORY_MIGRATION_REQUEST", + "ALERT_HARD_DELETE_REQUEST", + "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", + "ALERT_SYNC_REQUEST", + "ALERT_HARD_SYNC_REQUEST", + "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", + "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", + "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", + "ALERT_UPDATE_REQUEST", + "ALERT_DESCOPE_REQUEST", + "ALERT_UPDATE_DECORATION_REQUEST", + "ALERT_DESCOPE_DECORATION_REQUEST", + "ALERT_PENDING_RESOLUTION_REQUEST" + ] + }, + "eventId": { + "type": "string" + }, + "alertsArchiveCntPerJob": { + "type": "integer", + "format": "int64" + }, + "alertsArchiveJobId": { + "type": "integer", + "format": "int64" + }, + "statusChangeRequestTs": { + "type": "integer", + "format": "int64" + }, + "prismaId": { + "type": "integer", + "format": "int64" + } + } + }, + "AlertList": { + "type": "array", + "properties": { + "empty": { + "type": "boolean" + } + }, + "items": { + "$ref": "#/components/schemas/AlertModel" + } + }, + "AlertModel": { + "required": [ + "Account Id.", + "Cloud Type.", + "Metadata change Time Stamp.", + "Policy Type.", + "Policy change Time Stamp.", + "Resource Id.", + "Resource change Time Stamp.", + "Stack Name.", + "clientId", + "verdict" + ], + "type": "object", + "properties": { + "Customer Id.": { + "type": "string", + "example": "'11111'" + }, + "Prisma Id.": { + "type": "integer", + "format": "int64", + "example": 11111123443 + }, + "Stack Name.": { + "type": "string", + "example": "'app2'" + }, + "Account Id.": { + "type": "string", + "example": "'ACC657432'" + }, + "Resource Id.": { + "type": "string", + "example": "'1gs010101'" + }, + "External Resouce Id.Id Provided by the cloud provider": { + "type": "string", + "example": "'1010101'" + }, + "Resource Name.": { + "type": "string", + "example": "'web server'" + }, + "RRN.": { + "type": "string", + "example": "'rrn:aws:storageObject:us-east-2:1234'" + }, + "url.": { + "type": "string", + "example": "'rrn:aws:storageObject:us-east-2:1234:app-qa-logs:/AWSLogs/1234/2020/04/04/1234.log.gz'" + }, + "Resource Api Id.": { + "type": "integer", + "format": "int32" + }, + "Policy Id.": { + "type": "string", + "example": "'222233'" + }, + "Policy Type.": { + "type": "integer", + "format": "int32" + }, + "Cloud Type.": { + "type": "integer", + "format": "int32" + }, + "Region.": { + "type": "string", + "example": "'us-east-2'" + }, + "Policy change Time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Resource change Time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Resource undeleted time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Metadata change Time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Alert Rule TS.": { + "type": "integer", + "format": "int64" + }, + "Resource Deleted TS.": { + "type": "integer", + "format": "int64" + }, + "reason.": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "Tags.": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertTags" + } + }, + "Json Metadata.": { + "$ref": "#/components/schemas/JsonNode" + }, + "Resource Data": { + "$ref": "#/components/schemas/JsonNode" + }, + "Resource Additional Info": { + "$ref": "#/components/schemas/JsonNode" + }, + "additional Info": { + "$ref": "#/components/schemas/JsonNode" + }, + "Time to Alert Info": { + "$ref": "#/components/schemas/JsonNode" + }, + "Alert Rule Ids.": { + "type": "array", + "items": { + "type": "string" + } + }, + "Resolved Alert Rule Ids.": { + "type": "array", + "items": { + "type": "string" + } + }, + "verdict": { + "type": "string", + "description": "Verdict from Config Scanner used for Create Alerts.", + "enum": [ + "PASS", + "FAIL" + ] + }, + "clientId": { + "type": "string", + "description": "client Id." + }, + "Additional Hash.": { + "type": "integer", + "format": "int64", + "example": 553195237 + }, + "allowAutoRemediation": { + "type": "boolean", + "description": "Allow auto remediation." + }, + "attributionSupported": { + "type": "boolean", + "description": "Attribution supported." + }, + "detectMode": { + "type": "boolean" + }, + "resourceInfoUpdated": { + "type": "boolean" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryModel" + } + }, + "commitContext": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "alertId": { + "type": "string" + } + } + }, + "AlertTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "HistoryModel": { + "required": [ + "alertTs", + "status" + ], + "type": "object", + "properties": { + "alertTs": { + "type": "integer", + "format": "int64" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "modifiedBy": { + "type": "string" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "note": { + "type": "string" + } + } + }, + "AbsoluteTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/Time" + } + } + } + ] + }, + "AlertFilterModel": { + "required": [ + "timeZone" + ], + "type": "object", + "properties": { + "detailed": { + "type": "boolean" + }, + "webClient": { + "type": "boolean" + }, + "withAlertRuleInfo": { + "type": "boolean" + }, + "customerId": { + "type": "string" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "stackName": { + "type": "string" + }, + "timeZone": { + "type": "string" + }, + "userRoleType": { + "type": "string", + "enum": [ + "System Admin", + "Account Group Admin", + "Account Group Read Only", + "SSO Admin", + "Cloud Provisioning Admin", + "Tenant Provisioning Admin", + "Prisma Service User", + "Account and Cloud Provisioning Admin", + "Build and Deploy Security", + "Build and Deploy Security CI", + "Compute Admin", + "NetSecOps", + "NetSecOps Read Only", + "Compute Account Admin", + "Developer", + "Compute Account Group Read Only", + "Non System Admin" + ] + }, + "lastLoginTime": { + "type": "integer", + "format": "int64" + }, + "accessibleAccountIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "accessibleResourceGroupIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "accessiblePolicyIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UIFilter" + } + }, + "restrictAlertDismissal": { + "type": "boolean" + }, + "timeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "pageToken": { + "type": "string" + }, + "groupBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "searchAfter": { + "type": "array", + "items": { + "type": "object" + } + }, + "afterKey": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "sortBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "fields": { + "type": "array", + "items": { + "type": "string" + } + }, + "numTimeBuckets": { + "type": "integer", + "format": "int32" + }, + "subAggregationField": { + "type": "string" + }, + "timeRangeType": { + "type": "string", + "enum": [ + "ALERT_OPENED", + "ALERT_UPDATED", + "ALERT_STATUS_UPDATED" + ] + }, + "limit": { + "type": "integer", + "format": "int32" + } + } + }, + "FromNowTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "enum": [ + "minute", + "hour", + "day", + "week", + "month", + "year", + "epoch", + "login" + ] + } + } + } + ] + }, + "RelativeTimeDuration": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "minute", + "hour", + "day", + "week", + "month", + "year", + "epoch", + "login" + ] + }, + "amount": { + "type": "integer", + "format": "int32" + } + } + }, + "RelativeTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/RelativeTimeDuration" + }, + "relativeTimeType": { + "type": "string", + "enum": [ + "BACKWARD", + "FORWARD" + ] + } + } + } + ] + }, + "Time": { + "type": "object", + "properties": { + "startTime": { + "type": "integer", + "format": "int64" + }, + "endTime": { + "type": "integer", + "format": "int64" + } + } + }, + "TimeRangeConfigModel": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "Time type": { + "type": "string", + "enum": [ + "to_now,absolute,relative,from_now" + ] + }, + "Time value": { + "type": "object", + "enum": [ + "epoch" + ] + }, + "Field for range": { + "type": "string", + "enum": [ + "lastOpenStateTs", + "lastStatusChangeTs", + "lastOpenStateTs" + ] + }, + "type": { + "type": "string" + } + }, + "description": "Model for TimeRangeConfig", + "discriminator": { + "propertyName": "type" + } + }, + "ToNowTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "enum": [ + "minute", + "hour", + "day", + "week", + "month", + "year", + "epoch", + "login" + ] + } + } + } + ] + }, + "UIFilter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "operator": { + "type": "string" + } + } + }, + "ComplianceMetadata": { + "type": "object", + "properties": { + "standardName": { + "type": "string" + }, + "standardDescription": { + "type": "string" + }, + "requirementId": { + "type": "string" + }, + "requirementName": { + "type": "string" + }, + "requirementDescription": { + "type": "string" + }, + "sectionId": { + "type": "string" + }, + "sectionDescription": { + "type": "string" + }, + "policyId": { + "type": "string" + }, + "complianceId": { + "type": "string" + }, + "sectionLabel": { + "type": "string" + }, + "sectionViewOrder": { + "type": "integer", + "format": "int32" + }, + "requirementViewOrder": { + "type": "integer", + "format": "int32" + }, + "systemDefault": { + "type": "boolean" + }, + "policyName": { + "type": "string" + }, + "customAssigned": { + "type": "boolean" + } + }, + "description": "Compliance Standards" + }, + "DecoratedAlert": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "firstSeen": { + "type": "integer", + "format": "int64" + }, + "lastSeen": { + "type": "integer", + "format": "int64" + }, + "alertTime": { + "type": "integer", + "format": "int64" + }, + "lastUpdated": { + "type": "integer", + "format": "int64" + }, + "policyId": { + "type": "string" + }, + "policy": { + "$ref": "#/components/schemas/PolicyDetails" + }, + "resource": { + "$ref": "#/components/schemas/ResourceDetails" + }, + "metadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "dismissedBy": { + "type": "string" + }, + "dismissalNote": { + "type": "string" + }, + "dismissalUntilTs": { + "type": "integer", + "format": "int64" + }, + "dismissalDuration": { + "type": "string" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DecoratedHistory" + } + }, + "autoActionLog": { + "type": "string" + }, + "alertAdditionalInfo": { + "$ref": "#/components/schemas/JsonNode" + } + } + }, + "DecoratedHistory": { + "type": "object", + "properties": { + "status": { + "type": "string", + "enum": [ + "open", + "dismissed", + "snoozed", + "pending_resolution", + "resolved" + ] + }, + "modifiedBy": { + "type": "string" + }, + "modifiedOn": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string" + } + } + }, + "PagedAlertsDecoratedAlert": { + "type": "object", + "properties": { + "totalRows": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DecoratedAlert" + } + }, + "nextPageToken": { + "type": "string" + }, + "sortAllowedColumns": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PolicyDetails": { + "type": "object", + "properties": { + "policyId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "recommendation": { + "type": "string" + }, + "complianceMetadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComplianceMetadata" + } + }, + "labels": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "deleted": { + "type": "boolean" + }, + "policyType": { + "type": "string", + "enum": [ + "config", + "network", + "audit_event", + "anomaly", + "data", + "iam", + "workload_vulnerability", + "workload_incident", + "api", + "attack_path" + ] + }, + "systemDefault": { + "type": "boolean" + }, + "remediable": { + "type": "boolean" + }, + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "remediation": { + "$ref": "#/components/schemas/Remediation" + }, + "lastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { + "type": "string" + }, + "isHyperionPolicy": { + "type": "boolean" + } + } + }, + "Remediation": { + "type": "object", + "properties": { + "templateType": { + "type": "string", + "enum": [ + "StaticTemplate", + "DynamicTemplate", + "AwsSecurityGroupTemplate", + "AzureSecurityGroupTemplate", + "Data" + ] + }, + "description": { + "type": "string" + }, + "impact": { + "type": "string" + }, + "cliScriptTemplate": { + "type": "string" + }, + "cliScriptJsonSchema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemediationAction" + } + }, + "dataRemediation": { + "type": "string", + "enum": [ + "reset_exposure", + "delete_file" + ] + } + } + }, + "RemediationAction": { + "type": "object", + "properties": { + "operation": { + "type": "string" + }, + "payload": { + "type": "string" + } + } + }, + "ResourceDetails": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "internalResourceId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "account": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "region": { + "type": "string" + }, + "regionId": { + "type": "string" + }, + "resourceTs": { + "type": "integer", + "format": "int64" + }, + "data": { + "$ref": "#/components/schemas/JsonNode" + }, + "cloudType": { + "type": "string", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + }, + "resourceApiName": { + "type": "string" + }, + "cloudServiceName": { + "type": "string" + }, + "resourceType": { + "type": "string" + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "cloudAccountGroups": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "rrn": { + "type": "string" + }, + "url": { + "type": "string" + }, + "additionalInfo": { + "$ref": "#/components/schemas/JsonNode" + }, + "cloudAccountOwners": { + "type": "array", + "items": { + "type": "string" + } + }, + "cloudAccountAncestors": { + "type": "array", + "items": { + "type": "string" + } + }, + "unifiedAssetId": { + "type": "string" + }, + "resourceConfigJsonAvailable": { + "type": "boolean" + }, + "resourceDetailsAvailable": { + "type": "boolean" + } + } + }, + "PolicyPageResponse": { + "type": "object", + "properties": { + "policies": { + "type": "array", + "description": "List of Policies", + "items": { + "$ref": "#/components/schemas/PolicyVO" + } + }, + "nextPageToken": { + "type": "string", + "description": "token to fetch the next page" + } + } + }, + "PolicyVO": { + "type": "object", + "properties": { + "alertCount": { + "type": "integer", + "description": "alert count", + "format": "int64" + }, + "policyId": { + "type": "string", + "description": "Policy ID" + }, + "policyName": { + "type": "string", + "description": "Policy Name" + }, + "policyType": { + "type": "string", + "description": "Policy Type" + }, + "severity": { + "type": "string", + "description": "Policy Severity", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "policyLabels": { + "uniqueItems": true, + "type": "array", + "description": "Policy Labels", + "items": { + "type": "string", + "description": "Policy Labels" + } + }, + "complianceMetadata": { + "type": "array", + "description": "Compliance Standards", + "items": { + "$ref": "#/components/schemas/ComplianceMetadata" + } + }, + "resourceType": { + "type": "string", + "description": "Resource Type" + }, + "remediable": { + "type": "boolean", + "description": "Remediable" + }, + "cloudType": { + "type": "string", + "description": "Cloud Type", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + }, + "mittreAttacks": { + "type": "array", + "description": "Mittre Attacks", + "items": { + "type": "string", + "description": "Mittre Attacks" + } + }, + "findingTypes": { + "type": "array", + "description": "Finding types", + "items": { + "type": "string", + "description": "Finding types" + } + }, + "restrictAlertDismissal": { + "type": "boolean", + "description": "Restrict alert dismissal" + } + }, + "description": "Policy data with alert count" + }, + "ErrorDetails": { + "required": [ + "message", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "SpringErrorResponse": { + "required": [ + "error", + "message", + "path", + "status", + "timestamp" + ], + "type": "object", + "properties": { + "timestamp": { + "type": "string" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "error": { + "type": "string" + }, + "errorDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorDetails" + } + }, + "message": { + "type": "string" + }, + "path": { + "type": "string" + } + } + }, + "PolicyFilter": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "description": "Filter parameters", + "items": { + "$ref": "#/components/schemas/UIFilter" + } + }, + "sortBy": { + "type": "array", + "description": "Array of sort properties. \n\nAppend **:asc** or **:desc** to the key to sort by ascending or descending order, respectively. Example: **id:asc**.", + "items": { + "type": "string", + "description": "Array of sort properties. \n\nAppend **:asc** or **:desc** to the key to sort by ascending or descending order, respectively. Example:**id:asc**." + } + }, + "groupBy": { + "type": "string", + "description": "Group by field.", + "enum": [ + "policy.type", + "policy.severity", + "policy.label", + "compliance.standard" + ] + }, + "size": { + "type": "integer", + "description": "Maximum number of items to return per page when data is paginated. The value cannot exceed 500 and default value is 50.", + "format": "int32" + }, + "nextPageToken": { + "type": "string", + "description": "The nextPageToken value from the previous response object, which is used to get the next page of data. " + }, + "timeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + } + } + }, + "GroupPageResponse": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupsResponse" + } + }, + "groupBy": { + "type": "string" + }, + "nextPageToken": { + "type": "string" + } + } + }, + "GroupsResponse": { + "type": "object", + "properties": { + "group": { + "type": "string", + "description": "group by field, for example : policy type, compliance standard etc" + }, + "totalAlerts": { + "type": "integer", + "description": "sum of all alert count for all policies in the group", + "format": "int64" + }, + "totalPolicies": { + "type": "integer", + "description": "number of policies in the group", + "format": "int32" + }, + "criticalAlertCount": { + "type": "integer", + "description": "alert count for policies with critical severity in the group", + "format": "int64" + }, + "highAlertCount": { + "type": "integer", + "description": "alert count for policies with high severity in the group", + "format": "int64" + }, + "mediumAlertCount": { + "type": "integer", + "description": "alert count for policies with medium severity in the group", + "format": "int64" + }, + "lowAlertCount": { + "type": "integer", + "description": "alert count for policies with low severity in the group", + "format": "int64" + }, + "informationalAlertCount": { + "type": "integer", + "description": "alert count for policies with informational severity in the group", + "format": "int64" + }, + "buildPolicyCount": { + "type": "integer", + "description": "number of build policy", + "format": "int64" + }, + "runPolicyCount": { + "type": "integer", + "description": "number of run policy", + "format": "int64" + }, + "findingTypes": { + "uniqueItems": true, + "type": "array", + "description": "List of finding types", + "items": { + "type": "string", + "description": "List of finding types" + } + }, + "cloudTypes": { + "uniqueItems": true, + "type": "array", + "description": "List of cloud types", + "items": { + "type": "string", + "description": "List of cloud types", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + } + }, + "policyIds": { + "uniqueItems": true, + "type": "array", + "description": "List of policy ids", + "items": { + "type": "string", + "description": "List of policy ids" + } + } + }, + "description": "List of groups for selected group by field" + }, + "AlertSyncResponse": { + "type": "object", + "properties": { + "inValidAlerts": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AlertSearchKey": { + "required": [ + "Account Id.", + "Stack Name." + ], + "type": "object", + "properties": { + "Stack Name.": { + "type": "string", + "example": "'app2'" + }, + "Account Id.": { + "type": "string", + "example": "'ACC657432'" + }, + "External Resouce Id.Id Provided by the cloud provider": { + "type": "string", + "example": "'1010101'" + }, + "Policy Id.": { + "type": "string", + "example": "'222233'" + } + } + }, + "AlertStatusChangeV2WithFilter": { + "required": [ + "dismissFilterType" + ], + "type": "object", + "properties": { + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "alerts": { + "type": "array", + "items": { + "type": "string" + } + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "dismissalTimeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "isReopen": { + "type": "boolean" + }, + "dismissFilterType": { + "type": "string", + "enum": [ + "POLICY_IDS", + "POLICY_AND_GENERIC_FILTERS", + "ALERT_IDS", + "GENERIC_FILTER", + "ALERT_KEYS" + ] + }, + "alertSearchKeys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertSearchKey" + } + }, + "userRoleId": { + "type": "string" + }, + "userName": { + "type": "string" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "reopen": { + "type": "boolean" + } + } + }, + "AggregateServiceCountResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + } + } + }, + "TopNPolicy": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policy.name": { + "type": "string" + }, + "policy.id": { + "type": "string" + } + } + }, + "AlertsReportRequest": { + "required": [ + "customerId", + "groupBy", + "stackName", + "timeRange" + ], + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "groupBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "timeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "afterKey": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "AggregateReportResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "policyId": { + "type": "string" + }, + "policyName": { + "type": "string" + }, + "policyType": { + "type": "string" + }, + "alertStatus": { + "type": "string" + }, + "statusChangeReason": { + "type": "string" + } + } + }, + "AlertsReportResponse": { + "type": "object", + "properties": { + "aggregateReportResponseList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AggregateReportResponse" + } + }, + "afterKey": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "AlertReconcileStatusWithFilter": { + "required": [ + "statusChangeReason" + ], + "type": "object", + "properties": { + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "alerts": { + "type": "array", + "items": { + "type": "string" + } + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "dismissalTimeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "isReopen": { + "type": "boolean" + }, + "statusChangeReason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "reopen": { + "type": "boolean" + } + } + }, + "AlertStatusModel": { + "required": [ + "Stack Name." + ], + "type": "object", + "properties": { + "Customer Id.": { + "type": "string", + "example": "'11111'" + }, + "Stack Name.": { + "type": "string", + "example": "'app2'" + } + } + }, + "BulkSearchAlertKeyByStatus": { + "type": "object", + "properties": { + "filterStatuses": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "alerts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertModel" + } + }, + "detailed": { + "type": "boolean" + } + } + }, + "AlertStatusChangeWithFilter": { + "type": "object", + "properties": { + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "alerts": { + "type": "array", + "items": { + "type": "string" + } + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "dismissalTimeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "isReopen": { + "type": "boolean" + }, + "reopen": { + "type": "boolean" + } + } + }, + "AlertAggregateResult": { + "type": "object", + "properties": { + "policyId": { + "type": "string" + }, + "alertCount": { + "type": "integer", + "format": "int64" + }, + "saveSearchId": { + "type": "string" + }, + "policy": { + "$ref": "#/components/schemas/Policy" + }, + "classification": { + "type": "string" + }, + "objectExposure": { + "type": "string" + }, + "alertStatus": { + "type": "string" + }, + "policyType": { + "type": "string" + }, + "malwarev2": { + "type": "string" + }, + "resourceId": { + "type": "string" + }, + "ems": { + "$ref": "#/components/schemas/ExposureMalwareSeverity" + }, + "ecs": { + "$ref": "#/components/schemas/ExposureClassificationSeverity" + } + } + }, + "ExposureClassificationSeverity": { + "type": "object", + "properties": { + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "classification": { + "type": "string" + }, + "objectExposure": { + "type": "string" + } + } + }, + "ExposureMalwareSeverity": { + "type": "object", + "properties": { + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "malwarev2": { + "type": "string" + }, + "objectExposure": { + "type": "string" + } + } + }, + "Policy": { + "type": "object", + "properties": { + "policyId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "policyType": { + "type": "string", + "enum": [ + "config", + "network", + "audit_event", + "anomaly", + "data", + "iam", + "workload_vulnerability", + "workload_incident", + "api", + "attack_path" + ] + }, + "policySubTypes": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "run", + "build", + "run_and_build", + "audit", + "data_classification", + "dns", + "malware", + "network_event", + "network", + "ueba", + "permissions", + "network_config", + "identity", + "sensitive_data_exposure", + "internet_exposure", + "injections", + "vulnerability_scanning", + "shellshock", + "known_bots", + "unknown_bots", + "virtual_patches", + "misconfig", + "misconfig_and_event", + "event" + ] + } + }, + "category": { + "type": "string", + "enum": [ + "risk", + "incident" + ] + }, + "systemDefault": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "recommendation": { + "type": "string" + }, + "cloudType": { + "type": "string", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + }, + "complianceMetadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComplianceMetadata" + } + }, + "remediation": { + "$ref": "#/components/schemas/Remediation" + }, + "labels": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean" + }, + "ownerId": { + "type": "integer", + "format": "int32" + }, + "createdOn": { + "type": "integer", + "format": "int64" + }, + "createdBy": { + "type": "string" + }, + "lastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { + "type": "string" + }, + "ruleLastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "overridden": { + "type": "boolean" + }, + "deleted": { + "type": "boolean" + }, + "restrictAlertDismissal": { + "type": "boolean" + }, + "saveSearchId": { + "type": "string" + }, + "findingTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "mitreTactics": { + "type": "array", + "items": { + "type": "string" + } + }, + "majorApiName": { + "type": "string" + }, + "isRemediable": { + "type": "boolean", + "readOnly": true + } + } + }, + "AlertDeleteRequest": { + "required": [ + "filter" + ], + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "deleteRequestedBy": { + "type": "string" + }, + "deleteRequest": { + "type": "boolean" + } + } + }, + "AlertTimelineCountResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "startTime": { + "type": "integer", + "format": "int64" + }, + "endTime": { + "type": "integer", + "format": "int64" + } + } + }, + "AlertAttribution": { + "type": "object", + "properties": { + "attributionEventList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttributionEvent" + } + }, + "resourceCreatedOn": { + "type": "integer", + "format": "int64" + }, + "resourceCreatedBy": { + "type": "string" + } + } + }, + "AlertDetails": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "firstSeen": { + "type": "integer", + "format": "int64" + }, + "lastSeen": { + "type": "integer", + "format": "int64" + }, + "alertTime": { + "type": "integer", + "format": "int64" + }, + "dismissedBy": { + "type": "string" + }, + "dismissalNote": { + "type": "string" + }, + "dismissalUntilTs": { + "type": "integer", + "format": "int64" + }, + "dismissalDuration": { + "type": "string" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "policy": { + "$ref": "#/components/schemas/PolicyDetails" + }, + "alertRules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertRuleConfig" + } + }, + "resource": { + "$ref": "#/components/schemas/ResourceDetails" + }, + "metadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertHistoryDetails" + } + }, + "alertAttribution": { + "$ref": "#/components/schemas/AlertAttribution" + }, + "autoActionLog": { + "type": "string" + }, + "appMetadata": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "description": "Alert details Model for L3 page" + }, + "AlertHistoryDetails": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "modifiedOn": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "note": { + "type": "string" + } + } + }, + "AlertRuleConfig": { + "type": "object", + "properties": { + "policyScanConfigId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "enabled": { + "type": "boolean" + }, + "scanAll": { + "type": "boolean" + }, + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "policyLabels": { + "type": "array", + "items": { + "type": "string" + } + }, + "excludedPolicies": { + "type": "array", + "items": { + "type": "string" + } + }, + "target": { + "$ref": "#/components/schemas/TargetFilter" + }, + "createdOn": { + "type": "integer", + "format": "int64" + }, + "createdBy": { + "type": "string" + }, + "lastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { + "type": "string" + }, + "systemDefault": { + "type": "boolean" + }, + "firstScanCompletedAccounts": { + "type": "array", + "items": { + "type": "string" + } + }, + "deleted": { + "type": "boolean" + }, + "allowAutoRemediate": { + "type": "boolean" + }, + "delayNotificationMs": { + "type": "integer", + "format": "int64" + }, + "alertAssociationTime": { + "type": "integer", + "format": "int64" + }, + "alertRuleNotificationConfig": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertRuleNotificationConfigModel" + } + }, + "notifyOnOpen": { + "type": "boolean" + }, + "notifyOnSnoozed": { + "type": "boolean" + }, + "notifyOnDismissed": { + "type": "boolean" + }, + "notifyOnResolved": { + "type": "boolean" + } + } + }, + "AlertRuleNotificationConfigModel": { + "type": "object", + "properties": { + "Alert rule notification config ID": { + "type": "string" + }, + "frequency": { + "type": "string", + "enum": [ + "as_it_happens, daily, weekly, monthly" + ] + }, + "Scan enabled": { + "type": "boolean" + }, + "List of unique email addresses to notify": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "Provide csv detailed report": { + "type": "boolean", + "description": "default false" + }, + "Compress detailed report": { + "type": "boolean" + }, + "Include remediation in detailed report": { + "type": "boolean" + }, + "Last Updated": { + "type": "integer", + "format": "int64" + }, + "Time of last notification in milliseconds": { + "type": "integer", + "format": "int64" + }, + "type": { + "type": "string" + }, + "templateId": { + "type": "string" + }, + "rruleSchedule": { + "type": "string" + } + }, + "description": "Model for Alert Rule Notification Config" + }, + "AttributionEvent": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "event": { + "type": "string" + }, + "event_ts": { + "type": "integer", + "format": "int64" + } + } + }, + "ResourceListsCollection": { + "type": "object", + "properties": { + "computeAccessGroups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputeAccessGroupMeta" + } + }, + "computeAccessGroupIds": { + "type": "array", + "writeOnly": true, + "items": { + "type": "string" + } + } + } + }, + "TargetFilter": { + "type": "object", + "properties": { + "accountGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "excludedAccounts": { + "type": "array", + "items": { + "type": "string" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TargetTag" + } + }, + "includedResourceLists": { + "$ref": "#/components/schemas/ResourceListsCollection" + }, + "accountIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TargetTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceIdAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "resource.id": { + "type": "string" + } + } + }, + "PolicyTypeAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policyType": { + "type": "string" + } + } + }, + "AlertOverTimeAggregateResult": { + "type": "object", + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64" + }, + "endTimestamp": { + "type": "integer", + "format": "int64" + }, + "interval": { + "type": "string" + }, + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertAggregateResult" + } + } + } + }, + "PagedAlertsResourceAndTimestampsByPolicyResponse": { + "type": "object", + "properties": { + "totalRows": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceAndTimestampsByPolicyResponse" + } + }, + "nextPageToken": { + "type": "string" + }, + "sortAllowedColumns": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceAndTimestampsByPolicyResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policyId": { + "type": "string" + }, + "firstSeen": { + "type": "integer", + "format": "int64" + }, + "lastSeen": { + "type": "integer", + "format": "int64" + }, + "resourceIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "policy": { + "$ref": "#/components/schemas/Policy" + } + } + }, + "SeverityAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policy.severity": { + "type": "string" + } + } + }, + "PolicyIdAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policy.id": { + "type": "string" + } + } + }, + "AggregateByECSResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "malwarev2": { + "type": "string" + }, + "policy.severity": { + "type": "string" + }, + "object.classification": { + "type": "string" + }, + "object.exposure": { + "type": "string" + } + } + }, + "AlertStatusAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "alertStatus": { + "type": "string" + } + } + }, + "OnDemandNotificationConfig": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "generatorType": { + "type": "string" + }, + "integrationType": { + "type": "string" + }, + "templateId": { + "type": "string" + }, + "recipients": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "OnDemandNotificationConfigRequest": { + "type": "object", + "properties": { + "prismaId": { + "type": "integer", + "format": "int64" + }, + "alertId": { + "type": "string" + }, + "onDemandNotificationConfig": { + "$ref": "#/components/schemas/OnDemandNotificationConfig" + } + } + }, + "BridgeCrewDecorationRequest": { + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "stackName": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "policyId": { + "type": "string" + }, + "policyType": { + "type": "integer", + "format": "int32" + }, + "resourceApiId": { + "type": "integer", + "format": "int32" + }, + "cloudTypeId": { + "type": "integer", + "format": "int32" + }, + "region": { + "type": "string" + }, + "externalResourceId": { + "type": "string" + }, + "additionalMetadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "decorationRequestType": { + "type": "string", + "enum": [ + "ALERTRULE_DESCOPE_REQUEST", + "POLICY_DESCOPE_REQUEST", + "ACCOUNT_DESCOPE_REQUEST", + "ALERT_STATUS_CHANGE_REQUEST", + "ALERT_CREATE_REQUEST", + "ALERT_SNOOZE_EXPIRED_REQUEST", + "ALERT_REMEDIATION_REQUEST", + "ALERT_CREATE_AND_DELETE_REQUEST", + "ALERT_DELETE_REQUEST", + "ALERT_UNDELETE_REQUEST", + "ALERT_MIGRATION_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", + "ALERT_HISTORY_MIGRATION_REQUEST", + "ALERT_HARD_DELETE_REQUEST", + "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", + "ALERT_SYNC_REQUEST", + "ALERT_HARD_SYNC_REQUEST", + "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", + "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", + "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", + "ALERT_UPDATE_REQUEST", + "ALERT_DESCOPE_REQUEST", + "ALERT_UPDATE_DECORATION_REQUEST", + "ALERT_DESCOPE_DECORATION_REQUEST", + "ALERT_PENDING_RESOLUTION_REQUEST" + ] + } + } + }, + "AlertEvidenceGraph": { + "type": "object", + "properties": { + "nodes": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/components/schemas/AssetNode" + }, + { + "$ref": "#/components/schemas/FindingNode" + }, + { + "$ref": "#/components/schemas/VulnerabilityNode" + } + ] + } + }, + "edges": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GraphEdge" + } + }, + "add": { + "writeOnly": true, + "oneOf": [ + { + "$ref": "#/components/schemas/AssetNode" + }, + { + "$ref": "#/components/schemas/FindingNode" + }, + { + "$ref": "#/components/schemas/VulnerabilityNode" + } + ] + } + }, + "description": "The resource specific graph" + }, + "AssetGraphs": { + "required": [ + "graphs" + ], + "type": "object", + "properties": { + "graphs": { + "type": "array", + "description": "The list of graphs representing a primary asset and its associations.", + "items": { + "$ref": "#/components/schemas/GraphAlertEvidenceGraph" + } + }, + "nextPageToken": { + "type": "string", + "description": "The next page token" + } + } + }, + "AssetNode": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/Node" + }, + { + "type": "object", + "properties": { + "metadata": { + "$ref": "#/components/schemas/AssetNodeMetadata" + } + } + } + ] + }, + "AssetNodeMetadata": { + "type": "object", + "properties": { + "lastModifiedAt": { + "type": "integer", + "description": "Last modified time for the asset", + "format": "int64" + }, + "externalAssetId": { + "type": "string", + "description": "ExternalId for asset" + }, + "assetApiId": { + "type": "integer", + "description": "ExternalId for asset", + "format": "int32" + }, + "accountId": { + "type": "string" + } + }, + "description": "Primary Asset Node Metadata" + }, + "CloudNetworkGraph": { + "type": "object", + "properties": { + "cloudGraphs": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/CloudNetworkGraphResponse" + }, + "description": "The cloud network graphs" + }, + "errors": { + "type": "array", + "description": "The error message for cloud network graph.", + "items": { + "type": "string", + "description": "The error message for cloud network graph." + } + } + }, + "description": "Represents the associated network graph for this finding" + }, + "CloudNetworkGraphResponse": { + "type": "object", + "properties": { + "nodes": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/NodeDataType" + }, + "description": "The nodes associated with this network graph" + }, + "paths": { + "type": "array", + "description": "The associated paths in the network graph", + "items": { + "type": "array", + "description": "The associated paths in the network graph", + "items": { + "$ref": "#/components/schemas/Path" + } + } + } + }, + "description": "The cloud network graphs" + }, + "CloudNetworkNode": { + "required": [ + "cloudType", + "type", + "unifiedAssetID" + ], + "type": "object", + "properties": { + "unifiedAssetID": { + "type": "string", + "description": "Prisma Cloud Unified Asset Identifier" + }, + "nativeID": { + "type": "string", + "description": "The native ID of the node" + }, + "name": { + "type": "string", + "description": "Name of the object" + }, + "cloudType": { + "type": "string", + "description": "Cloud type of the entity" + }, + "type": { + "type": "string", + "description": "Type of the endpoint" + }, + "subType": { + "type": "string", + "description": "Asset sub-type information" + }, + "rrn": { + "type": "string" + }, + "id": { + "type": "string" + }, + "APIID": { + "type": "integer", + "description": "Asset APIID", + "format": "int32" + } + }, + "description": "Represents a network node" + }, + "EdgeMetadata": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Effective Severity" + } + }, + "description": "Edge Metadata" + }, + "FindingBuildTimeRemediationMetadata": { + "type": "object", + "properties": { + "buildtime_resource_id": { + "type": "string" + }, + "buildtime_resource_name": { + "type": "string" + }, + "git_filename": { + "type": "string" + }, + "git_directory": { + "type": "string" + }, + "git_provider": { + "type": "string" + }, + "git_last_modified_time": { + "type": "integer", + "format": "int64" + }, + "git_last_modified_by": { + "type": "string" + }, + "git_modifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "git_org": { + "type": "string" + }, + "git_repository": { + "type": "string" + }, + "git_repo_id": { + "type": "string" + }, + "depends_on": { + "type": "string" + }, + "dependents": { + "type": "string" + }, + "yor_trace": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "framework": { + "type": "string" + }, + "code_security_url": { + "type": "string" + }, + "bc_resource_id": { + "type": "string" + }, + "alert_decoration_status": { + "type": "string" + }, + "fix_pr_url": { + "type": "string" + }, + "has_fix": { + "type": "boolean" + } + } + }, + "FindingNode": { + "required": [ + "type" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/Node" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The node type", + "enum": [ + "Finding" + ] + }, + "metadata": { + "$ref": "#/components/schemas/FindingNodeMetadata" + } + } + } + ] + }, + "FindingNodeMetadata": { + "required": [ + "description", + "lastModifiedAt", + "policyType", + "severity", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Finding Type" + }, + "policyType": { + "type": "string", + "description": "Policy Type" + }, + "severity": { + "type": "string", + "description": "Finding Severity" + }, + "description": { + "type": "string", + "description": "Finding description" + }, + "lastModifiedAt": { + "type": "integer", + "description": "Time when the finding was reported", + "format": "int64" + }, + "findingRemediationDetails": { + "$ref": "#/components/schemas/FindingRemediationDetails" + }, + "permissionGraph": { + "$ref": "#/components/schemas/IAMPermissionGraph" + }, + "networkGraph": { + "$ref": "#/components/schemas/CloudNetworkGraph" + }, + "isRemediable": { + "type": "boolean", + "description": "isRemediable" + } + }, + "description": "Finding Node Metadata" + }, + "FindingRemediationDetails": { + "type": "object", + "properties": { + "buildTimeMetadata": { + "$ref": "#/components/schemas/FindingBuildTimeRemediationMetadata" + }, + "runtimeMetadata": { + "$ref": "#/components/schemas/FindingRuntimeRemediationMetadaa" + } + }, + "description": "Represents the RemediationDetails for this finding" + }, + "FindingRuntimeRemediationMetadaa": { + "type": "object", + "properties": { + "remediationTs": { + "type": "integer", + "format": "int64" + } + } + }, + "GraphAlertEvidenceGraph": { + "type": "object", + "properties": { + "graph": { + "$ref": "#/components/schemas/AlertEvidenceGraph" + } + }, + "description": "The list of graphs representing a primary asset and its associations" + }, + "GraphEdge": { + "required": [ + "source", + "target" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Edge Id" + }, + "source": { + "type": "string", + "description": "Source node" + }, + "target": { + "type": "string", + "description": "Target node" + }, + "metadata": { + "$ref": "#/components/schemas/EdgeMetadata" + } + } + }, + "IAMPermissionGraph": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Permission graph items", + "items": { + "$ref": "#/components/schemas/IAMPermissionsResponse" + } + } + }, + "description": "Represents the associated permission graph for this finding" + }, + "IAMPermissionsResponse": { + "type": "object", + "properties": { + "grantedByCloudType": { + "type": "string", + "description": "Granted by cloud type" + }, + "grantedByEntityType": { + "type": "string", + "description": "Granted by entity type name" + }, + "grantedByEntityTypeId": { + "type": "integer", + "description": "Granted by entity type identifier", + "format": "int32" + }, + "grantedByEntityName": { + "type": "string", + "description": "Granted by entity name" + }, + "grantedByEntityAssetId": { + "type": "string", + "description": "Granted by entity asset identifier" + }, + "destCloudType": { + "type": "string", + "description": "Destination cloud type" + }, + "destCloudServiceName": { + "type": "string", + "description": "Destination cloud service name" + }, + "destCloudResourceName": { + "type": "string", + "description": "Destination cloud resource name" + }, + "destResourceTypeId": { + "type": "integer", + "description": "Destination cloud resource type identifier", + "format": "int32" + }, + "destResourceAssetId": { + "type": "string", + "description": "Destination cloud resource asset identifier" + } + }, + "description": "Permission graph items" + }, + "Node": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "description": "A dictionary of the node identifier and the associated node", + "discriminator": { + "propertyName": "type" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/AssetNode" + }, + { + "$ref": "#/components/schemas/FindingNode" + }, + { + "$ref": "#/components/schemas/VulnerabilityNode" + } + ] + }, + "NodeDataType": { + "type": "object", + "properties": { + "nodeData": { + "$ref": "#/components/schemas/CloudNetworkNode" + }, + "type": { + "type": "string", + "description": "Represents a network node type" + } + }, + "description": "The nodes associated with this network graph" + }, + "Path": { + "type": "object", + "properties": { + "nativeID": { + "type": "string", + "description": "The native ID of the node" + } + }, + "description": "The associated paths in the network graph" + }, + "VulnerabilityMetadata": { + "required": [ + "exploitable", + "patchable", + "published", + "score", + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Severity of the vulnerability" + }, + "score": { + "type": "number", + "description": "Score of the vulnerability", + "format": "float" + }, + "patchable": { + "type": "boolean", + "description": "Boolean value representing whether this vulnerability is patchable" + }, + "exploitable": { + "type": "boolean", + "description": "Boolean value representing whether this vulnerability is exploitable" + }, + "published": { + "type": "integer", + "description": "Long value representing when the vulnerability was published", + "format": "int64" + } + }, + "description": "Vulnerability Node Metadata" + }, + "VulnerabilityNode": { + "required": [ + "type" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/Node" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The node type", + "enum": [ + "Vulnerability" + ] + }, + "metadata": { + "$ref": "#/components/schemas/VulnerabilityMetadata" + } + } + } + ] + } + }, + "headers": { + "prismaId": { + "description": "x-prisma-tenant-id", + "style": "simple", + "schema": { + "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" + } + } + } +} diff --git a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv index ca092758f..18d7eb132 100644 --- a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv +++ b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv @@ -49,6 +49,9 @@ "get","/alert/policy/jobs/{id}/download","Download Policy Alerts JSON","download-policy-alerts-json","Alerts","Monolith" "post","/alert/remediation","List Alert Remediation Commands","get-alerts-remediation","Alerts","Monolith" "patch","/alert/remediation/{id}","Remediate Alert","perform-remediation-for-alert","Alerts","Monolith" +"post","/alert/v1/policy","Get Alert Count of Policies","alert-Policy-List","Alerts","AlertsMicroServices.json" +"post","/alert/v1/aggregate","Get Alert Count by Policy Groups","alert-Aggregation","Alerts","AlertsMicroServices.json" +"get","/alert/v1/{id}/graph","Get Alert Evidence Graph","get-Alert-Evidence-Graph","Alerts","AlertsMicroServices.json" "get","/anomalies/trusted_list","Get Anomaly Trusted List","getAllWhitelistEntries","Anomalies","AnomaliesMicroService.json" "post","/anomalies/trusted_list","Add Entries to Anomaly Trusted List","addToTrustedList","Anomalies","AnomaliesMicroService.json" "get","/anomalies/trusted_list/{id}","Get Anomaly Trusted List Entry","getWhitelistEntryById","Anomalies","AnomaliesMicroService.json" From c2519a9250a3fbae466780bab2436b675963589c Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Mon, 30 Oct 2023 22:51:13 +0530 Subject: [PATCH 02/10] reverting the new alerts APIs --- openapi-specs/cspm/AlertsMicroServices.json | 4538 ----------------- .../cspm/consolidated_spec/all_endpoints.csv | 3 - 2 files changed, 4541 deletions(-) delete mode 100644 openapi-specs/cspm/AlertsMicroServices.json diff --git a/openapi-specs/cspm/AlertsMicroServices.json b/openapi-specs/cspm/AlertsMicroServices.json deleted file mode 100644 index 8e8433959..000000000 --- a/openapi-specs/cspm/AlertsMicroServices.json +++ /dev/null @@ -1,4538 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Alerts 2.0 API", - "description": "REST interface for Alerts 2.0.", - "contact": { - "name": "Alert 2.0", - "url": "" - }, - "version": "" - }, - "externalDocs": { - "description": "", - "url": "" - }, - "servers": [ - { - "url": "https://api.prismacloud.io" - }, - { - "url": "https://api2.prismacloud.io" - }, - { - "url": "https://api3.prismacloud.io" - }, - { - "url": "https://api4.prismacloud.io" - }, - { - "url": "https://api.anz.prismacloud.io" - }, - { - "url": "https://api.eu.prismacloud.io" - }, - { - "url": "https://api2.eu.prismacloud.io" - }, - { - "url": "https://api.gov.prismacloud.io" - }, - { - "url": "https://api.prismacloud.cn" - }, - { - "url": "https://api.ca.prismacloud.io" - }, - { - "url": "https://api.sg.prismacloud.io" - }, - { - "url": "https://api.uk.prismacloud.io" - }, - { - "url": "https://api.ind.prismacloud.io" - }, - { - "url": "https://api.jp.prismacloud.io" - }, - { - "url": "https://api.fr.prismacloud.io" - } - ], - "paths": { - "/alert/v1/policy": { - "post": { - "tags": [ - "Alerts" - ], - "summary": "Get Alert Count of Policies", - "description": "Get the list of policies with alert count based on the input filter along with next pagination token.", - "operationId": "alert-Policy-List", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyFilter" - } - } - }, - "required": true - }, - "responses": { - "400": { - "description": "Bad Request", - "content": { - "*/*": { - "schema": { - "type": "string" - } - } - } - }, - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyPageResponse" - } - } - } - }, - "4XX": { - "description": "Client error", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - }, - "5XX": { - "description": "Server error", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - } - }, - "security": [ - { - "x-redlock-auth": [] - } - ], - "x-public": "true" - } - }, - "/alert/v1/aggregate": { - "post": { - "tags": [ - "Alerts" - ], - "summary": "Get Alert Count by Policy Groups", - "description": "Get policy groups with alert count based on the group by policy and input filters. The list is paginated and to fetch the remaining data, provide the nextPageToken.", - "operationId": "alert-Aggregation", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyFilter" - } - } - }, - "required": true - }, - "responses": { - "400": { - "description": "Bad Request", - "content": { - "*/*": { - "schema": { - "type": "string" - } - } - } - }, - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GroupPageResponse" - } - } - } - }, - "4XX": { - "description": "Client error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - }, - "5XX": { - "description": "Server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - } - }, - "security": [ - { - "x-redlock-auth": [] - } - ], - "x-public": "true" - } - }, - "/alert/v1/{id}/graph": { - "get": { - "tags": [ - "Alerts" - ], - "summary": "Get Alert Evidence Graph", - "description": "Get the alert JSON graph format data by alert id.", - "operationId": "get-Alert-Evidence-Graph", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The alert id of the evidence graph.", - "required": true, - "schema": { - "type": "string", - "description": "The alert id of the evidence graph." - } - } - ], - "responses": { - "400": { - "description": "Bad Request - request body contains a query that is not grammatically valid", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - }, - "200": { - "description": "Successful operation", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/AssetGraphs" - } - } - } - }, - "401": { - "description": "Unauthorized - user cannot be authenticated to service the request", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - }, - "403": { - "description": "Forbidden - user is not authorized, or does not have the correct permissions, to make the call", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - }, - "412": { - "description": "PreConditions Failed - query fails domain specific validations", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - }, - "429": { - "description": "Too Many Requests - API is getting rate limited", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/SpringErrorResponse" - } - } - } - } - }, - "security": [ - { - "x-redlock-auth": [] - } - ], - "x-public": "true" - } - } - }, - "components": { - "schemas": { - "AlertSyncRequest": { - "required": [ - "alertIds", - "customerId", - "stackName" - ], - "type": "object", - "properties": { - "alertIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "customerId": { - "type": "string" - }, - "stackName": { - "type": "string" - }, - "isStatusChange": { - "type": "boolean" - } - } - }, - "AlertDescopeRequest": { - "required": [ - "customerId", - "scopeChangeCalculation", - "stackName" - ], - "type": "object", - "properties": { - "customerId": { - "type": "string" - }, - "stackName": { - "type": "string" - }, - "statusChangedBy": { - "type": "string" - }, - "scopeChangeCalculation": { - "$ref": "#/components/schemas/ScopeChangeCalculation" - }, - "action": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - } - } - }, - "AlertRule": { - "type": "object", - "properties": { - "alertRuleId": { - "type": "string" - }, - "oldAlertRule": { - "$ref": "#/components/schemas/AlertRuleFields" - }, - "newAlertRule": { - "$ref": "#/components/schemas/AlertRuleFields" - } - } - }, - "AlertRuleFields": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "accountIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "regions": { - "type": "array", - "items": { - "type": "string" - } - }, - "policyIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ScopeChangeCalculation": { - "type": "object", - "properties": { - "alertRules": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertRule" - } - }, - "policyId": { - "type": "string" - }, - "accountId": { - "type": "string" - }, - "resourceIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "subjects": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "AlertStatusChangeRequestWithSearch": { - "required": [ - "dismissalNote", - "reason", - "status" - ], - "type": "object", - "properties": { - "snoozeExpiryTs": { - "type": "integer", - "format": "int64" - }, - "reason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "dismissalNote": { - "type": "string" - }, - "statusChangedBy": { - "type": "string" - }, - "originalSnoozeDuration": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "open", - "dismissed", - "snoozed", - "pending_resolution", - "resolved" - ] - }, - "requestType": { - "type": "string", - "enum": [ - "ALERTRULE_DESCOPE_REQUEST", - "POLICY_DESCOPE_REQUEST", - "ACCOUNT_DESCOPE_REQUEST", - "ALERT_STATUS_CHANGE_REQUEST", - "ALERT_CREATE_REQUEST", - "ALERT_SNOOZE_EXPIRED_REQUEST", - "ALERT_REMEDIATION_REQUEST", - "ALERT_CREATE_AND_DELETE_REQUEST", - "ALERT_DELETE_REQUEST", - "ALERT_UNDELETE_REQUEST", - "ALERT_MIGRATION_REQUEST", - "ALERT_DELETE_BY_RESOURCE_REQUEST", - "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", - "ALERT_HISTORY_MIGRATION_REQUEST", - "ALERT_HARD_DELETE_REQUEST", - "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", - "ALERT_SYNC_REQUEST", - "ALERT_HARD_SYNC_REQUEST", - "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", - "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", - "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", - "ALERT_UPDATE_REQUEST", - "ALERT_DESCOPE_REQUEST", - "ALERT_UPDATE_DECORATION_REQUEST", - "ALERT_DESCOPE_DECORATION_REQUEST", - "ALERT_PENDING_RESOLUTION_REQUEST" - ] - }, - "eventId": { - "type": "string" - }, - "alertsArchiveCntPerJob": { - "type": "integer", - "format": "int64" - }, - "alertsArchiveJobId": { - "type": "integer", - "format": "int64" - }, - "statusChangeRequestTs": { - "type": "integer", - "format": "int64" - }, - "prismaId": { - "type": "integer", - "format": "int64" - }, - "searchRequest": { - "$ref": "#/components/schemas/SearchServiceRequest" - }, - "alertPurgeJob": { - "type": "boolean" - } - } - }, - "ComputeAccessGroupMeta": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "TAG", - "RESOURCE_ID", - "STRING", - "IP_ADDRESS", - "NUMBER", - "RESOURCE_GROUP", - "COMPUTE_ACCESS_GROUP" - ] - }, - "hosts": { - "type": "array", - "items": { - "type": "string" - } - }, - "containers": { - "type": "array", - "items": { - "type": "string" - } - }, - "images": { - "type": "array", - "items": { - "type": "string" - } - }, - "functions": { - "type": "array", - "items": { - "type": "string" - } - }, - "appIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "codeRepos": { - "type": "array", - "items": { - "type": "string" - } - }, - "namespaces": { - "type": "array", - "items": { - "type": "string" - } - }, - "clusters": { - "type": "array", - "items": { - "type": "string" - } - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "JsonNode": { - "type": "object", - "description": "MetaData Filter." - }, - "SearchFilters": { - "type": "object", - "properties": { - "resourceIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "resourceNames": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "timeRange": { - "$ref": "#/components/schemas/TimeRange" - }, - "fieldWithInvalidValue": { - "type": "string" - }, - "alertIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "accountIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "statusChangeReason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "statusChangeReasonToExclude": { - "type": "array", - "items": { - "type": "string" - } - }, - "resourceInternalIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "resourceApiIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "cloudServiceResourceApiIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "assetClassResourceApiIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "cloudTypeIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "regions": { - "type": "array", - "items": { - "type": "string" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SearchTags" - } - }, - "policyIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "policyTypes": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "customerIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "resourceApiIdsToExclude": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "accessibleResourceGroupIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "resourceGroupIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "allRuleCagMeta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ComputeAccessGroupMeta" - } - }, - "computeEnabled": { - "type": "boolean" - }, - "userSelectedAccountFilter": { - "type": "boolean" - }, - "nonOnboardedAccountIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - "description": "Search Filter Conditions." - }, - "SearchServiceRequest": { - "required": [ - "customerId", - "fields", - "filters", - "stackName" - ], - "type": "object", - "properties": { - "customerId": { - "type": "string", - "description": "Customer Id associated to the Alert." - }, - "stackName": { - "type": "string", - "description": "Stack Name associated to the Alert." - }, - "fields": { - "type": "array", - "description": "Field Name for the filter that will be retrieved.", - "items": { - "type": "string", - "description": "Field Name for the filter that will be retrieved." - } - }, - "filters": { - "$ref": "#/components/schemas/SearchFilters" - }, - "metadataFilters": { - "$ref": "#/components/schemas/JsonNode" - }, - "returnCountOnly": { - "type": "boolean" - }, - "sortOrder": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sort" - } - }, - "limit": { - "type": "integer", - "format": "int32" - }, - "searchAfter": { - "type": "array", - "items": { - "type": "object" - } - }, - "numBuckets": { - "type": "integer", - "format": "int32" - }, - "disableTrackTotalHit": { - "type": "boolean", - "description": "Tracks the total hits for a search request" - }, - "skipCustomerIdFilter": { - "type": "boolean", - "description": "Stack level search request, basically skip customerId filter in the ES query" - } - }, - "description": "Search Service Request." - }, - "SearchTags": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Sort": { - "type": "object", - "properties": { - "column": { - "type": "string" - }, - "sortDirection": { - "type": "string", - "enum": [ - "asc", - "desc" - ] - } - }, - "description": "Search Service Column Sort" - }, - "TimeRange": { - "required": [ - "endTime", - "startTime" - ], - "type": "object", - "properties": { - "forField": { - "type": "string" - }, - "startTime": { - "type": "integer", - "format": "int64" - }, - "endTime": { - "type": "integer", - "format": "int64" - } - } - }, - "AlertStatusChangeRequest": { - "required": [ - "dismissalNote", - "reason", - "status" - ], - "type": "object", - "properties": { - "snoozeExpiryTs": { - "type": "integer", - "format": "int64" - }, - "reason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "dismissalNote": { - "type": "string" - }, - "statusChangedBy": { - "type": "string" - }, - "originalSnoozeDuration": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "open", - "dismissed", - "snoozed", - "pending_resolution", - "resolved" - ] - }, - "requestType": { - "type": "string", - "enum": [ - "ALERTRULE_DESCOPE_REQUEST", - "POLICY_DESCOPE_REQUEST", - "ACCOUNT_DESCOPE_REQUEST", - "ALERT_STATUS_CHANGE_REQUEST", - "ALERT_CREATE_REQUEST", - "ALERT_SNOOZE_EXPIRED_REQUEST", - "ALERT_REMEDIATION_REQUEST", - "ALERT_CREATE_AND_DELETE_REQUEST", - "ALERT_DELETE_REQUEST", - "ALERT_UNDELETE_REQUEST", - "ALERT_MIGRATION_REQUEST", - "ALERT_DELETE_BY_RESOURCE_REQUEST", - "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", - "ALERT_HISTORY_MIGRATION_REQUEST", - "ALERT_HARD_DELETE_REQUEST", - "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", - "ALERT_SYNC_REQUEST", - "ALERT_HARD_SYNC_REQUEST", - "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", - "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", - "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", - "ALERT_UPDATE_REQUEST", - "ALERT_DESCOPE_REQUEST", - "ALERT_UPDATE_DECORATION_REQUEST", - "ALERT_DESCOPE_DECORATION_REQUEST", - "ALERT_PENDING_RESOLUTION_REQUEST" - ] - }, - "eventId": { - "type": "string" - }, - "alertsArchiveCntPerJob": { - "type": "integer", - "format": "int64" - }, - "alertsArchiveJobId": { - "type": "integer", - "format": "int64" - }, - "statusChangeRequestTs": { - "type": "integer", - "format": "int64" - }, - "prismaId": { - "type": "integer", - "format": "int64" - } - } - }, - "AlertList": { - "type": "array", - "properties": { - "empty": { - "type": "boolean" - } - }, - "items": { - "$ref": "#/components/schemas/AlertModel" - } - }, - "AlertModel": { - "required": [ - "Account Id.", - "Cloud Type.", - "Metadata change Time Stamp.", - "Policy Type.", - "Policy change Time Stamp.", - "Resource Id.", - "Resource change Time Stamp.", - "Stack Name.", - "clientId", - "verdict" - ], - "type": "object", - "properties": { - "Customer Id.": { - "type": "string", - "example": "'11111'" - }, - "Prisma Id.": { - "type": "integer", - "format": "int64", - "example": 11111123443 - }, - "Stack Name.": { - "type": "string", - "example": "'app2'" - }, - "Account Id.": { - "type": "string", - "example": "'ACC657432'" - }, - "Resource Id.": { - "type": "string", - "example": "'1gs010101'" - }, - "External Resouce Id.Id Provided by the cloud provider": { - "type": "string", - "example": "'1010101'" - }, - "Resource Name.": { - "type": "string", - "example": "'web server'" - }, - "RRN.": { - "type": "string", - "example": "'rrn:aws:storageObject:us-east-2:1234'" - }, - "url.": { - "type": "string", - "example": "'rrn:aws:storageObject:us-east-2:1234:app-qa-logs:/AWSLogs/1234/2020/04/04/1234.log.gz'" - }, - "Resource Api Id.": { - "type": "integer", - "format": "int32" - }, - "Policy Id.": { - "type": "string", - "example": "'222233'" - }, - "Policy Type.": { - "type": "integer", - "format": "int32" - }, - "Cloud Type.": { - "type": "integer", - "format": "int32" - }, - "Region.": { - "type": "string", - "example": "'us-east-2'" - }, - "Policy change Time Stamp.": { - "type": "integer", - "format": "int64" - }, - "Resource change Time Stamp.": { - "type": "integer", - "format": "int64" - }, - "Resource undeleted time Stamp.": { - "type": "integer", - "format": "int64" - }, - "Metadata change Time Stamp.": { - "type": "integer", - "format": "int64" - }, - "Alert Rule TS.": { - "type": "integer", - "format": "int64" - }, - "Resource Deleted TS.": { - "type": "integer", - "format": "int64" - }, - "reason.": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "Tags.": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertTags" - } - }, - "Json Metadata.": { - "$ref": "#/components/schemas/JsonNode" - }, - "Resource Data": { - "$ref": "#/components/schemas/JsonNode" - }, - "Resource Additional Info": { - "$ref": "#/components/schemas/JsonNode" - }, - "additional Info": { - "$ref": "#/components/schemas/JsonNode" - }, - "Time to Alert Info": { - "$ref": "#/components/schemas/JsonNode" - }, - "Alert Rule Ids.": { - "type": "array", - "items": { - "type": "string" - } - }, - "Resolved Alert Rule Ids.": { - "type": "array", - "items": { - "type": "string" - } - }, - "verdict": { - "type": "string", - "description": "Verdict from Config Scanner used for Create Alerts.", - "enum": [ - "PASS", - "FAIL" - ] - }, - "clientId": { - "type": "string", - "description": "client Id." - }, - "Additional Hash.": { - "type": "integer", - "format": "int64", - "example": 553195237 - }, - "allowAutoRemediation": { - "type": "boolean", - "description": "Allow auto remediation." - }, - "attributionSupported": { - "type": "boolean", - "description": "Attribution supported." - }, - "detectMode": { - "type": "boolean" - }, - "resourceInfoUpdated": { - "type": "boolean" - }, - "history": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HistoryModel" - } - }, - "commitContext": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "alertId": { - "type": "string" - } - } - }, - "AlertTags": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "HistoryModel": { - "required": [ - "alertTs", - "status" - ], - "type": "object", - "properties": { - "alertTs": { - "type": "integer", - "format": "int64" - }, - "status": { - "type": "integer", - "format": "int32" - }, - "modifiedBy": { - "type": "string" - }, - "reason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "note": { - "type": "string" - } - } - }, - "AbsoluteTimeRangeConfig": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/TimeRangeConfigModel" - }, - { - "type": "object", - "properties": { - "value": { - "$ref": "#/components/schemas/Time" - } - } - } - ] - }, - "AlertFilterModel": { - "required": [ - "timeZone" - ], - "type": "object", - "properties": { - "detailed": { - "type": "boolean" - }, - "webClient": { - "type": "boolean" - }, - "withAlertRuleInfo": { - "type": "boolean" - }, - "customerId": { - "type": "string" - }, - "prismaId": { - "type": "integer", - "format": "int64" - }, - "stackName": { - "type": "string" - }, - "timeZone": { - "type": "string" - }, - "userRoleType": { - "type": "string", - "enum": [ - "System Admin", - "Account Group Admin", - "Account Group Read Only", - "SSO Admin", - "Cloud Provisioning Admin", - "Tenant Provisioning Admin", - "Prisma Service User", - "Account and Cloud Provisioning Admin", - "Build and Deploy Security", - "Build and Deploy Security CI", - "Compute Admin", - "NetSecOps", - "NetSecOps Read Only", - "Compute Account Admin", - "Developer", - "Compute Account Group Read Only", - "Non System Admin" - ] - }, - "lastLoginTime": { - "type": "integer", - "format": "int64" - }, - "accessibleAccountIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "accessibleResourceGroupIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "accessiblePolicyIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "filters": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UIFilter" - } - }, - "restrictAlertDismissal": { - "type": "boolean" - }, - "timeRange": { - "oneOf": [ - { - "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/FromNowTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/RelativeTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/ToNowTimeRangeConfig" - } - ] - }, - "pageToken": { - "type": "string" - }, - "groupBy": { - "type": "array", - "items": { - "type": "string" - } - }, - "searchAfter": { - "type": "array", - "items": { - "type": "object" - } - }, - "afterKey": { - "type": "object", - "additionalProperties": { - "type": "object" - } - }, - "sortBy": { - "type": "array", - "items": { - "type": "string" - } - }, - "fields": { - "type": "array", - "items": { - "type": "string" - } - }, - "numTimeBuckets": { - "type": "integer", - "format": "int32" - }, - "subAggregationField": { - "type": "string" - }, - "timeRangeType": { - "type": "string", - "enum": [ - "ALERT_OPENED", - "ALERT_UPDATED", - "ALERT_STATUS_UPDATED" - ] - }, - "limit": { - "type": "integer", - "format": "int32" - } - } - }, - "FromNowTimeRangeConfig": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/TimeRangeConfigModel" - }, - { - "type": "object", - "properties": { - "value": { - "type": "string", - "enum": [ - "minute", - "hour", - "day", - "week", - "month", - "year", - "epoch", - "login" - ] - } - } - } - ] - }, - "RelativeTimeDuration": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "minute", - "hour", - "day", - "week", - "month", - "year", - "epoch", - "login" - ] - }, - "amount": { - "type": "integer", - "format": "int32" - } - } - }, - "RelativeTimeRangeConfig": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/TimeRangeConfigModel" - }, - { - "type": "object", - "properties": { - "value": { - "$ref": "#/components/schemas/RelativeTimeDuration" - }, - "relativeTimeType": { - "type": "string", - "enum": [ - "BACKWARD", - "FORWARD" - ] - } - } - } - ] - }, - "Time": { - "type": "object", - "properties": { - "startTime": { - "type": "integer", - "format": "int64" - }, - "endTime": { - "type": "integer", - "format": "int64" - } - } - }, - "TimeRangeConfigModel": { - "required": [ - "type" - ], - "type": "object", - "properties": { - "Time type": { - "type": "string", - "enum": [ - "to_now,absolute,relative,from_now" - ] - }, - "Time value": { - "type": "object", - "enum": [ - "epoch" - ] - }, - "Field for range": { - "type": "string", - "enum": [ - "lastOpenStateTs", - "lastStatusChangeTs", - "lastOpenStateTs" - ] - }, - "type": { - "type": "string" - } - }, - "description": "Model for TimeRangeConfig", - "discriminator": { - "propertyName": "type" - } - }, - "ToNowTimeRangeConfig": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/TimeRangeConfigModel" - }, - { - "type": "object", - "properties": { - "value": { - "type": "string", - "enum": [ - "minute", - "hour", - "day", - "week", - "month", - "year", - "epoch", - "login" - ] - } - } - } - ] - }, - "UIFilter": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "operator": { - "type": "string" - } - } - }, - "ComplianceMetadata": { - "type": "object", - "properties": { - "standardName": { - "type": "string" - }, - "standardDescription": { - "type": "string" - }, - "requirementId": { - "type": "string" - }, - "requirementName": { - "type": "string" - }, - "requirementDescription": { - "type": "string" - }, - "sectionId": { - "type": "string" - }, - "sectionDescription": { - "type": "string" - }, - "policyId": { - "type": "string" - }, - "complianceId": { - "type": "string" - }, - "sectionLabel": { - "type": "string" - }, - "sectionViewOrder": { - "type": "integer", - "format": "int32" - }, - "requirementViewOrder": { - "type": "integer", - "format": "int32" - }, - "systemDefault": { - "type": "boolean" - }, - "policyName": { - "type": "string" - }, - "customAssigned": { - "type": "boolean" - } - }, - "description": "Compliance Standards" - }, - "DecoratedAlert": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "status": { - "type": "string" - }, - "reason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "firstSeen": { - "type": "integer", - "format": "int64" - }, - "lastSeen": { - "type": "integer", - "format": "int64" - }, - "alertTime": { - "type": "integer", - "format": "int64" - }, - "lastUpdated": { - "type": "integer", - "format": "int64" - }, - "policyId": { - "type": "string" - }, - "policy": { - "$ref": "#/components/schemas/PolicyDetails" - }, - "resource": { - "$ref": "#/components/schemas/ResourceDetails" - }, - "metadata": { - "$ref": "#/components/schemas/JsonNode" - }, - "dismissedBy": { - "type": "string" - }, - "dismissalNote": { - "type": "string" - }, - "dismissalUntilTs": { - "type": "integer", - "format": "int64" - }, - "dismissalDuration": { - "type": "string" - }, - "history": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DecoratedHistory" - } - }, - "autoActionLog": { - "type": "string" - }, - "alertAdditionalInfo": { - "$ref": "#/components/schemas/JsonNode" - } - } - }, - "DecoratedHistory": { - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "open", - "dismissed", - "snoozed", - "pending_resolution", - "resolved" - ] - }, - "modifiedBy": { - "type": "string" - }, - "modifiedOn": { - "type": "integer", - "format": "int64" - }, - "reason": { - "type": "string" - } - } - }, - "PagedAlertsDecoratedAlert": { - "type": "object", - "properties": { - "totalRows": { - "type": "integer", - "format": "int64" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DecoratedAlert" - } - }, - "nextPageToken": { - "type": "string" - }, - "sortAllowedColumns": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PolicyDetails": { - "type": "object", - "properties": { - "policyId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "recommendation": { - "type": "string" - }, - "complianceMetadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ComplianceMetadata" - } - }, - "labels": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "deleted": { - "type": "boolean" - }, - "policyType": { - "type": "string", - "enum": [ - "config", - "network", - "audit_event", - "anomaly", - "data", - "iam", - "workload_vulnerability", - "workload_incident", - "api", - "attack_path" - ] - }, - "systemDefault": { - "type": "boolean" - }, - "remediable": { - "type": "boolean" - }, - "severity": { - "type": "string", - "enum": [ - "informational", - "low", - "medium", - "high", - "critical" - ] - }, - "remediation": { - "$ref": "#/components/schemas/Remediation" - }, - "lastModifiedOn": { - "type": "integer", - "format": "int64" - }, - "lastModifiedBy": { - "type": "string" - }, - "isHyperionPolicy": { - "type": "boolean" - } - } - }, - "Remediation": { - "type": "object", - "properties": { - "templateType": { - "type": "string", - "enum": [ - "StaticTemplate", - "DynamicTemplate", - "AwsSecurityGroupTemplate", - "AzureSecurityGroupTemplate", - "Data" - ] - }, - "description": { - "type": "string" - }, - "impact": { - "type": "string" - }, - "cliScriptTemplate": { - "type": "string" - }, - "cliScriptJsonSchema": { - "type": "object", - "additionalProperties": { - "type": "object" - } - }, - "actions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RemediationAction" - } - }, - "dataRemediation": { - "type": "string", - "enum": [ - "reset_exposure", - "delete_file" - ] - } - } - }, - "RemediationAction": { - "type": "object", - "properties": { - "operation": { - "type": "string" - }, - "payload": { - "type": "string" - } - } - }, - "ResourceDetails": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "internalResourceId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "account": { - "type": "string" - }, - "accountId": { - "type": "string" - }, - "region": { - "type": "string" - }, - "regionId": { - "type": "string" - }, - "resourceTs": { - "type": "integer", - "format": "int64" - }, - "data": { - "$ref": "#/components/schemas/JsonNode" - }, - "cloudType": { - "type": "string", - "enum": [ - "all", - "aws", - "azure", - "gcp", - "alibaba_cloud", - "oci", - "other", - "ibm" - ] - }, - "resourceApiName": { - "type": "string" - }, - "cloudServiceName": { - "type": "string" - }, - "resourceType": { - "type": "string" - }, - "resourceTags": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "cloudAccountGroups": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "rrn": { - "type": "string" - }, - "url": { - "type": "string" - }, - "additionalInfo": { - "$ref": "#/components/schemas/JsonNode" - }, - "cloudAccountOwners": { - "type": "array", - "items": { - "type": "string" - } - }, - "cloudAccountAncestors": { - "type": "array", - "items": { - "type": "string" - } - }, - "unifiedAssetId": { - "type": "string" - }, - "resourceConfigJsonAvailable": { - "type": "boolean" - }, - "resourceDetailsAvailable": { - "type": "boolean" - } - } - }, - "PolicyPageResponse": { - "type": "object", - "properties": { - "policies": { - "type": "array", - "description": "List of Policies", - "items": { - "$ref": "#/components/schemas/PolicyVO" - } - }, - "nextPageToken": { - "type": "string", - "description": "token to fetch the next page" - } - } - }, - "PolicyVO": { - "type": "object", - "properties": { - "alertCount": { - "type": "integer", - "description": "alert count", - "format": "int64" - }, - "policyId": { - "type": "string", - "description": "Policy ID" - }, - "policyName": { - "type": "string", - "description": "Policy Name" - }, - "policyType": { - "type": "string", - "description": "Policy Type" - }, - "severity": { - "type": "string", - "description": "Policy Severity", - "enum": [ - "informational", - "low", - "medium", - "high", - "critical" - ] - }, - "policyLabels": { - "uniqueItems": true, - "type": "array", - "description": "Policy Labels", - "items": { - "type": "string", - "description": "Policy Labels" - } - }, - "complianceMetadata": { - "type": "array", - "description": "Compliance Standards", - "items": { - "$ref": "#/components/schemas/ComplianceMetadata" - } - }, - "resourceType": { - "type": "string", - "description": "Resource Type" - }, - "remediable": { - "type": "boolean", - "description": "Remediable" - }, - "cloudType": { - "type": "string", - "description": "Cloud Type", - "enum": [ - "all", - "aws", - "azure", - "gcp", - "alibaba_cloud", - "oci", - "other", - "ibm" - ] - }, - "mittreAttacks": { - "type": "array", - "description": "Mittre Attacks", - "items": { - "type": "string", - "description": "Mittre Attacks" - } - }, - "findingTypes": { - "type": "array", - "description": "Finding types", - "items": { - "type": "string", - "description": "Finding types" - } - }, - "restrictAlertDismissal": { - "type": "boolean", - "description": "Restrict alert dismissal" - } - }, - "description": "Policy data with alert count" - }, - "ErrorDetails": { - "required": [ - "message", - "name" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "SpringErrorResponse": { - "required": [ - "error", - "message", - "path", - "status", - "timestamp" - ], - "type": "object", - "properties": { - "timestamp": { - "type": "string" - }, - "status": { - "type": "integer", - "format": "int32" - }, - "error": { - "type": "string" - }, - "errorDetails": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ErrorDetails" - } - }, - "message": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "PolicyFilter": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "description": "Filter parameters", - "items": { - "$ref": "#/components/schemas/UIFilter" - } - }, - "sortBy": { - "type": "array", - "description": "Array of sort properties. \n\nAppend **:asc** or **:desc** to the key to sort by ascending or descending order, respectively. Example: **id:asc**.", - "items": { - "type": "string", - "description": "Array of sort properties. \n\nAppend **:asc** or **:desc** to the key to sort by ascending or descending order, respectively. Example:**id:asc**." - } - }, - "groupBy": { - "type": "string", - "description": "Group by field.", - "enum": [ - "policy.type", - "policy.severity", - "policy.label", - "compliance.standard" - ] - }, - "size": { - "type": "integer", - "description": "Maximum number of items to return per page when data is paginated. The value cannot exceed 500 and default value is 50.", - "format": "int32" - }, - "nextPageToken": { - "type": "string", - "description": "The nextPageToken value from the previous response object, which is used to get the next page of data. " - }, - "timeRange": { - "oneOf": [ - { - "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/FromNowTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/RelativeTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/ToNowTimeRangeConfig" - } - ] - } - } - }, - "GroupPageResponse": { - "type": "object", - "properties": { - "groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GroupsResponse" - } - }, - "groupBy": { - "type": "string" - }, - "nextPageToken": { - "type": "string" - } - } - }, - "GroupsResponse": { - "type": "object", - "properties": { - "group": { - "type": "string", - "description": "group by field, for example : policy type, compliance standard etc" - }, - "totalAlerts": { - "type": "integer", - "description": "sum of all alert count for all policies in the group", - "format": "int64" - }, - "totalPolicies": { - "type": "integer", - "description": "number of policies in the group", - "format": "int32" - }, - "criticalAlertCount": { - "type": "integer", - "description": "alert count for policies with critical severity in the group", - "format": "int64" - }, - "highAlertCount": { - "type": "integer", - "description": "alert count for policies with high severity in the group", - "format": "int64" - }, - "mediumAlertCount": { - "type": "integer", - "description": "alert count for policies with medium severity in the group", - "format": "int64" - }, - "lowAlertCount": { - "type": "integer", - "description": "alert count for policies with low severity in the group", - "format": "int64" - }, - "informationalAlertCount": { - "type": "integer", - "description": "alert count for policies with informational severity in the group", - "format": "int64" - }, - "buildPolicyCount": { - "type": "integer", - "description": "number of build policy", - "format": "int64" - }, - "runPolicyCount": { - "type": "integer", - "description": "number of run policy", - "format": "int64" - }, - "findingTypes": { - "uniqueItems": true, - "type": "array", - "description": "List of finding types", - "items": { - "type": "string", - "description": "List of finding types" - } - }, - "cloudTypes": { - "uniqueItems": true, - "type": "array", - "description": "List of cloud types", - "items": { - "type": "string", - "description": "List of cloud types", - "enum": [ - "all", - "aws", - "azure", - "gcp", - "alibaba_cloud", - "oci", - "other", - "ibm" - ] - } - }, - "policyIds": { - "uniqueItems": true, - "type": "array", - "description": "List of policy ids", - "items": { - "type": "string", - "description": "List of policy ids" - } - } - }, - "description": "List of groups for selected group by field" - }, - "AlertSyncResponse": { - "type": "object", - "properties": { - "inValidAlerts": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "AlertSearchKey": { - "required": [ - "Account Id.", - "Stack Name." - ], - "type": "object", - "properties": { - "Stack Name.": { - "type": "string", - "example": "'app2'" - }, - "Account Id.": { - "type": "string", - "example": "'ACC657432'" - }, - "External Resouce Id.Id Provided by the cloud provider": { - "type": "string", - "example": "'1010101'" - }, - "Policy Id.": { - "type": "string", - "example": "'222233'" - } - } - }, - "AlertStatusChangeV2WithFilter": { - "required": [ - "dismissFilterType" - ], - "type": "object", - "properties": { - "policies": { - "type": "array", - "items": { - "type": "string" - } - }, - "alerts": { - "type": "array", - "items": { - "type": "string" - } - }, - "dismissalNote": { - "type": "string" - }, - "statusChangedBy": { - "type": "string" - }, - "dismissalTimeRange": { - "oneOf": [ - { - "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/FromNowTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/RelativeTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/ToNowTimeRangeConfig" - } - ] - }, - "filter": { - "$ref": "#/components/schemas/AlertFilterModel" - }, - "isReopen": { - "type": "boolean" - }, - "dismissFilterType": { - "type": "string", - "enum": [ - "POLICY_IDS", - "POLICY_AND_GENERIC_FILTERS", - "ALERT_IDS", - "GENERIC_FILTER", - "ALERT_KEYS" - ] - }, - "alertSearchKeys": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertSearchKey" - } - }, - "userRoleId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "prismaId": { - "type": "integer", - "format": "int64" - }, - "reopen": { - "type": "boolean" - } - } - }, - "AggregateServiceCountResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - } - } - }, - "TopNPolicy": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "policy.name": { - "type": "string" - }, - "policy.id": { - "type": "string" - } - } - }, - "AlertsReportRequest": { - "required": [ - "customerId", - "groupBy", - "stackName", - "timeRange" - ], - "type": "object", - "properties": { - "customerId": { - "type": "string" - }, - "stackName": { - "type": "string" - }, - "groupBy": { - "type": "array", - "items": { - "type": "string" - } - }, - "timeRange": { - "oneOf": [ - { - "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/FromNowTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/RelativeTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/ToNowTimeRangeConfig" - } - ] - }, - "afterKey": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - }, - "AggregateReportResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "customerId": { - "type": "string" - }, - "stackName": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "policyId": { - "type": "string" - }, - "policyName": { - "type": "string" - }, - "policyType": { - "type": "string" - }, - "alertStatus": { - "type": "string" - }, - "statusChangeReason": { - "type": "string" - } - } - }, - "AlertsReportResponse": { - "type": "object", - "properties": { - "aggregateReportResponseList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AggregateReportResponse" - } - }, - "afterKey": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - }, - "AlertReconcileStatusWithFilter": { - "required": [ - "statusChangeReason" - ], - "type": "object", - "properties": { - "policies": { - "type": "array", - "items": { - "type": "string" - } - }, - "alerts": { - "type": "array", - "items": { - "type": "string" - } - }, - "dismissalNote": { - "type": "string" - }, - "statusChangedBy": { - "type": "string" - }, - "dismissalTimeRange": { - "oneOf": [ - { - "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/FromNowTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/RelativeTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/ToNowTimeRangeConfig" - } - ] - }, - "filter": { - "$ref": "#/components/schemas/AlertFilterModel" - }, - "isReopen": { - "type": "boolean" - }, - "statusChangeReason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "reopen": { - "type": "boolean" - } - } - }, - "AlertStatusModel": { - "required": [ - "Stack Name." - ], - "type": "object", - "properties": { - "Customer Id.": { - "type": "string", - "example": "'11111'" - }, - "Stack Name.": { - "type": "string", - "example": "'app2'" - } - } - }, - "BulkSearchAlertKeyByStatus": { - "type": "object", - "properties": { - "filterStatuses": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - }, - "alerts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertModel" - } - }, - "detailed": { - "type": "boolean" - } - } - }, - "AlertStatusChangeWithFilter": { - "type": "object", - "properties": { - "policies": { - "type": "array", - "items": { - "type": "string" - } - }, - "alerts": { - "type": "array", - "items": { - "type": "string" - } - }, - "dismissalNote": { - "type": "string" - }, - "statusChangedBy": { - "type": "string" - }, - "dismissalTimeRange": { - "oneOf": [ - { - "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/FromNowTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/RelativeTimeRangeConfig" - }, - { - "$ref": "#/components/schemas/ToNowTimeRangeConfig" - } - ] - }, - "filter": { - "$ref": "#/components/schemas/AlertFilterModel" - }, - "isReopen": { - "type": "boolean" - }, - "reopen": { - "type": "boolean" - } - } - }, - "AlertAggregateResult": { - "type": "object", - "properties": { - "policyId": { - "type": "string" - }, - "alertCount": { - "type": "integer", - "format": "int64" - }, - "saveSearchId": { - "type": "string" - }, - "policy": { - "$ref": "#/components/schemas/Policy" - }, - "classification": { - "type": "string" - }, - "objectExposure": { - "type": "string" - }, - "alertStatus": { - "type": "string" - }, - "policyType": { - "type": "string" - }, - "malwarev2": { - "type": "string" - }, - "resourceId": { - "type": "string" - }, - "ems": { - "$ref": "#/components/schemas/ExposureMalwareSeverity" - }, - "ecs": { - "$ref": "#/components/schemas/ExposureClassificationSeverity" - } - } - }, - "ExposureClassificationSeverity": { - "type": "object", - "properties": { - "severity": { - "type": "string", - "enum": [ - "informational", - "low", - "medium", - "high", - "critical" - ] - }, - "classification": { - "type": "string" - }, - "objectExposure": { - "type": "string" - } - } - }, - "ExposureMalwareSeverity": { - "type": "object", - "properties": { - "severity": { - "type": "string", - "enum": [ - "informational", - "low", - "medium", - "high", - "critical" - ] - }, - "malwarev2": { - "type": "string" - }, - "objectExposure": { - "type": "string" - } - } - }, - "Policy": { - "type": "object", - "properties": { - "policyId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "policyType": { - "type": "string", - "enum": [ - "config", - "network", - "audit_event", - "anomaly", - "data", - "iam", - "workload_vulnerability", - "workload_incident", - "api", - "attack_path" - ] - }, - "policySubTypes": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "run", - "build", - "run_and_build", - "audit", - "data_classification", - "dns", - "malware", - "network_event", - "network", - "ueba", - "permissions", - "network_config", - "identity", - "sensitive_data_exposure", - "internet_exposure", - "injections", - "vulnerability_scanning", - "shellshock", - "known_bots", - "unknown_bots", - "virtual_patches", - "misconfig", - "misconfig_and_event", - "event" - ] - } - }, - "category": { - "type": "string", - "enum": [ - "risk", - "incident" - ] - }, - "systemDefault": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "severity": { - "type": "string", - "enum": [ - "informational", - "low", - "medium", - "high", - "critical" - ] - }, - "recommendation": { - "type": "string" - }, - "cloudType": { - "type": "string", - "enum": [ - "all", - "aws", - "azure", - "gcp", - "alibaba_cloud", - "oci", - "other", - "ibm" - ] - }, - "complianceMetadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ComplianceMetadata" - } - }, - "remediation": { - "$ref": "#/components/schemas/Remediation" - }, - "labels": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "enabled": { - "type": "boolean" - }, - "ownerId": { - "type": "integer", - "format": "int32" - }, - "createdOn": { - "type": "integer", - "format": "int64" - }, - "createdBy": { - "type": "string" - }, - "lastModifiedOn": { - "type": "integer", - "format": "int64" - }, - "lastModifiedBy": { - "type": "string" - }, - "ruleLastModifiedOn": { - "type": "integer", - "format": "int64" - }, - "overridden": { - "type": "boolean" - }, - "deleted": { - "type": "boolean" - }, - "restrictAlertDismissal": { - "type": "boolean" - }, - "saveSearchId": { - "type": "string" - }, - "findingTypes": { - "type": "array", - "items": { - "type": "string" - } - }, - "mitreTactics": { - "type": "array", - "items": { - "type": "string" - } - }, - "majorApiName": { - "type": "string" - }, - "isRemediable": { - "type": "boolean", - "readOnly": true - } - } - }, - "AlertDeleteRequest": { - "required": [ - "filter" - ], - "type": "object", - "properties": { - "filter": { - "$ref": "#/components/schemas/AlertFilterModel" - }, - "deleteRequestedBy": { - "type": "string" - }, - "deleteRequest": { - "type": "boolean" - } - } - }, - "AlertTimelineCountResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "startTime": { - "type": "integer", - "format": "int64" - }, - "endTime": { - "type": "integer", - "format": "int64" - } - } - }, - "AlertAttribution": { - "type": "object", - "properties": { - "attributionEventList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AttributionEvent" - } - }, - "resourceCreatedOn": { - "type": "integer", - "format": "int64" - }, - "resourceCreatedBy": { - "type": "string" - } - } - }, - "AlertDetails": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "status": { - "type": "string" - }, - "accountId": { - "type": "string" - }, - "firstSeen": { - "type": "integer", - "format": "int64" - }, - "lastSeen": { - "type": "integer", - "format": "int64" - }, - "alertTime": { - "type": "integer", - "format": "int64" - }, - "dismissedBy": { - "type": "string" - }, - "dismissalNote": { - "type": "string" - }, - "dismissalUntilTs": { - "type": "integer", - "format": "int64" - }, - "dismissalDuration": { - "type": "string" - }, - "reason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "policy": { - "$ref": "#/components/schemas/PolicyDetails" - }, - "alertRules": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertRuleConfig" - } - }, - "resource": { - "$ref": "#/components/schemas/ResourceDetails" - }, - "metadata": { - "$ref": "#/components/schemas/JsonNode" - }, - "history": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertHistoryDetails" - } - }, - "alertAttribution": { - "$ref": "#/components/schemas/AlertAttribution" - }, - "autoActionLog": { - "type": "string" - }, - "appMetadata": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "description": "Alert details Model for L3 page" - }, - "AlertHistoryDetails": { - "type": "object", - "properties": { - "status": { - "type": "string" - }, - "modifiedBy": { - "type": "string" - }, - "modifiedOn": { - "type": "integer", - "format": "int64" - }, - "reason": { - "type": "string", - "enum": [ - "RESOURCE_DELETED", - "RESOURCE_UPDATED", - "POLICY_UNAVAILABLE", - "POLICY_UPDATED", - "POLICY_DISABLED", - "POLICY_DELETED", - "ALERT_RULE_UPDATED", - "ALERT_RULE_DISABLED", - "ALERT_RULE_DELETED", - "ACCOUNT_GROUP_UPDATED", - "ACCOUNT_GROUP_DELETED", - "TENANT_DELETED", - "ANOMALY_CONFIG_CHANGED", - "REMEDIATED", - "USER_DISMISSED", - "USER_REOPENED", - "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", - "NEW_ALERT", - "RESOURCE_LIST_DISMISSED", - "RESOURCE_LIST_SNOOZED", - "EXISTING_ALERT_RESOURCE_UPDATED", - "RESOURCE_POLICY_RESCOPED", - "NETWORK_DISMISSED_AUTO_REOPEN", - "SNOOZED_AUTO_REOPEN", - "RESOURCE_ADDED", - "POLICY_ENABLED", - "ACCOUNT_ENABLED", - "ACCOUNT_DISABLED", - "ACCOUNT_DELETED", - "ACCOUNT_ADDED", - "ALERT_RULE_ADDED", - "ALERT_RULE_UPDATED_DESCOPE", - "ALERT_RULE_UPDATED_UPSCOPE", - "MDC_UNDELETED", - "MDC_DELETE", - "ALERT_REMEDIATED", - "SNOOZE_EXPIRED", - "SCHEDULED", - "AUTO_REMEDIATED", - "MANUALLY_REMEDIATED" - ] - }, - "note": { - "type": "string" - } - } - }, - "AlertRuleConfig": { - "type": "object", - "properties": { - "policyScanConfigId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "customerId": { - "type": "integer", - "format": "int32" - }, - "enabled": { - "type": "boolean" - }, - "scanAll": { - "type": "boolean" - }, - "policies": { - "type": "array", - "items": { - "type": "string" - } - }, - "policyLabels": { - "type": "array", - "items": { - "type": "string" - } - }, - "excludedPolicies": { - "type": "array", - "items": { - "type": "string" - } - }, - "target": { - "$ref": "#/components/schemas/TargetFilter" - }, - "createdOn": { - "type": "integer", - "format": "int64" - }, - "createdBy": { - "type": "string" - }, - "lastModifiedOn": { - "type": "integer", - "format": "int64" - }, - "lastModifiedBy": { - "type": "string" - }, - "systemDefault": { - "type": "boolean" - }, - "firstScanCompletedAccounts": { - "type": "array", - "items": { - "type": "string" - } - }, - "deleted": { - "type": "boolean" - }, - "allowAutoRemediate": { - "type": "boolean" - }, - "delayNotificationMs": { - "type": "integer", - "format": "int64" - }, - "alertAssociationTime": { - "type": "integer", - "format": "int64" - }, - "alertRuleNotificationConfig": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertRuleNotificationConfigModel" - } - }, - "notifyOnOpen": { - "type": "boolean" - }, - "notifyOnSnoozed": { - "type": "boolean" - }, - "notifyOnDismissed": { - "type": "boolean" - }, - "notifyOnResolved": { - "type": "boolean" - } - } - }, - "AlertRuleNotificationConfigModel": { - "type": "object", - "properties": { - "Alert rule notification config ID": { - "type": "string" - }, - "frequency": { - "type": "string", - "enum": [ - "as_it_happens, daily, weekly, monthly" - ] - }, - "Scan enabled": { - "type": "boolean" - }, - "List of unique email addresses to notify": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "Provide csv detailed report": { - "type": "boolean", - "description": "default false" - }, - "Compress detailed report": { - "type": "boolean" - }, - "Include remediation in detailed report": { - "type": "boolean" - }, - "Last Updated": { - "type": "integer", - "format": "int64" - }, - "Time of last notification in milliseconds": { - "type": "integer", - "format": "int64" - }, - "type": { - "type": "string" - }, - "templateId": { - "type": "string" - }, - "rruleSchedule": { - "type": "string" - } - }, - "description": "Model for Alert Rule Notification Config" - }, - "AttributionEvent": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "event": { - "type": "string" - }, - "event_ts": { - "type": "integer", - "format": "int64" - } - } - }, - "ResourceListsCollection": { - "type": "object", - "properties": { - "computeAccessGroups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ComputeAccessGroupMeta" - } - }, - "computeAccessGroupIds": { - "type": "array", - "writeOnly": true, - "items": { - "type": "string" - } - } - } - }, - "TargetFilter": { - "type": "object", - "properties": { - "accountGroups": { - "type": "array", - "items": { - "type": "string" - } - }, - "excludedAccounts": { - "type": "array", - "items": { - "type": "string" - } - }, - "regions": { - "type": "array", - "items": { - "type": "string" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetTag" - } - }, - "includedResourceLists": { - "$ref": "#/components/schemas/ResourceListsCollection" - }, - "accountIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "TargetTag": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ResourceIdAggregateResult": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "resource.id": { - "type": "string" - } - } - }, - "PolicyTypeAggregateResult": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "policyType": { - "type": "string" - } - } - }, - "AlertOverTimeAggregateResult": { - "type": "object", - "properties": { - "startTimestamp": { - "type": "integer", - "format": "int64" - }, - "endTimestamp": { - "type": "integer", - "format": "int64" - }, - "interval": { - "type": "string" - }, - "aggregations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AlertAggregateResult" - } - } - } - }, - "PagedAlertsResourceAndTimestampsByPolicyResponse": { - "type": "object", - "properties": { - "totalRows": { - "type": "integer", - "format": "int64" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ResourceAndTimestampsByPolicyResponse" - } - }, - "nextPageToken": { - "type": "string" - }, - "sortAllowedColumns": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ResourceAndTimestampsByPolicyResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "policyId": { - "type": "string" - }, - "firstSeen": { - "type": "integer", - "format": "int64" - }, - "lastSeen": { - "type": "integer", - "format": "int64" - }, - "resourceIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "policy": { - "$ref": "#/components/schemas/Policy" - } - } - }, - "SeverityAggregateResult": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "policy.severity": { - "type": "string" - } - } - }, - "PolicyIdAggregateResult": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "policy.id": { - "type": "string" - } - } - }, - "AggregateByECSResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "malwarev2": { - "type": "string" - }, - "policy.severity": { - "type": "string" - }, - "object.classification": { - "type": "string" - }, - "object.exposure": { - "type": "string" - } - } - }, - "AlertStatusAggregateResult": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "alertStatus": { - "type": "string" - } - } - }, - "OnDemandNotificationConfig": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "clientId": { - "type": "string" - }, - "generatorType": { - "type": "string" - }, - "integrationType": { - "type": "string" - }, - "templateId": { - "type": "string" - }, - "recipients": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "OnDemandNotificationConfigRequest": { - "type": "object", - "properties": { - "prismaId": { - "type": "integer", - "format": "int64" - }, - "alertId": { - "type": "string" - }, - "onDemandNotificationConfig": { - "$ref": "#/components/schemas/OnDemandNotificationConfig" - } - } - }, - "BridgeCrewDecorationRequest": { - "type": "object", - "properties": { - "customerId": { - "type": "string" - }, - "prismaId": { - "type": "integer", - "format": "int64" - }, - "stackName": { - "type": "string" - }, - "accountId": { - "type": "string" - }, - "policyId": { - "type": "string" - }, - "policyType": { - "type": "integer", - "format": "int32" - }, - "resourceApiId": { - "type": "integer", - "format": "int32" - }, - "cloudTypeId": { - "type": "integer", - "format": "int32" - }, - "region": { - "type": "string" - }, - "externalResourceId": { - "type": "string" - }, - "additionalMetadata": { - "$ref": "#/components/schemas/JsonNode" - }, - "decorationRequestType": { - "type": "string", - "enum": [ - "ALERTRULE_DESCOPE_REQUEST", - "POLICY_DESCOPE_REQUEST", - "ACCOUNT_DESCOPE_REQUEST", - "ALERT_STATUS_CHANGE_REQUEST", - "ALERT_CREATE_REQUEST", - "ALERT_SNOOZE_EXPIRED_REQUEST", - "ALERT_REMEDIATION_REQUEST", - "ALERT_CREATE_AND_DELETE_REQUEST", - "ALERT_DELETE_REQUEST", - "ALERT_UNDELETE_REQUEST", - "ALERT_MIGRATION_REQUEST", - "ALERT_DELETE_BY_RESOURCE_REQUEST", - "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", - "ALERT_HISTORY_MIGRATION_REQUEST", - "ALERT_HARD_DELETE_REQUEST", - "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", - "ALERT_SYNC_REQUEST", - "ALERT_HARD_SYNC_REQUEST", - "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", - "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", - "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", - "ALERT_UPDATE_REQUEST", - "ALERT_DESCOPE_REQUEST", - "ALERT_UPDATE_DECORATION_REQUEST", - "ALERT_DESCOPE_DECORATION_REQUEST", - "ALERT_PENDING_RESOLUTION_REQUEST" - ] - } - } - }, - "AlertEvidenceGraph": { - "type": "object", - "properties": { - "nodes": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/components/schemas/AssetNode" - }, - { - "$ref": "#/components/schemas/FindingNode" - }, - { - "$ref": "#/components/schemas/VulnerabilityNode" - } - ] - } - }, - "edges": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GraphEdge" - } - }, - "add": { - "writeOnly": true, - "oneOf": [ - { - "$ref": "#/components/schemas/AssetNode" - }, - { - "$ref": "#/components/schemas/FindingNode" - }, - { - "$ref": "#/components/schemas/VulnerabilityNode" - } - ] - } - }, - "description": "The resource specific graph" - }, - "AssetGraphs": { - "required": [ - "graphs" - ], - "type": "object", - "properties": { - "graphs": { - "type": "array", - "description": "The list of graphs representing a primary asset and its associations.", - "items": { - "$ref": "#/components/schemas/GraphAlertEvidenceGraph" - } - }, - "nextPageToken": { - "type": "string", - "description": "The next page token" - } - } - }, - "AssetNode": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/Node" - }, - { - "type": "object", - "properties": { - "metadata": { - "$ref": "#/components/schemas/AssetNodeMetadata" - } - } - } - ] - }, - "AssetNodeMetadata": { - "type": "object", - "properties": { - "lastModifiedAt": { - "type": "integer", - "description": "Last modified time for the asset", - "format": "int64" - }, - "externalAssetId": { - "type": "string", - "description": "ExternalId for asset" - }, - "assetApiId": { - "type": "integer", - "description": "ExternalId for asset", - "format": "int32" - }, - "accountId": { - "type": "string" - } - }, - "description": "Primary Asset Node Metadata" - }, - "CloudNetworkGraph": { - "type": "object", - "properties": { - "cloudGraphs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/CloudNetworkGraphResponse" - }, - "description": "The cloud network graphs" - }, - "errors": { - "type": "array", - "description": "The error message for cloud network graph.", - "items": { - "type": "string", - "description": "The error message for cloud network graph." - } - } - }, - "description": "Represents the associated network graph for this finding" - }, - "CloudNetworkGraphResponse": { - "type": "object", - "properties": { - "nodes": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/NodeDataType" - }, - "description": "The nodes associated with this network graph" - }, - "paths": { - "type": "array", - "description": "The associated paths in the network graph", - "items": { - "type": "array", - "description": "The associated paths in the network graph", - "items": { - "$ref": "#/components/schemas/Path" - } - } - } - }, - "description": "The cloud network graphs" - }, - "CloudNetworkNode": { - "required": [ - "cloudType", - "type", - "unifiedAssetID" - ], - "type": "object", - "properties": { - "unifiedAssetID": { - "type": "string", - "description": "Prisma Cloud Unified Asset Identifier" - }, - "nativeID": { - "type": "string", - "description": "The native ID of the node" - }, - "name": { - "type": "string", - "description": "Name of the object" - }, - "cloudType": { - "type": "string", - "description": "Cloud type of the entity" - }, - "type": { - "type": "string", - "description": "Type of the endpoint" - }, - "subType": { - "type": "string", - "description": "Asset sub-type information" - }, - "rrn": { - "type": "string" - }, - "id": { - "type": "string" - }, - "APIID": { - "type": "integer", - "description": "Asset APIID", - "format": "int32" - } - }, - "description": "Represents a network node" - }, - "EdgeMetadata": { - "required": [ - "severity" - ], - "type": "object", - "properties": { - "severity": { - "type": "string", - "description": "Effective Severity" - } - }, - "description": "Edge Metadata" - }, - "FindingBuildTimeRemediationMetadata": { - "type": "object", - "properties": { - "buildtime_resource_id": { - "type": "string" - }, - "buildtime_resource_name": { - "type": "string" - }, - "git_filename": { - "type": "string" - }, - "git_directory": { - "type": "string" - }, - "git_provider": { - "type": "string" - }, - "git_last_modified_time": { - "type": "integer", - "format": "int64" - }, - "git_last_modified_by": { - "type": "string" - }, - "git_modifiers": { - "type": "array", - "items": { - "type": "string" - } - }, - "git_org": { - "type": "string" - }, - "git_repository": { - "type": "string" - }, - "git_repo_id": { - "type": "string" - }, - "depends_on": { - "type": "string" - }, - "dependents": { - "type": "string" - }, - "yor_trace": { - "type": "string" - }, - "git_url": { - "type": "string" - }, - "framework": { - "type": "string" - }, - "code_security_url": { - "type": "string" - }, - "bc_resource_id": { - "type": "string" - }, - "alert_decoration_status": { - "type": "string" - }, - "fix_pr_url": { - "type": "string" - }, - "has_fix": { - "type": "boolean" - } - } - }, - "FindingNode": { - "required": [ - "type" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/Node" - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The node type", - "enum": [ - "Finding" - ] - }, - "metadata": { - "$ref": "#/components/schemas/FindingNodeMetadata" - } - } - } - ] - }, - "FindingNodeMetadata": { - "required": [ - "description", - "lastModifiedAt", - "policyType", - "severity", - "type" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Finding Type" - }, - "policyType": { - "type": "string", - "description": "Policy Type" - }, - "severity": { - "type": "string", - "description": "Finding Severity" - }, - "description": { - "type": "string", - "description": "Finding description" - }, - "lastModifiedAt": { - "type": "integer", - "description": "Time when the finding was reported", - "format": "int64" - }, - "findingRemediationDetails": { - "$ref": "#/components/schemas/FindingRemediationDetails" - }, - "permissionGraph": { - "$ref": "#/components/schemas/IAMPermissionGraph" - }, - "networkGraph": { - "$ref": "#/components/schemas/CloudNetworkGraph" - }, - "isRemediable": { - "type": "boolean", - "description": "isRemediable" - } - }, - "description": "Finding Node Metadata" - }, - "FindingRemediationDetails": { - "type": "object", - "properties": { - "buildTimeMetadata": { - "$ref": "#/components/schemas/FindingBuildTimeRemediationMetadata" - }, - "runtimeMetadata": { - "$ref": "#/components/schemas/FindingRuntimeRemediationMetadaa" - } - }, - "description": "Represents the RemediationDetails for this finding" - }, - "FindingRuntimeRemediationMetadaa": { - "type": "object", - "properties": { - "remediationTs": { - "type": "integer", - "format": "int64" - } - } - }, - "GraphAlertEvidenceGraph": { - "type": "object", - "properties": { - "graph": { - "$ref": "#/components/schemas/AlertEvidenceGraph" - } - }, - "description": "The list of graphs representing a primary asset and its associations" - }, - "GraphEdge": { - "required": [ - "source", - "target" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Edge Id" - }, - "source": { - "type": "string", - "description": "Source node" - }, - "target": { - "type": "string", - "description": "Target node" - }, - "metadata": { - "$ref": "#/components/schemas/EdgeMetadata" - } - } - }, - "IAMPermissionGraph": { - "type": "object", - "properties": { - "items": { - "type": "array", - "description": "Permission graph items", - "items": { - "$ref": "#/components/schemas/IAMPermissionsResponse" - } - } - }, - "description": "Represents the associated permission graph for this finding" - }, - "IAMPermissionsResponse": { - "type": "object", - "properties": { - "grantedByCloudType": { - "type": "string", - "description": "Granted by cloud type" - }, - "grantedByEntityType": { - "type": "string", - "description": "Granted by entity type name" - }, - "grantedByEntityTypeId": { - "type": "integer", - "description": "Granted by entity type identifier", - "format": "int32" - }, - "grantedByEntityName": { - "type": "string", - "description": "Granted by entity name" - }, - "grantedByEntityAssetId": { - "type": "string", - "description": "Granted by entity asset identifier" - }, - "destCloudType": { - "type": "string", - "description": "Destination cloud type" - }, - "destCloudServiceName": { - "type": "string", - "description": "Destination cloud service name" - }, - "destCloudResourceName": { - "type": "string", - "description": "Destination cloud resource name" - }, - "destResourceTypeId": { - "type": "integer", - "description": "Destination cloud resource type identifier", - "format": "int32" - }, - "destResourceAssetId": { - "type": "string", - "description": "Destination cloud resource asset identifier" - } - }, - "description": "Permission graph items" - }, - "Node": { - "type": "object", - "properties": { - "label": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "description": "A dictionary of the node identifier and the associated node", - "discriminator": { - "propertyName": "type" - }, - "anyOf": [ - { - "$ref": "#/components/schemas/AssetNode" - }, - { - "$ref": "#/components/schemas/FindingNode" - }, - { - "$ref": "#/components/schemas/VulnerabilityNode" - } - ] - }, - "NodeDataType": { - "type": "object", - "properties": { - "nodeData": { - "$ref": "#/components/schemas/CloudNetworkNode" - }, - "type": { - "type": "string", - "description": "Represents a network node type" - } - }, - "description": "The nodes associated with this network graph" - }, - "Path": { - "type": "object", - "properties": { - "nativeID": { - "type": "string", - "description": "The native ID of the node" - } - }, - "description": "The associated paths in the network graph" - }, - "VulnerabilityMetadata": { - "required": [ - "exploitable", - "patchable", - "published", - "score", - "severity" - ], - "type": "object", - "properties": { - "severity": { - "type": "string", - "description": "Severity of the vulnerability" - }, - "score": { - "type": "number", - "description": "Score of the vulnerability", - "format": "float" - }, - "patchable": { - "type": "boolean", - "description": "Boolean value representing whether this vulnerability is patchable" - }, - "exploitable": { - "type": "boolean", - "description": "Boolean value representing whether this vulnerability is exploitable" - }, - "published": { - "type": "integer", - "description": "Long value representing when the vulnerability was published", - "format": "int64" - } - }, - "description": "Vulnerability Node Metadata" - }, - "VulnerabilityNode": { - "required": [ - "type" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/Node" - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The node type", - "enum": [ - "Vulnerability" - ] - }, - "metadata": { - "$ref": "#/components/schemas/VulnerabilityMetadata" - } - } - } - ] - } - }, - "headers": { - "prismaId": { - "description": "x-prisma-tenant-id", - "style": "simple", - "schema": { - "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" - } - } - } -} diff --git a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv index 18d7eb132..ca092758f 100644 --- a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv +++ b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv @@ -49,9 +49,6 @@ "get","/alert/policy/jobs/{id}/download","Download Policy Alerts JSON","download-policy-alerts-json","Alerts","Monolith" "post","/alert/remediation","List Alert Remediation Commands","get-alerts-remediation","Alerts","Monolith" "patch","/alert/remediation/{id}","Remediate Alert","perform-remediation-for-alert","Alerts","Monolith" -"post","/alert/v1/policy","Get Alert Count of Policies","alert-Policy-List","Alerts","AlertsMicroServices.json" -"post","/alert/v1/aggregate","Get Alert Count by Policy Groups","alert-Aggregation","Alerts","AlertsMicroServices.json" -"get","/alert/v1/{id}/graph","Get Alert Evidence Graph","get-Alert-Evidence-Graph","Alerts","AlertsMicroServices.json" "get","/anomalies/trusted_list","Get Anomaly Trusted List","getAllWhitelistEntries","Anomalies","AnomaliesMicroService.json" "post","/anomalies/trusted_list","Add Entries to Anomaly Trusted List","addToTrustedList","Anomalies","AnomaliesMicroService.json" "get","/anomalies/trusted_list/{id}","Get Anomaly Trusted List Entry","getWhitelistEntryById","Anomalies","AnomaliesMicroService.json" From 253465995e05717e1f98107cb4a497903ee731d1 Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Mon, 30 Oct 2023 23:47:06 +0530 Subject: [PATCH 03/10] fixed issue in new microservice file --- openapi-specs/cspm/AlertsMicroServices.json | 4530 +++++++++++++++++ .../cspm/consolidated_spec/all_endpoints.csv | 3 + 2 files changed, 4533 insertions(+) create mode 100644 openapi-specs/cspm/AlertsMicroServices.json diff --git a/openapi-specs/cspm/AlertsMicroServices.json b/openapi-specs/cspm/AlertsMicroServices.json new file mode 100644 index 000000000..67372a28a --- /dev/null +++ b/openapi-specs/cspm/AlertsMicroServices.json @@ -0,0 +1,4530 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Alerts 2.0 API", + "description": "REST interface for Alerts 2.0.", + "version": "Latest" + }, + "servers": [ + { + "url": "https://api.prismacloud.io" + }, + { + "url": "https://api2.prismacloud.io" + }, + { + "url": "https://api3.prismacloud.io" + }, + { + "url": "https://api4.prismacloud.io" + }, + { + "url": "https://api.anz.prismacloud.io" + }, + { + "url": "https://api.eu.prismacloud.io" + }, + { + "url": "https://api2.eu.prismacloud.io" + }, + { + "url": "https://api.gov.prismacloud.io" + }, + { + "url": "https://api.prismacloud.cn" + }, + { + "url": "https://api.ca.prismacloud.io" + }, + { + "url": "https://api.sg.prismacloud.io" + }, + { + "url": "https://api.uk.prismacloud.io" + }, + { + "url": "https://api.ind.prismacloud.io" + }, + { + "url": "https://api.jp.prismacloud.io" + }, + { + "url": "https://api.fr.prismacloud.io" + } + ], + "paths": { + "/alert/v1/policy": { + "post": { + "tags": [ + "Alerts" + ], + "summary": "Get Alert Count of Policies", + "description": "Get the list of policies with alert count based on the input filter along with next pagination token.", + "operationId": "alert-Policy-List", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyFilter" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + }, + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyPageResponse" + } + } + } + }, + "4XX": { + "description": "Client error", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "5XX": { + "description": "Server error", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true" + } + }, + "/alert/v1/aggregate": { + "post": { + "tags": [ + "Alerts" + ], + "summary": "Get Alert Count by Policy Groups", + "description": "Get policy groups with alert count based on the group by policy and input filters. The list is paginated and to fetch the remaining data, provide the nextPageToken.", + "operationId": "alert-Aggregation", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyFilter" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + }, + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupPageResponse" + } + } + } + }, + "4XX": { + "description": "Client error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "5XX": { + "description": "Server error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true" + } + }, + "/alert/v1/{id}/graph": { + "get": { + "tags": [ + "Alerts" + ], + "summary": "Get Alert Evidence Graph", + "description": "Get the alert JSON graph format data by alert id.", + "operationId": "get-Alert-Evidence-Graph", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The alert id of the evidence graph.", + "required": true, + "schema": { + "type": "string", + "description": "The alert id of the evidence graph." + } + } + ], + "responses": { + "400": { + "description": "Bad Request - request body contains a query that is not grammatically valid", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "200": { + "description": "Successful operation", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/AssetGraphs" + } + } + } + }, + "401": { + "description": "Unauthorized - user cannot be authenticated to service the request", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden - user is not authorized, or does not have the correct permissions, to make the call", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "412": { + "description": "PreConditions Failed - query fails domain specific validations", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "429": { + "description": "Too Many Requests - API is getting rate limited", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "500": { + "description": "Internal Server Error", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true" + } + } + }, + "components": { + "schemas": { + "AlertSyncRequest": { + "required": [ + "alertIds", + "customerId", + "stackName" + ], + "type": "object", + "properties": { + "alertIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "isStatusChange": { + "type": "boolean" + } + } + }, + "AlertDescopeRequest": { + "required": [ + "customerId", + "scopeChangeCalculation", + "stackName" + ], + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "scopeChangeCalculation": { + "$ref": "#/components/schemas/ScopeChangeCalculation" + }, + "action": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + } + } + }, + "AlertRule": { + "type": "object", + "properties": { + "alertRuleId": { + "type": "string" + }, + "oldAlertRule": { + "$ref": "#/components/schemas/AlertRuleFields" + }, + "newAlertRule": { + "$ref": "#/components/schemas/AlertRuleFields" + } + } + }, + "AlertRuleFields": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "accountIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "policyIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ScopeChangeCalculation": { + "type": "object", + "properties": { + "alertRules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertRule" + } + }, + "policyId": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "resourceIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "subjects": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AlertStatusChangeRequestWithSearch": { + "required": [ + "dismissalNote", + "reason", + "status" + ], + "type": "object", + "properties": { + "snoozeExpiryTs": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "originalSnoozeDuration": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "open", + "dismissed", + "snoozed", + "pending_resolution", + "resolved" + ] + }, + "requestType": { + "type": "string", + "enum": [ + "ALERTRULE_DESCOPE_REQUEST", + "POLICY_DESCOPE_REQUEST", + "ACCOUNT_DESCOPE_REQUEST", + "ALERT_STATUS_CHANGE_REQUEST", + "ALERT_CREATE_REQUEST", + "ALERT_SNOOZE_EXPIRED_REQUEST", + "ALERT_REMEDIATION_REQUEST", + "ALERT_CREATE_AND_DELETE_REQUEST", + "ALERT_DELETE_REQUEST", + "ALERT_UNDELETE_REQUEST", + "ALERT_MIGRATION_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", + "ALERT_HISTORY_MIGRATION_REQUEST", + "ALERT_HARD_DELETE_REQUEST", + "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", + "ALERT_SYNC_REQUEST", + "ALERT_HARD_SYNC_REQUEST", + "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", + "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", + "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", + "ALERT_UPDATE_REQUEST", + "ALERT_DESCOPE_REQUEST", + "ALERT_UPDATE_DECORATION_REQUEST", + "ALERT_DESCOPE_DECORATION_REQUEST", + "ALERT_PENDING_RESOLUTION_REQUEST" + ] + }, + "eventId": { + "type": "string" + }, + "alertsArchiveCntPerJob": { + "type": "integer", + "format": "int64" + }, + "alertsArchiveJobId": { + "type": "integer", + "format": "int64" + }, + "statusChangeRequestTs": { + "type": "integer", + "format": "int64" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "searchRequest": { + "$ref": "#/components/schemas/SearchServiceRequest" + }, + "alertPurgeJob": { + "type": "boolean" + } + } + }, + "ComputeAccessGroupMeta": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "TAG", + "RESOURCE_ID", + "STRING", + "IP_ADDRESS", + "NUMBER", + "RESOURCE_GROUP", + "COMPUTE_ACCESS_GROUP" + ] + }, + "hosts": { + "type": "array", + "items": { + "type": "string" + } + }, + "containers": { + "type": "array", + "items": { + "type": "string" + } + }, + "images": { + "type": "array", + "items": { + "type": "string" + } + }, + "functions": { + "type": "array", + "items": { + "type": "string" + } + }, + "appIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "codeRepos": { + "type": "array", + "items": { + "type": "string" + } + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + } + }, + "clusters": { + "type": "array", + "items": { + "type": "string" + } + }, + "labels": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "JsonNode": { + "type": "object", + "description": "MetaData Filter." + }, + "SearchFilters": { + "type": "object", + "properties": { + "resourceIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceNames": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "timeRange": { + "$ref": "#/components/schemas/TimeRange" + }, + "fieldWithInvalidValue": { + "type": "string" + }, + "alertIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "accountIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "statusChangeReason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "statusChangeReasonToExclude": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceInternalIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "resourceApiIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "cloudServiceResourceApiIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "assetClassResourceApiIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "cloudTypeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchTags" + } + }, + "policyIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "policyTypes": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "customerIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "resourceApiIdsToExclude": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "accessibleResourceGroupIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "resourceGroupIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "allRuleCagMeta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputeAccessGroupMeta" + } + }, + "computeEnabled": { + "type": "boolean" + }, + "userSelectedAccountFilter": { + "type": "boolean" + }, + "nonOnboardedAccountIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "Search Filter Conditions." + }, + "SearchServiceRequest": { + "required": [ + "customerId", + "fields", + "filters", + "stackName" + ], + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Customer Id associated to the Alert." + }, + "stackName": { + "type": "string", + "description": "Stack Name associated to the Alert." + }, + "fields": { + "type": "array", + "description": "Field Name for the filter that will be retrieved.", + "items": { + "type": "string", + "description": "Field Name for the filter that will be retrieved." + } + }, + "filters": { + "$ref": "#/components/schemas/SearchFilters" + }, + "metadataFilters": { + "$ref": "#/components/schemas/JsonNode" + }, + "returnCountOnly": { + "type": "boolean" + }, + "sortOrder": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sort" + } + }, + "limit": { + "type": "integer", + "format": "int32" + }, + "searchAfter": { + "type": "array", + "items": { + "type": "object" + } + }, + "numBuckets": { + "type": "integer", + "format": "int32" + }, + "disableTrackTotalHit": { + "type": "boolean", + "description": "Tracks the total hits for a search request" + }, + "skipCustomerIdFilter": { + "type": "boolean", + "description": "Stack level search request, basically skip customerId filter in the ES query" + } + }, + "description": "Search Service Request." + }, + "SearchTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Sort": { + "type": "object", + "properties": { + "column": { + "type": "string" + }, + "sortDirection": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + "description": "Search Service Column Sort" + }, + "TimeRange": { + "required": [ + "endTime", + "startTime" + ], + "type": "object", + "properties": { + "forField": { + "type": "string" + }, + "startTime": { + "type": "integer", + "format": "int64" + }, + "endTime": { + "type": "integer", + "format": "int64" + } + } + }, + "AlertStatusChangeRequest": { + "required": [ + "dismissalNote", + "reason", + "status" + ], + "type": "object", + "properties": { + "snoozeExpiryTs": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "originalSnoozeDuration": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "open", + "dismissed", + "snoozed", + "pending_resolution", + "resolved" + ] + }, + "requestType": { + "type": "string", + "enum": [ + "ALERTRULE_DESCOPE_REQUEST", + "POLICY_DESCOPE_REQUEST", + "ACCOUNT_DESCOPE_REQUEST", + "ALERT_STATUS_CHANGE_REQUEST", + "ALERT_CREATE_REQUEST", + "ALERT_SNOOZE_EXPIRED_REQUEST", + "ALERT_REMEDIATION_REQUEST", + "ALERT_CREATE_AND_DELETE_REQUEST", + "ALERT_DELETE_REQUEST", + "ALERT_UNDELETE_REQUEST", + "ALERT_MIGRATION_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", + "ALERT_HISTORY_MIGRATION_REQUEST", + "ALERT_HARD_DELETE_REQUEST", + "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", + "ALERT_SYNC_REQUEST", + "ALERT_HARD_SYNC_REQUEST", + "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", + "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", + "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", + "ALERT_UPDATE_REQUEST", + "ALERT_DESCOPE_REQUEST", + "ALERT_UPDATE_DECORATION_REQUEST", + "ALERT_DESCOPE_DECORATION_REQUEST", + "ALERT_PENDING_RESOLUTION_REQUEST" + ] + }, + "eventId": { + "type": "string" + }, + "alertsArchiveCntPerJob": { + "type": "integer", + "format": "int64" + }, + "alertsArchiveJobId": { + "type": "integer", + "format": "int64" + }, + "statusChangeRequestTs": { + "type": "integer", + "format": "int64" + }, + "prismaId": { + "type": "integer", + "format": "int64" + } + } + }, + "AlertList": { + "type": "array", + "properties": { + "empty": { + "type": "boolean" + } + }, + "items": { + "$ref": "#/components/schemas/AlertModel" + } + }, + "AlertModel": { + "required": [ + "Account Id.", + "Cloud Type.", + "Metadata change Time Stamp.", + "Policy Type.", + "Policy change Time Stamp.", + "Resource Id.", + "Resource change Time Stamp.", + "Stack Name.", + "clientId", + "verdict" + ], + "type": "object", + "properties": { + "Customer Id.": { + "type": "string", + "example": "'11111'" + }, + "Prisma Id.": { + "type": "integer", + "format": "int64", + "example": 11111123443 + }, + "Stack Name.": { + "type": "string", + "example": "'app2'" + }, + "Account Id.": { + "type": "string", + "example": "'ACC657432'" + }, + "Resource Id.": { + "type": "string", + "example": "'1gs010101'" + }, + "External Resouce Id.Id Provided by the cloud provider": { + "type": "string", + "example": "'1010101'" + }, + "Resource Name.": { + "type": "string", + "example": "'web server'" + }, + "RRN.": { + "type": "string", + "example": "'rrn:aws:storageObject:us-east-2:1234'" + }, + "url.": { + "type": "string", + "example": "'rrn:aws:storageObject:us-east-2:1234:app-qa-logs:/AWSLogs/1234/2020/04/04/1234.log.gz'" + }, + "Resource Api Id.": { + "type": "integer", + "format": "int32" + }, + "Policy Id.": { + "type": "string", + "example": "'222233'" + }, + "Policy Type.": { + "type": "integer", + "format": "int32" + }, + "Cloud Type.": { + "type": "integer", + "format": "int32" + }, + "Region.": { + "type": "string", + "example": "'us-east-2'" + }, + "Policy change Time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Resource change Time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Resource undeleted time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Metadata change Time Stamp.": { + "type": "integer", + "format": "int64" + }, + "Alert Rule TS.": { + "type": "integer", + "format": "int64" + }, + "Resource Deleted TS.": { + "type": "integer", + "format": "int64" + }, + "reason.": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "Tags.": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertTags" + } + }, + "Json Metadata.": { + "$ref": "#/components/schemas/JsonNode" + }, + "Resource Data": { + "$ref": "#/components/schemas/JsonNode" + }, + "Resource Additional Info": { + "$ref": "#/components/schemas/JsonNode" + }, + "additional Info": { + "$ref": "#/components/schemas/JsonNode" + }, + "Time to Alert Info": { + "$ref": "#/components/schemas/JsonNode" + }, + "Alert Rule Ids.": { + "type": "array", + "items": { + "type": "string" + } + }, + "Resolved Alert Rule Ids.": { + "type": "array", + "items": { + "type": "string" + } + }, + "verdict": { + "type": "string", + "description": "Verdict from Config Scanner used for Create Alerts.", + "enum": [ + "PASS", + "FAIL" + ] + }, + "clientId": { + "type": "string", + "description": "client Id." + }, + "Additional Hash.": { + "type": "integer", + "format": "int64", + "example": 553195237 + }, + "allowAutoRemediation": { + "type": "boolean", + "description": "Allow auto remediation." + }, + "attributionSupported": { + "type": "boolean", + "description": "Attribution supported." + }, + "detectMode": { + "type": "boolean" + }, + "resourceInfoUpdated": { + "type": "boolean" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryModel" + } + }, + "commitContext": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "alertId": { + "type": "string" + } + } + }, + "AlertTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "HistoryModel": { + "required": [ + "alertTs", + "status" + ], + "type": "object", + "properties": { + "alertTs": { + "type": "integer", + "format": "int64" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "modifiedBy": { + "type": "string" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "note": { + "type": "string" + } + } + }, + "AbsoluteTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/Time" + } + } + } + ] + }, + "AlertFilterModel": { + "required": [ + "timeZone" + ], + "type": "object", + "properties": { + "detailed": { + "type": "boolean" + }, + "webClient": { + "type": "boolean" + }, + "withAlertRuleInfo": { + "type": "boolean" + }, + "customerId": { + "type": "string" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "stackName": { + "type": "string" + }, + "timeZone": { + "type": "string" + }, + "userRoleType": { + "type": "string", + "enum": [ + "System Admin", + "Account Group Admin", + "Account Group Read Only", + "SSO Admin", + "Cloud Provisioning Admin", + "Tenant Provisioning Admin", + "Prisma Service User", + "Account and Cloud Provisioning Admin", + "Build and Deploy Security", + "Build and Deploy Security CI", + "Compute Admin", + "NetSecOps", + "NetSecOps Read Only", + "Compute Account Admin", + "Developer", + "Compute Account Group Read Only", + "Non System Admin" + ] + }, + "lastLoginTime": { + "type": "integer", + "format": "int64" + }, + "accessibleAccountIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "accessibleResourceGroupIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "accessiblePolicyIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UIFilter" + } + }, + "restrictAlertDismissal": { + "type": "boolean" + }, + "timeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "pageToken": { + "type": "string" + }, + "groupBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "searchAfter": { + "type": "array", + "items": { + "type": "object" + } + }, + "afterKey": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "sortBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "fields": { + "type": "array", + "items": { + "type": "string" + } + }, + "numTimeBuckets": { + "type": "integer", + "format": "int32" + }, + "subAggregationField": { + "type": "string" + }, + "timeRangeType": { + "type": "string", + "enum": [ + "ALERT_OPENED", + "ALERT_UPDATED", + "ALERT_STATUS_UPDATED" + ] + }, + "limit": { + "type": "integer", + "format": "int32" + } + } + }, + "FromNowTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "enum": [ + "minute", + "hour", + "day", + "week", + "month", + "year", + "epoch", + "login" + ] + } + } + } + ] + }, + "RelativeTimeDuration": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "minute", + "hour", + "day", + "week", + "month", + "year", + "epoch", + "login" + ] + }, + "amount": { + "type": "integer", + "format": "int32" + } + } + }, + "RelativeTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/RelativeTimeDuration" + }, + "relativeTimeType": { + "type": "string", + "enum": [ + "BACKWARD", + "FORWARD" + ] + } + } + } + ] + }, + "Time": { + "type": "object", + "properties": { + "startTime": { + "type": "integer", + "format": "int64" + }, + "endTime": { + "type": "integer", + "format": "int64" + } + } + }, + "TimeRangeConfigModel": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "Time type": { + "type": "string", + "enum": [ + "to_now,absolute,relative,from_now" + ] + }, + "Time value": { + "type": "object", + "enum": [ + "epoch" + ] + }, + "Field for range": { + "type": "string", + "enum": [ + "lastOpenStateTs", + "lastStatusChangeTs", + "lastOpenStateTs" + ] + }, + "type": { + "type": "string" + } + }, + "description": "Model for TimeRangeConfig", + "discriminator": { + "propertyName": "type" + } + }, + "ToNowTimeRangeConfig": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/TimeRangeConfigModel" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "enum": [ + "minute", + "hour", + "day", + "week", + "month", + "year", + "epoch", + "login" + ] + } + } + } + ] + }, + "UIFilter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "operator": { + "type": "string" + } + } + }, + "ComplianceMetadata": { + "type": "object", + "properties": { + "standardName": { + "type": "string" + }, + "standardDescription": { + "type": "string" + }, + "requirementId": { + "type": "string" + }, + "requirementName": { + "type": "string" + }, + "requirementDescription": { + "type": "string" + }, + "sectionId": { + "type": "string" + }, + "sectionDescription": { + "type": "string" + }, + "policyId": { + "type": "string" + }, + "complianceId": { + "type": "string" + }, + "sectionLabel": { + "type": "string" + }, + "sectionViewOrder": { + "type": "integer", + "format": "int32" + }, + "requirementViewOrder": { + "type": "integer", + "format": "int32" + }, + "systemDefault": { + "type": "boolean" + }, + "policyName": { + "type": "string" + }, + "customAssigned": { + "type": "boolean" + } + }, + "description": "Compliance Standards" + }, + "DecoratedAlert": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "firstSeen": { + "type": "integer", + "format": "int64" + }, + "lastSeen": { + "type": "integer", + "format": "int64" + }, + "alertTime": { + "type": "integer", + "format": "int64" + }, + "lastUpdated": { + "type": "integer", + "format": "int64" + }, + "policyId": { + "type": "string" + }, + "policy": { + "$ref": "#/components/schemas/PolicyDetails" + }, + "resource": { + "$ref": "#/components/schemas/ResourceDetails" + }, + "metadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "dismissedBy": { + "type": "string" + }, + "dismissalNote": { + "type": "string" + }, + "dismissalUntilTs": { + "type": "integer", + "format": "int64" + }, + "dismissalDuration": { + "type": "string" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DecoratedHistory" + } + }, + "autoActionLog": { + "type": "string" + }, + "alertAdditionalInfo": { + "$ref": "#/components/schemas/JsonNode" + } + } + }, + "DecoratedHistory": { + "type": "object", + "properties": { + "status": { + "type": "string", + "enum": [ + "open", + "dismissed", + "snoozed", + "pending_resolution", + "resolved" + ] + }, + "modifiedBy": { + "type": "string" + }, + "modifiedOn": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string" + } + } + }, + "PagedAlertsDecoratedAlert": { + "type": "object", + "properties": { + "totalRows": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DecoratedAlert" + } + }, + "nextPageToken": { + "type": "string" + }, + "sortAllowedColumns": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PolicyDetails": { + "type": "object", + "properties": { + "policyId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "recommendation": { + "type": "string" + }, + "complianceMetadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComplianceMetadata" + } + }, + "labels": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "deleted": { + "type": "boolean" + }, + "policyType": { + "type": "string", + "enum": [ + "config", + "network", + "audit_event", + "anomaly", + "data", + "iam", + "workload_vulnerability", + "workload_incident", + "api", + "attack_path" + ] + }, + "systemDefault": { + "type": "boolean" + }, + "remediable": { + "type": "boolean" + }, + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "remediation": { + "$ref": "#/components/schemas/Remediation" + }, + "lastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { + "type": "string" + }, + "isHyperionPolicy": { + "type": "boolean" + } + } + }, + "Remediation": { + "type": "object", + "properties": { + "templateType": { + "type": "string", + "enum": [ + "StaticTemplate", + "DynamicTemplate", + "AwsSecurityGroupTemplate", + "AzureSecurityGroupTemplate", + "Data" + ] + }, + "description": { + "type": "string" + }, + "impact": { + "type": "string" + }, + "cliScriptTemplate": { + "type": "string" + }, + "cliScriptJsonSchema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemediationAction" + } + }, + "dataRemediation": { + "type": "string", + "enum": [ + "reset_exposure", + "delete_file" + ] + } + } + }, + "RemediationAction": { + "type": "object", + "properties": { + "operation": { + "type": "string" + }, + "payload": { + "type": "string" + } + } + }, + "ResourceDetails": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "internalResourceId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "account": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "region": { + "type": "string" + }, + "regionId": { + "type": "string" + }, + "resourceTs": { + "type": "integer", + "format": "int64" + }, + "data": { + "$ref": "#/components/schemas/JsonNode" + }, + "cloudType": { + "type": "string", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + }, + "resourceApiName": { + "type": "string" + }, + "cloudServiceName": { + "type": "string" + }, + "resourceType": { + "type": "string" + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "cloudAccountGroups": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "rrn": { + "type": "string" + }, + "url": { + "type": "string" + }, + "additionalInfo": { + "$ref": "#/components/schemas/JsonNode" + }, + "cloudAccountOwners": { + "type": "array", + "items": { + "type": "string" + } + }, + "cloudAccountAncestors": { + "type": "array", + "items": { + "type": "string" + } + }, + "unifiedAssetId": { + "type": "string" + }, + "resourceConfigJsonAvailable": { + "type": "boolean" + }, + "resourceDetailsAvailable": { + "type": "boolean" + } + } + }, + "PolicyPageResponse": { + "type": "object", + "properties": { + "policies": { + "type": "array", + "description": "List of Policies", + "items": { + "$ref": "#/components/schemas/PolicyVO" + } + }, + "nextPageToken": { + "type": "string", + "description": "token to fetch the next page" + } + } + }, + "PolicyVO": { + "type": "object", + "properties": { + "alertCount": { + "type": "integer", + "description": "alert count", + "format": "int64" + }, + "policyId": { + "type": "string", + "description": "Policy ID" + }, + "policyName": { + "type": "string", + "description": "Policy Name" + }, + "policyType": { + "type": "string", + "description": "Policy Type" + }, + "severity": { + "type": "string", + "description": "Policy Severity", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "policyLabels": { + "uniqueItems": true, + "type": "array", + "description": "Policy Labels", + "items": { + "type": "string", + "description": "Policy Labels" + } + }, + "complianceMetadata": { + "type": "array", + "description": "Compliance Standards", + "items": { + "$ref": "#/components/schemas/ComplianceMetadata" + } + }, + "resourceType": { + "type": "string", + "description": "Resource Type" + }, + "remediable": { + "type": "boolean", + "description": "Remediable" + }, + "cloudType": { + "type": "string", + "description": "Cloud Type", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + }, + "mittreAttacks": { + "type": "array", + "description": "Mittre Attacks", + "items": { + "type": "string", + "description": "Mittre Attacks" + } + }, + "findingTypes": { + "type": "array", + "description": "Finding types", + "items": { + "type": "string", + "description": "Finding types" + } + }, + "restrictAlertDismissal": { + "type": "boolean", + "description": "Restrict alert dismissal" + } + }, + "description": "Policy data with alert count" + }, + "ErrorDetails": { + "required": [ + "message", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "SpringErrorResponse": { + "required": [ + "error", + "message", + "path", + "status", + "timestamp" + ], + "type": "object", + "properties": { + "timestamp": { + "type": "string" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "error": { + "type": "string" + }, + "errorDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorDetails" + } + }, + "message": { + "type": "string" + }, + "path": { + "type": "string" + } + } + }, + "PolicyFilter": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "description": "Filter parameters", + "items": { + "$ref": "#/components/schemas/UIFilter" + } + }, + "sortBy": { + "type": "array", + "description": "Array of sort properties. \n\nAppend **:asc** or **:desc** to the key to sort by ascending or descending order, respectively. Example: **id:asc**.", + "items": { + "type": "string", + "description": "Array of sort properties. \n\nAppend **:asc** or **:desc** to the key to sort by ascending or descending order, respectively. Example:**id:asc**." + } + }, + "groupBy": { + "type": "string", + "description": "Group by field.", + "enum": [ + "policy.type", + "policy.severity", + "policy.label", + "compliance.standard" + ] + }, + "size": { + "type": "integer", + "description": "Maximum number of items to return per page when data is paginated. The value cannot exceed 500 and default value is 50.", + "format": "int32" + }, + "nextPageToken": { + "type": "string", + "description": "The nextPageToken value from the previous response object, which is used to get the next page of data. " + }, + "timeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + } + } + }, + "GroupPageResponse": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupsResponse" + } + }, + "groupBy": { + "type": "string" + }, + "nextPageToken": { + "type": "string" + } + } + }, + "GroupsResponse": { + "type": "object", + "properties": { + "group": { + "type": "string", + "description": "group by field, for example : policy type, compliance standard etc" + }, + "totalAlerts": { + "type": "integer", + "description": "sum of all alert count for all policies in the group", + "format": "int64" + }, + "totalPolicies": { + "type": "integer", + "description": "number of policies in the group", + "format": "int32" + }, + "criticalAlertCount": { + "type": "integer", + "description": "alert count for policies with critical severity in the group", + "format": "int64" + }, + "highAlertCount": { + "type": "integer", + "description": "alert count for policies with high severity in the group", + "format": "int64" + }, + "mediumAlertCount": { + "type": "integer", + "description": "alert count for policies with medium severity in the group", + "format": "int64" + }, + "lowAlertCount": { + "type": "integer", + "description": "alert count for policies with low severity in the group", + "format": "int64" + }, + "informationalAlertCount": { + "type": "integer", + "description": "alert count for policies with informational severity in the group", + "format": "int64" + }, + "buildPolicyCount": { + "type": "integer", + "description": "number of build policy", + "format": "int64" + }, + "runPolicyCount": { + "type": "integer", + "description": "number of run policy", + "format": "int64" + }, + "findingTypes": { + "uniqueItems": true, + "type": "array", + "description": "List of finding types", + "items": { + "type": "string", + "description": "List of finding types" + } + }, + "cloudTypes": { + "uniqueItems": true, + "type": "array", + "description": "List of cloud types", + "items": { + "type": "string", + "description": "List of cloud types", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + } + }, + "policyIds": { + "uniqueItems": true, + "type": "array", + "description": "List of policy ids", + "items": { + "type": "string", + "description": "List of policy ids" + } + } + }, + "description": "List of groups for selected group by field" + }, + "AlertSyncResponse": { + "type": "object", + "properties": { + "inValidAlerts": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AlertSearchKey": { + "required": [ + "Account Id.", + "Stack Name." + ], + "type": "object", + "properties": { + "Stack Name.": { + "type": "string", + "example": "'app2'" + }, + "Account Id.": { + "type": "string", + "example": "'ACC657432'" + }, + "External Resouce Id.Id Provided by the cloud provider": { + "type": "string", + "example": "'1010101'" + }, + "Policy Id.": { + "type": "string", + "example": "'222233'" + } + } + }, + "AlertStatusChangeV2WithFilter": { + "required": [ + "dismissFilterType" + ], + "type": "object", + "properties": { + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "alerts": { + "type": "array", + "items": { + "type": "string" + } + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "dismissalTimeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "isReopen": { + "type": "boolean" + }, + "dismissFilterType": { + "type": "string", + "enum": [ + "POLICY_IDS", + "POLICY_AND_GENERIC_FILTERS", + "ALERT_IDS", + "GENERIC_FILTER", + "ALERT_KEYS" + ] + }, + "alertSearchKeys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertSearchKey" + } + }, + "userRoleId": { + "type": "string" + }, + "userName": { + "type": "string" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "reopen": { + "type": "boolean" + } + } + }, + "AggregateServiceCountResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + } + } + }, + "TopNPolicy": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policy.name": { + "type": "string" + }, + "policy.id": { + "type": "string" + } + } + }, + "AlertsReportRequest": { + "required": [ + "customerId", + "groupBy", + "stackName", + "timeRange" + ], + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "groupBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "timeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "afterKey": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "AggregateReportResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "customerId": { + "type": "string" + }, + "stackName": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "policyId": { + "type": "string" + }, + "policyName": { + "type": "string" + }, + "policyType": { + "type": "string" + }, + "alertStatus": { + "type": "string" + }, + "statusChangeReason": { + "type": "string" + } + } + }, + "AlertsReportResponse": { + "type": "object", + "properties": { + "aggregateReportResponseList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AggregateReportResponse" + } + }, + "afterKey": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "AlertReconcileStatusWithFilter": { + "required": [ + "statusChangeReason" + ], + "type": "object", + "properties": { + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "alerts": { + "type": "array", + "items": { + "type": "string" + } + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "dismissalTimeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "isReopen": { + "type": "boolean" + }, + "statusChangeReason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "reopen": { + "type": "boolean" + } + } + }, + "AlertStatusModel": { + "required": [ + "Stack Name." + ], + "type": "object", + "properties": { + "Customer Id.": { + "type": "string", + "example": "'11111'" + }, + "Stack Name.": { + "type": "string", + "example": "'app2'" + } + } + }, + "BulkSearchAlertKeyByStatus": { + "type": "object", + "properties": { + "filterStatuses": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "alerts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertModel" + } + }, + "detailed": { + "type": "boolean" + } + } + }, + "AlertStatusChangeWithFilter": { + "type": "object", + "properties": { + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "alerts": { + "type": "array", + "items": { + "type": "string" + } + }, + "dismissalNote": { + "type": "string" + }, + "statusChangedBy": { + "type": "string" + }, + "dismissalTimeRange": { + "oneOf": [ + { + "$ref": "#/components/schemas/AbsoluteTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/FromNowTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/RelativeTimeRangeConfig" + }, + { + "$ref": "#/components/schemas/ToNowTimeRangeConfig" + } + ] + }, + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "isReopen": { + "type": "boolean" + }, + "reopen": { + "type": "boolean" + } + } + }, + "AlertAggregateResult": { + "type": "object", + "properties": { + "policyId": { + "type": "string" + }, + "alertCount": { + "type": "integer", + "format": "int64" + }, + "saveSearchId": { + "type": "string" + }, + "policy": { + "$ref": "#/components/schemas/Policy" + }, + "classification": { + "type": "string" + }, + "objectExposure": { + "type": "string" + }, + "alertStatus": { + "type": "string" + }, + "policyType": { + "type": "string" + }, + "malwarev2": { + "type": "string" + }, + "resourceId": { + "type": "string" + }, + "ems": { + "$ref": "#/components/schemas/ExposureMalwareSeverity" + }, + "ecs": { + "$ref": "#/components/schemas/ExposureClassificationSeverity" + } + } + }, + "ExposureClassificationSeverity": { + "type": "object", + "properties": { + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "classification": { + "type": "string" + }, + "objectExposure": { + "type": "string" + } + } + }, + "ExposureMalwareSeverity": { + "type": "object", + "properties": { + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "malwarev2": { + "type": "string" + }, + "objectExposure": { + "type": "string" + } + } + }, + "Policy": { + "type": "object", + "properties": { + "policyId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "policyType": { + "type": "string", + "enum": [ + "config", + "network", + "audit_event", + "anomaly", + "data", + "iam", + "workload_vulnerability", + "workload_incident", + "api", + "attack_path" + ] + }, + "policySubTypes": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "run", + "build", + "run_and_build", + "audit", + "data_classification", + "dns", + "malware", + "network_event", + "network", + "ueba", + "permissions", + "network_config", + "identity", + "sensitive_data_exposure", + "internet_exposure", + "injections", + "vulnerability_scanning", + "shellshock", + "known_bots", + "unknown_bots", + "virtual_patches", + "misconfig", + "misconfig_and_event", + "event" + ] + } + }, + "category": { + "type": "string", + "enum": [ + "risk", + "incident" + ] + }, + "systemDefault": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "severity": { + "type": "string", + "enum": [ + "informational", + "low", + "medium", + "high", + "critical" + ] + }, + "recommendation": { + "type": "string" + }, + "cloudType": { + "type": "string", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] + }, + "complianceMetadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComplianceMetadata" + } + }, + "remediation": { + "$ref": "#/components/schemas/Remediation" + }, + "labels": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean" + }, + "ownerId": { + "type": "integer", + "format": "int32" + }, + "createdOn": { + "type": "integer", + "format": "int64" + }, + "createdBy": { + "type": "string" + }, + "lastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { + "type": "string" + }, + "ruleLastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "overridden": { + "type": "boolean" + }, + "deleted": { + "type": "boolean" + }, + "restrictAlertDismissal": { + "type": "boolean" + }, + "saveSearchId": { + "type": "string" + }, + "findingTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "mitreTactics": { + "type": "array", + "items": { + "type": "string" + } + }, + "majorApiName": { + "type": "string" + }, + "isRemediable": { + "type": "boolean", + "readOnly": true + } + } + }, + "AlertDeleteRequest": { + "required": [ + "filter" + ], + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/AlertFilterModel" + }, + "deleteRequestedBy": { + "type": "string" + }, + "deleteRequest": { + "type": "boolean" + } + } + }, + "AlertTimelineCountResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "startTime": { + "type": "integer", + "format": "int64" + }, + "endTime": { + "type": "integer", + "format": "int64" + } + } + }, + "AlertAttribution": { + "type": "object", + "properties": { + "attributionEventList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttributionEvent" + } + }, + "resourceCreatedOn": { + "type": "integer", + "format": "int64" + }, + "resourceCreatedBy": { + "type": "string" + } + } + }, + "AlertDetails": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "firstSeen": { + "type": "integer", + "format": "int64" + }, + "lastSeen": { + "type": "integer", + "format": "int64" + }, + "alertTime": { + "type": "integer", + "format": "int64" + }, + "dismissedBy": { + "type": "string" + }, + "dismissalNote": { + "type": "string" + }, + "dismissalUntilTs": { + "type": "integer", + "format": "int64" + }, + "dismissalDuration": { + "type": "string" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "policy": { + "$ref": "#/components/schemas/PolicyDetails" + }, + "alertRules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertRuleConfig" + } + }, + "resource": { + "$ref": "#/components/schemas/ResourceDetails" + }, + "metadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertHistoryDetails" + } + }, + "alertAttribution": { + "$ref": "#/components/schemas/AlertAttribution" + }, + "autoActionLog": { + "type": "string" + }, + "appMetadata": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "description": "Alert details Model for L3 page" + }, + "AlertHistoryDetails": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "modifiedOn": { + "type": "integer", + "format": "int64" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "TENANT_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "RESOURCE_LIST_DISMISSED", + "RESOURCE_LIST_SNOOZED", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "note": { + "type": "string" + } + } + }, + "AlertRuleConfig": { + "type": "object", + "properties": { + "policyScanConfigId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "enabled": { + "type": "boolean" + }, + "scanAll": { + "type": "boolean" + }, + "policies": { + "type": "array", + "items": { + "type": "string" + } + }, + "policyLabels": { + "type": "array", + "items": { + "type": "string" + } + }, + "excludedPolicies": { + "type": "array", + "items": { + "type": "string" + } + }, + "target": { + "$ref": "#/components/schemas/TargetFilter" + }, + "createdOn": { + "type": "integer", + "format": "int64" + }, + "createdBy": { + "type": "string" + }, + "lastModifiedOn": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { + "type": "string" + }, + "systemDefault": { + "type": "boolean" + }, + "firstScanCompletedAccounts": { + "type": "array", + "items": { + "type": "string" + } + }, + "deleted": { + "type": "boolean" + }, + "allowAutoRemediate": { + "type": "boolean" + }, + "delayNotificationMs": { + "type": "integer", + "format": "int64" + }, + "alertAssociationTime": { + "type": "integer", + "format": "int64" + }, + "alertRuleNotificationConfig": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertRuleNotificationConfigModel" + } + }, + "notifyOnOpen": { + "type": "boolean" + }, + "notifyOnSnoozed": { + "type": "boolean" + }, + "notifyOnDismissed": { + "type": "boolean" + }, + "notifyOnResolved": { + "type": "boolean" + } + } + }, + "AlertRuleNotificationConfigModel": { + "type": "object", + "properties": { + "Alert rule notification config ID": { + "type": "string" + }, + "frequency": { + "type": "string", + "enum": [ + "as_it_happens, daily, weekly, monthly" + ] + }, + "Scan enabled": { + "type": "boolean" + }, + "List of unique email addresses to notify": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "Provide csv detailed report": { + "type": "boolean", + "description": "default false" + }, + "Compress detailed report": { + "type": "boolean" + }, + "Include remediation in detailed report": { + "type": "boolean" + }, + "Last Updated": { + "type": "integer", + "format": "int64" + }, + "Time of last notification in milliseconds": { + "type": "integer", + "format": "int64" + }, + "type": { + "type": "string" + }, + "templateId": { + "type": "string" + }, + "rruleSchedule": { + "type": "string" + } + }, + "description": "Model for Alert Rule Notification Config" + }, + "AttributionEvent": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "event": { + "type": "string" + }, + "event_ts": { + "type": "integer", + "format": "int64" + } + } + }, + "ResourceListsCollection": { + "type": "object", + "properties": { + "computeAccessGroups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputeAccessGroupMeta" + } + }, + "computeAccessGroupIds": { + "type": "array", + "writeOnly": true, + "items": { + "type": "string" + } + } + } + }, + "TargetFilter": { + "type": "object", + "properties": { + "accountGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "excludedAccounts": { + "type": "array", + "items": { + "type": "string" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TargetTag" + } + }, + "includedResourceLists": { + "$ref": "#/components/schemas/ResourceListsCollection" + }, + "accountIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TargetTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceIdAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "resource.id": { + "type": "string" + } + } + }, + "PolicyTypeAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policyType": { + "type": "string" + } + } + }, + "AlertOverTimeAggregateResult": { + "type": "object", + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64" + }, + "endTimestamp": { + "type": "integer", + "format": "int64" + }, + "interval": { + "type": "string" + }, + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertAggregateResult" + } + } + } + }, + "PagedAlertsResourceAndTimestampsByPolicyResponse": { + "type": "object", + "properties": { + "totalRows": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceAndTimestampsByPolicyResponse" + } + }, + "nextPageToken": { + "type": "string" + }, + "sortAllowedColumns": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceAndTimestampsByPolicyResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policyId": { + "type": "string" + }, + "firstSeen": { + "type": "integer", + "format": "int64" + }, + "lastSeen": { + "type": "integer", + "format": "int64" + }, + "resourceIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "policy": { + "$ref": "#/components/schemas/Policy" + } + } + }, + "SeverityAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policy.severity": { + "type": "string" + } + } + }, + "PolicyIdAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "policy.id": { + "type": "string" + } + } + }, + "AggregateByECSResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "malwarev2": { + "type": "string" + }, + "policy.severity": { + "type": "string" + }, + "object.classification": { + "type": "string" + }, + "object.exposure": { + "type": "string" + } + } + }, + "AlertStatusAggregateResult": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64" + }, + "alertStatus": { + "type": "string" + } + } + }, + "OnDemandNotificationConfig": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "generatorType": { + "type": "string" + }, + "integrationType": { + "type": "string" + }, + "templateId": { + "type": "string" + }, + "recipients": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "OnDemandNotificationConfigRequest": { + "type": "object", + "properties": { + "prismaId": { + "type": "integer", + "format": "int64" + }, + "alertId": { + "type": "string" + }, + "onDemandNotificationConfig": { + "$ref": "#/components/schemas/OnDemandNotificationConfig" + } + } + }, + "BridgeCrewDecorationRequest": { + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "prismaId": { + "type": "integer", + "format": "int64" + }, + "stackName": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "policyId": { + "type": "string" + }, + "policyType": { + "type": "integer", + "format": "int32" + }, + "resourceApiId": { + "type": "integer", + "format": "int32" + }, + "cloudTypeId": { + "type": "integer", + "format": "int32" + }, + "region": { + "type": "string" + }, + "externalResourceId": { + "type": "string" + }, + "additionalMetadata": { + "$ref": "#/components/schemas/JsonNode" + }, + "decorationRequestType": { + "type": "string", + "enum": [ + "ALERTRULE_DESCOPE_REQUEST", + "POLICY_DESCOPE_REQUEST", + "ACCOUNT_DESCOPE_REQUEST", + "ALERT_STATUS_CHANGE_REQUEST", + "ALERT_CREATE_REQUEST", + "ALERT_SNOOZE_EXPIRED_REQUEST", + "ALERT_REMEDIATION_REQUEST", + "ALERT_CREATE_AND_DELETE_REQUEST", + "ALERT_DELETE_REQUEST", + "ALERT_UNDELETE_REQUEST", + "ALERT_MIGRATION_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST", + "ALERT_DELETE_BY_RESOURCE_REQUEST_INTERNAL", + "ALERT_HISTORY_MIGRATION_REQUEST", + "ALERT_HARD_DELETE_REQUEST", + "ALERT_RECONCILE_STATUS_CHANGE_REQUEST", + "ALERT_SYNC_REQUEST", + "ALERT_HARD_SYNC_REQUEST", + "ALERT_CASSANDRA_TO_ES_SYNC_REQUEST", + "ALERT_OVERWRITE_CASSANDRA_ES_REQUEST", + "ALERT_RESOURCE_GROUP_EXTRACT_REQUEST", + "ALERT_UPDATE_REQUEST", + "ALERT_DESCOPE_REQUEST", + "ALERT_UPDATE_DECORATION_REQUEST", + "ALERT_DESCOPE_DECORATION_REQUEST", + "ALERT_PENDING_RESOLUTION_REQUEST" + ] + } + } + }, + "AlertEvidenceGraph": { + "type": "object", + "properties": { + "nodes": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/components/schemas/AssetNode" + }, + { + "$ref": "#/components/schemas/FindingNode" + }, + { + "$ref": "#/components/schemas/VulnerabilityNode" + } + ] + } + }, + "edges": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GraphEdge" + } + }, + "add": { + "writeOnly": true, + "oneOf": [ + { + "$ref": "#/components/schemas/AssetNode" + }, + { + "$ref": "#/components/schemas/FindingNode" + }, + { + "$ref": "#/components/schemas/VulnerabilityNode" + } + ] + } + }, + "description": "The resource specific graph" + }, + "AssetGraphs": { + "required": [ + "graphs" + ], + "type": "object", + "properties": { + "graphs": { + "type": "array", + "description": "The list of graphs representing a primary asset and its associations.", + "items": { + "$ref": "#/components/schemas/GraphAlertEvidenceGraph" + } + }, + "nextPageToken": { + "type": "string", + "description": "The next page token" + } + } + }, + "AssetNode": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/Node" + }, + { + "type": "object", + "properties": { + "metadata": { + "$ref": "#/components/schemas/AssetNodeMetadata" + } + } + } + ] + }, + "AssetNodeMetadata": { + "type": "object", + "properties": { + "lastModifiedAt": { + "type": "integer", + "description": "Last modified time for the asset", + "format": "int64" + }, + "externalAssetId": { + "type": "string", + "description": "ExternalId for asset" + }, + "assetApiId": { + "type": "integer", + "description": "ExternalId for asset", + "format": "int32" + }, + "accountId": { + "type": "string" + } + }, + "description": "Primary Asset Node Metadata" + }, + "CloudNetworkGraph": { + "type": "object", + "properties": { + "cloudGraphs": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/CloudNetworkGraphResponse" + }, + "description": "The cloud network graphs" + }, + "errors": { + "type": "array", + "description": "The error message for cloud network graph.", + "items": { + "type": "string", + "description": "The error message for cloud network graph." + } + } + }, + "description": "Represents the associated network graph for this finding" + }, + "CloudNetworkGraphResponse": { + "type": "object", + "properties": { + "nodes": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/NodeDataType" + }, + "description": "The nodes associated with this network graph" + }, + "paths": { + "type": "array", + "description": "The associated paths in the network graph", + "items": { + "type": "array", + "description": "The associated paths in the network graph", + "items": { + "$ref": "#/components/schemas/Path" + } + } + } + }, + "description": "The cloud network graphs" + }, + "CloudNetworkNode": { + "required": [ + "cloudType", + "type", + "unifiedAssetID" + ], + "type": "object", + "properties": { + "unifiedAssetID": { + "type": "string", + "description": "Prisma Cloud Unified Asset Identifier" + }, + "nativeID": { + "type": "string", + "description": "The native ID of the node" + }, + "name": { + "type": "string", + "description": "Name of the object" + }, + "cloudType": { + "type": "string", + "description": "Cloud type of the entity" + }, + "type": { + "type": "string", + "description": "Type of the endpoint" + }, + "subType": { + "type": "string", + "description": "Asset sub-type information" + }, + "rrn": { + "type": "string" + }, + "id": { + "type": "string" + }, + "APIID": { + "type": "integer", + "description": "Asset APIID", + "format": "int32" + } + }, + "description": "Represents a network node" + }, + "EdgeMetadata": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Effective Severity" + } + }, + "description": "Edge Metadata" + }, + "FindingBuildTimeRemediationMetadata": { + "type": "object", + "properties": { + "buildtime_resource_id": { + "type": "string" + }, + "buildtime_resource_name": { + "type": "string" + }, + "git_filename": { + "type": "string" + }, + "git_directory": { + "type": "string" + }, + "git_provider": { + "type": "string" + }, + "git_last_modified_time": { + "type": "integer", + "format": "int64" + }, + "git_last_modified_by": { + "type": "string" + }, + "git_modifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "git_org": { + "type": "string" + }, + "git_repository": { + "type": "string" + }, + "git_repo_id": { + "type": "string" + }, + "depends_on": { + "type": "string" + }, + "dependents": { + "type": "string" + }, + "yor_trace": { + "type": "string" + }, + "git_url": { + "type": "string" + }, + "framework": { + "type": "string" + }, + "code_security_url": { + "type": "string" + }, + "bc_resource_id": { + "type": "string" + }, + "alert_decoration_status": { + "type": "string" + }, + "fix_pr_url": { + "type": "string" + }, + "has_fix": { + "type": "boolean" + } + } + }, + "FindingNode": { + "required": [ + "type" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/Node" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The node type", + "enum": [ + "Finding" + ] + }, + "metadata": { + "$ref": "#/components/schemas/FindingNodeMetadata" + } + } + } + ] + }, + "FindingNodeMetadata": { + "required": [ + "description", + "lastModifiedAt", + "policyType", + "severity", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Finding Type" + }, + "policyType": { + "type": "string", + "description": "Policy Type" + }, + "severity": { + "type": "string", + "description": "Finding Severity" + }, + "description": { + "type": "string", + "description": "Finding description" + }, + "lastModifiedAt": { + "type": "integer", + "description": "Time when the finding was reported", + "format": "int64" + }, + "findingRemediationDetails": { + "$ref": "#/components/schemas/FindingRemediationDetails" + }, + "permissionGraph": { + "$ref": "#/components/schemas/IAMPermissionGraph" + }, + "networkGraph": { + "$ref": "#/components/schemas/CloudNetworkGraph" + }, + "isRemediable": { + "type": "boolean", + "description": "isRemediable" + } + }, + "description": "Finding Node Metadata" + }, + "FindingRemediationDetails": { + "type": "object", + "properties": { + "buildTimeMetadata": { + "$ref": "#/components/schemas/FindingBuildTimeRemediationMetadata" + }, + "runtimeMetadata": { + "$ref": "#/components/schemas/FindingRuntimeRemediationMetadaa" + } + }, + "description": "Represents the RemediationDetails for this finding" + }, + "FindingRuntimeRemediationMetadaa": { + "type": "object", + "properties": { + "remediationTs": { + "type": "integer", + "format": "int64" + } + } + }, + "GraphAlertEvidenceGraph": { + "type": "object", + "properties": { + "graph": { + "$ref": "#/components/schemas/AlertEvidenceGraph" + } + }, + "description": "The list of graphs representing a primary asset and its associations" + }, + "GraphEdge": { + "required": [ + "source", + "target" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Edge Id" + }, + "source": { + "type": "string", + "description": "Source node" + }, + "target": { + "type": "string", + "description": "Target node" + }, + "metadata": { + "$ref": "#/components/schemas/EdgeMetadata" + } + } + }, + "IAMPermissionGraph": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Permission graph items", + "items": { + "$ref": "#/components/schemas/IAMPermissionsResponse" + } + } + }, + "description": "Represents the associated permission graph for this finding" + }, + "IAMPermissionsResponse": { + "type": "object", + "properties": { + "grantedByCloudType": { + "type": "string", + "description": "Granted by cloud type" + }, + "grantedByEntityType": { + "type": "string", + "description": "Granted by entity type name" + }, + "grantedByEntityTypeId": { + "type": "integer", + "description": "Granted by entity type identifier", + "format": "int32" + }, + "grantedByEntityName": { + "type": "string", + "description": "Granted by entity name" + }, + "grantedByEntityAssetId": { + "type": "string", + "description": "Granted by entity asset identifier" + }, + "destCloudType": { + "type": "string", + "description": "Destination cloud type" + }, + "destCloudServiceName": { + "type": "string", + "description": "Destination cloud service name" + }, + "destCloudResourceName": { + "type": "string", + "description": "Destination cloud resource name" + }, + "destResourceTypeId": { + "type": "integer", + "description": "Destination cloud resource type identifier", + "format": "int32" + }, + "destResourceAssetId": { + "type": "string", + "description": "Destination cloud resource asset identifier" + } + }, + "description": "Permission graph items" + }, + "Node": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "description": "A dictionary of the node identifier and the associated node", + "discriminator": { + "propertyName": "type" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/AssetNode" + }, + { + "$ref": "#/components/schemas/FindingNode" + }, + { + "$ref": "#/components/schemas/VulnerabilityNode" + } + ] + }, + "NodeDataType": { + "type": "object", + "properties": { + "nodeData": { + "$ref": "#/components/schemas/CloudNetworkNode" + }, + "type": { + "type": "string", + "description": "Represents a network node type" + } + }, + "description": "The nodes associated with this network graph" + }, + "Path": { + "type": "object", + "properties": { + "nativeID": { + "type": "string", + "description": "The native ID of the node" + } + }, + "description": "The associated paths in the network graph" + }, + "VulnerabilityMetadata": { + "required": [ + "exploitable", + "patchable", + "published", + "score", + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Severity of the vulnerability" + }, + "score": { + "type": "number", + "description": "Score of the vulnerability", + "format": "float" + }, + "patchable": { + "type": "boolean", + "description": "Boolean value representing whether this vulnerability is patchable" + }, + "exploitable": { + "type": "boolean", + "description": "Boolean value representing whether this vulnerability is exploitable" + }, + "published": { + "type": "integer", + "description": "Long value representing when the vulnerability was published", + "format": "int64" + } + }, + "description": "Vulnerability Node Metadata" + }, + "VulnerabilityNode": { + "required": [ + "type" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/Node" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The node type", + "enum": [ + "Vulnerability" + ] + }, + "metadata": { + "$ref": "#/components/schemas/VulnerabilityMetadata" + } + } + } + ] + } + }, + "headers": { + "prismaId": { + "description": "x-prisma-tenant-id", + "style": "simple", + "schema": { + "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" + } + } + } +} diff --git a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv index ca092758f..18d7eb132 100644 --- a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv +++ b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv @@ -49,6 +49,9 @@ "get","/alert/policy/jobs/{id}/download","Download Policy Alerts JSON","download-policy-alerts-json","Alerts","Monolith" "post","/alert/remediation","List Alert Remediation Commands","get-alerts-remediation","Alerts","Monolith" "patch","/alert/remediation/{id}","Remediate Alert","perform-remediation-for-alert","Alerts","Monolith" +"post","/alert/v1/policy","Get Alert Count of Policies","alert-Policy-List","Alerts","AlertsMicroServices.json" +"post","/alert/v1/aggregate","Get Alert Count by Policy Groups","alert-Aggregation","Alerts","AlertsMicroServices.json" +"get","/alert/v1/{id}/graph","Get Alert Evidence Graph","get-Alert-Evidence-Graph","Alerts","AlertsMicroServices.json" "get","/anomalies/trusted_list","Get Anomaly Trusted List","getAllWhitelistEntries","Anomalies","AnomaliesMicroService.json" "post","/anomalies/trusted_list","Add Entries to Anomaly Trusted List","addToTrustedList","Anomalies","AnomaliesMicroService.json" "get","/anomalies/trusted_list/{id}","Get Anomaly Trusted List Entry","getWhitelistEntryById","Anomalies","AnomaliesMicroService.json" From e96b599cb6be02da8a00d08ffd40826b22d4bcce Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Tue, 31 Oct 2023 11:45:23 +0530 Subject: [PATCH 04/10] new SAML APIs --- .../cspm/PermissionGroupsMicroService.json | 302 ++++++++++++++---- .../cspm/consolidated_spec/all_endpoints.csv | 17 +- 2 files changed, 250 insertions(+), 69 deletions(-) diff --git a/openapi-specs/cspm/PermissionGroupsMicroService.json b/openapi-specs/cspm/PermissionGroupsMicroService.json index 533567529..70ae027a5 100644 --- a/openapi-specs/cspm/PermissionGroupsMicroService.json +++ b/openapi-specs/cspm/PermissionGroupsMicroService.json @@ -75,8 +75,8 @@ "tags": [ "Permission Groups" ], - "summary": "Get an existing Permission Group by ID", - "description": "Queries a list of existing permission groups by ID and returns a specific permission group that matches the Permission Group ID.", + "summary": "Get Permission Group by ID", + "description": "Queries existing Permission Groups by ID and returns a specific permission group that matches the Permission Group ID", "operationId": "get_1", "parameters": [ { @@ -140,14 +140,14 @@ "tags": [ "Permission Groups" ], - "summary": "Update an existing Permission Group", - "description": "Updates the parameters of an existing permission group.", - "operationId": "update_1", + "summary": "Update the Permission Group", + "description": "Updates the parameters of an existing Permission Group.", + "operationId": "update", "parameters": [ { "name": "id", "in": "path", - "description": "PermissionGroupId", + "description": "Permission Group ID", "required": true, "schema": { "type": "string" @@ -192,14 +192,14 @@ "tags": [ "Permission Groups" ], - "summary": "Delete an existing Permission Group by ID", - "description": "Deletes the default or custom permission group with the specified ID.", - "operationId": "delete", + "summary": "Delete a Permission Group by ID", + "description": "Deletes an existing permission group based on the permissionGroupId", + "operationId": "deletePermissionGroup", "parameters": [ { "name": "id", "in": "path", - "description": "PermissionGroupID", + "description": "Permission Group ID", "required": true, "schema": { "type": "string" @@ -231,6 +231,181 @@ "x-public": "true" } }, + "/authn/v1/saml/config": { + "get": { + "tags": [ + "SSO" + ], + "summary": "Get SAML Configuration", + "description": "Used by System Admins to get the SAML Configuration for the tenancy", + "operationId": "get-saml-config", + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SsoConfig" + } + } + } + }, + "401": { + "description": "Authentication error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SsoConfig" + } + } + } + }, + "403": { + "description": "Authorization error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SsoConfig" + } + } + } + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SsoConfig" + } + } + } + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-microservice": "true", + "x-public": "true" + }, + "put": { + "tags": [ + "SSO" + ], + "summary": "Update SAML Configuration", + "description": "Used by System Admins to update the SAML Configuration for the tenancy", + "operationId": "update-saml-config", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SsoConfig" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation" + }, + "400": { + "description": "Client error", + "headers": { + "x-redlock-status": { + "description": "error description", + "style": "simple", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "401": { + "description": "Authentication error" + }, + "403": { + "description": "Authorization error" + }, + "429": { + "description": "Too many requests" + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-microservice": "true", + "x-public": "true" + }, + "post": { + "tags": [ + "SSO" + ], + "summary": "Create SAML Configuration", + "description": "Used by System Admins to create the SAML Configuration for the tenancy", + "operationId": "create-saml-config", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SsoConfig" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation" + }, + "400": { + "description": "Client error", + "headers": { + "x-redlock-status": { + "description": "error description", + "style": "simple", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpringErrorResponse" + } + } + } + }, + "401": { + "description": "Authentication error" + }, + "403": { + "description": "Authorization error" + }, + "429": { + "description": "Too many requests" + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-microservice": "true", + "x-public": "true" + } + }, "/authn/api/v1/oauth2/config": { "get": { "tags": [ @@ -305,7 +480,6 @@ "x-redlock-auth": [] } ], - "x-microservice": "true", "x-ga": "23.10.1", "x-public": "true" }, @@ -364,7 +538,6 @@ "x-redlock-auth": [] } ], - "x-microservice": "true", "x-ga": "23.10.1", "x-public": "true" }, @@ -451,7 +624,6 @@ "x-redlock-auth": [] } ], - "x-microservice": "true", "x-ga": "23.10.1", "x-public": "true" }, @@ -460,7 +632,7 @@ "SSO" ], "summary": "Update OIDC Configuration Partially", - "description": "Updates some of the parameters of an existing OAuth2 configuration that is used by OpenID Connect(OIDC).", + "description": "Updates only the specified parameters of an existing OAuth2 configuration that is used by OpenID Connect(OIDC).", "operationId": "patch-oauth2-config", "requestBody": { "content": { @@ -510,7 +682,6 @@ "x-redlock-auth": [] } ], - "x-microservice": "true", "x-ga": "23.10.1", "x-public": "true" } @@ -520,8 +691,8 @@ "tags": [ "Permission Groups" ], - "summary": "Get all existing Permission Groups", - "description": "Returns the list of all existing Permission Groups.", + "summary": "Get All Permission Groups", + "description": "Returns the list of all existing Default and Custom Permission Groups.", "operationId": "getAll", "parameters": [ { @@ -591,7 +762,7 @@ "tags": [ "Permission Groups" ], - "summary": "Add new Custom Permission Group", + "summary": "Add a Permission Group", "description": "Creates a new custom permission group with granular permissions that restrict access to the Prisma Cloud administrative console. Values include name, optional description and selection of enabled features and functions.", "operationId": "save", "requestBody": { @@ -634,7 +805,7 @@ "tags": [ "Permission Groups" ], - "summary": "Get all active features", + "summary": "Get All Active Features", "description": "Returns the list of Prisma Cloud features that can be added to Custom Permission Groups", "operationId": "getFeatures", "responses": { @@ -689,7 +860,7 @@ ], "summary": "Get OIDC Login URL", "description": "Get the OIDC login URL for the tenant.", - "operationId": "get-oauth2-login-url", + "operationId": "get-oidc-login-url", "parameters": [ { "name": "user_name", @@ -717,6 +888,9 @@ "application/json": { "schema": { "type": "string" + }, + "example": { + "url": "https://prismacloud.io/authn/api/v1/oauth2/authorization/b5229d13-d2a2-4469-b9f8-1912cb11c2eb" } } } @@ -754,7 +928,6 @@ } } }, - "x-microservice": "true", "x-ga": "23.10.1", "x-public": "true", "security": [ @@ -867,68 +1040,74 @@ "type": "object", "properties": { "identityProvider": { - "title": "IdP Issuer URI", - "type": "string" + "type": "string", + "description": "Identity Provider Issuer URI" }, "certificate": { - "title": "IdP Certificate", - "type": "string" + "type": "string", + "description": "Identity Provider Certificate" }, "enabled": { - "title": "SSO Enabled", - "type": "boolean" + "type": "boolean", + "description": "Is the configuration enabled?", + "default": false }, "logoutRedirectUrl": { - "title": "IdP Sign-Off URL", - "type": "string" + "type": "string", + "description": "Identity Provider Logout URL" }, "relayStateParamName": { - "title": "IdP Relay State Param", - "type": "string" + "type": "string", + "description": "Identity Provider Relay State Param" }, "lastLoginErrors": { - "title": "Last Login Errors", "type": "array", + "description": "Last Login Errors", + "readOnly": true, "items": { - "title": "Last Login Errors", - "type": "string" + "type": "string", + "description": "Last Login Errors", + "readOnly": true } }, "audienceUri": { - "title": "AudienceUri or Prisma Cloud SP-Entity-Id", - "type": "string" + "type": "string", + "description": "Audience URI or Prisma Cloud SP-Entity-Id", + "readOnly": true }, "autoProvisionEnabled": { - "title": "AutoProvision Enabled", - "type": "boolean" + "type": "boolean", + "description": "Enable JIT provisioning", + "default": false }, "requireAccessSamlUrlPublic": { - "title": "Skip Public address check for Access SAML URL", - "type": "boolean" + "type": "boolean", + "description": "Skip Public address check for Access SAML URL", + "default": true }, "autoProvisionSamlEmail": { - "title": "AutoProvision SAML Attribute - Email (Mandatory)", - "type": "string" + "type": "string", + "description": "JIT provisioning SAML Attribute - Email" }, "autoProvisionSamlFirstName": { - "title": "AutoProvision SAML Attribute - First name (Mandatory)", - "type": "string" + "type": "string", + "description": "JIT provisioning SAML Attribute - First name" }, "autoProvisionSamlLastName": { - "title": "AutoProvision SAML Attribute - Last name (Mandatory)", - "type": "string" + "type": "string", + "description": "JIT provisioning SAML Attribute - Last name" }, "autoProvisionSamlRole": { - "title": "AutoProvision SAML Attribute - Role (Mandatory)", - "type": "string" + "type": "string", + "description": "JIT provisioning SAML Attribute - Role" }, "autoProvisionSamlTimezone": { - "title": "AutoProvision SAML Attribute - TZ", - "type": "string" + "type": "string", + "description": "JIT provisioning SAML Attribute - TZ" }, "redLockAccessSamlUrl": { - "title": "IdP Configured Prisma Cloud Access URL", - "type": "string" + "type": "string", + "description": "Identity Provider Configured Prisma Cloud Access URL" } } }, @@ -1003,7 +1182,6 @@ "OAuth2ConfigDetail": { "required": [ "clientId", - "grantType", "idpAuthUri", "issuer", "tokenUri" @@ -1084,15 +1262,6 @@ "description": "Prisma Cloud callback endpoint URL from the IdP during authentication.", "readOnly": true }, - "clientSecretIsBlank": { - "type": "boolean", - "description": "True if client secret configured; False otherwise. ", - "readOnly": true, - "enum": [ - true, - false - ] - }, "lastLoginErrors": { "type": "array", "description": "Recent OIDC login errors.", @@ -1124,6 +1293,15 @@ "description": "Last update timestamp.", "format": "int64", "readOnly": true + }, + "clientSecretIsBlank": { + "type": "boolean", + "description": "True if client secret is not configured; False otherwise.", + "readOnly": true, + "enum": [ + true, + false + ] } } }, diff --git a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv index 18d7eb132..2d93e18ca 100644 --- a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv +++ b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv @@ -318,17 +318,20 @@ "get","/cloud-accounts-manager/v1/cloud-accounts/aws/{accountId}/features/aws-flow-logs/s3","Fetch AWS S3 Flow Log details","get-aws-s3-flowlog","Cloud Ingested Logs","Monolith" "patch","/cloud-accounts-manager/v1/cloud-accounts/aws/{accountId}/features/aws-flow-logs/s3","Save AWS S3 Flow Log details","save-aws-s3-flowlog","Cloud Ingested Logs","Monolith" "post","/cloud-accounts-manager/v1/cloud-accounts/aws/{accountId}/features/aws-flow-logs/s3/status","Check AWS S3 Flow Log status","check-aws-s3-flowlog","Cloud Ingested Logs","Monolith" -"get","/authz/v1/permission_group/{id}","Get an existing Permission Group by ID","get_1","Permission Groups","PermissionGroupsMicroService.json" -"put","/authz/v1/permission_group/{id}","Update an existing Permission Group","update_1","Permission Groups","PermissionGroupsMicroService.json" -"delete","/authz/v1/permission_group/{id}","Delete an existing Permission Group by ID","delete","Permission Groups","PermissionGroupsMicroService.json" +"get","/authz/v1/permission_group/{id}","Get Permission Group by ID","get_1","Permission Groups","PermissionGroupsMicroService.json" +"put","/authz/v1/permission_group/{id}","Update the Permission Group","update","Permission Groups","PermissionGroupsMicroService.json" +"delete","/authz/v1/permission_group/{id}","Delete a Permission Group by ID","deletePermissionGroup","Permission Groups","PermissionGroupsMicroService.json" +"get","/authn/v1/saml/config","Get SAML Configuration","get-saml-config","SSO","PermissionGroupsMicroService.json" +"put","/authn/v1/saml/config","Update SAML Configuration","update-saml-config","SSO","PermissionGroupsMicroService.json" +"post","/authn/v1/saml/config","Create SAML Configuration","create-saml-config","SSO","PermissionGroupsMicroService.json" "get","/authn/api/v1/oauth2/config","Get OIDC Configuration","get-oauth2-config","SSO","PermissionGroupsMicroService.json" "put","/authn/api/v1/oauth2/config","Update OIDC Configuration","update-oauth2-config","SSO","PermissionGroupsMicroService.json" "post","/authn/api/v1/oauth2/config","Create an OIDC Configuration","create-oauth2-config","SSO","PermissionGroupsMicroService.json" "patch","/authn/api/v1/oauth2/config","Update OIDC Configuration Partially","patch-oauth2-config","SSO","PermissionGroupsMicroService.json" -"get","/authz/v1/permission_group","Get all existing Permission Groups","getAll","Permission Groups","PermissionGroupsMicroService.json" -"post","/authz/v1/permission_group","Add new Custom Permission Group","save","Permission Groups","PermissionGroupsMicroService.json" -"get","/authz/v1/feature","Get all active features","getFeatures","Permission Groups","PermissionGroupsMicroService.json" -"get","/authn/api/v1/oauth2/login","Get OIDC Login URL","get-oauth2-login-url","SSO","PermissionGroupsMicroService.json" +"get","/authz/v1/permission_group","Get All Permission Groups","getAll","Permission Groups","PermissionGroupsMicroService.json" +"post","/authz/v1/permission_group","Add a Permission Group","save","Permission Groups","PermissionGroupsMicroService.json" +"get","/authz/v1/feature","Get All Active Features","getFeatures","Permission Groups","PermissionGroupsMicroService.json" +"get","/authn/api/v1/oauth2/login","Get OIDC Login URL","get-oidc-login-url","SSO","PermissionGroupsMicroService.json" "get","/filter/policy/suggest","List Policy Filters","get-policy-filters-and-options","Policy","Monolith" "post","/filter/policy/suggest","List Policy Filter Autocomplete Suggestions","get-policy-filter-options","Policy","Monolith" "get","/policy","List Policies","get-policies","Policy","Monolith" From a436b7efaad7e28d05f4f6890af8c099854c5a6e Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Tue, 31 Oct 2023 17:04:05 +0530 Subject: [PATCH 05/10] bulk account update --- .../cspm/CloudAccountsMicroService.json | 3226 +++++++++-------- .../cspm/consolidated_spec/all_endpoints.csv | 7 +- 2 files changed, 1800 insertions(+), 1433 deletions(-) diff --git a/openapi-specs/cspm/CloudAccountsMicroService.json b/openapi-specs/cspm/CloudAccountsMicroService.json index 296df6a82..653b92256 100644 --- a/openapi-specs/cspm/CloudAccountsMicroService.json +++ b/openapi-specs/cspm/CloudAccountsMicroService.json @@ -53,26 +53,33 @@ } ], "paths": { - "/cas/v1/features/cloud/{cloud_type}": { - "post": { + "/cas/api/v1/org/{id}/features": { + "put": { "tags": [ "Cloud Accounts (All)" ], - "summary": "Fetch Supported Features For Cloud Type", - "description": "Lists the features supported for the specified cloud type and account type. \n\n The response contains *supportedFeatures* key whose value contains supported feature names.\n\n **NOTE**: The supportedFeatures returns \"Cloud Visibility Compliance and Governance\" string by default. Do not explicitly pass this string as a feature in the request body param in any cloud account API(Like in Add AWS Cloud Account, Update AWS Cloud Account,Generate and Download the AWS CFT Template, etc).", - "operationId": "fetch-supported-features", + "summary": "Enable a Feature for Members", + "description": "Enable or disable the feature for a set of member accounts linked to an organization.", + "operationId": "save-Bulk-Cloud-Account-Feature", "parameters": [ { - "name": "cloud_type", + "name": "id", "in": "path", "required": true, "schema": { - "type": "string", - "enum": [ - "aws", - "azure", - "gcp" - ] + "type": "string" + } + }, + { + "name": "x-redlock-auth", + "in": "header", + "description": "x-redlock-auth token should be used for U2S API call", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } } } ], @@ -80,69 +87,59 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FeaturesAvailableRequest" + "$ref": "#/components/schemas/CloudAccountBulkFeatureRequest" } } }, "required": true }, "responses": { - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - } - } - } - }, "429": { "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "401": { - "description": "Unauthorized Access", + "200": { + "description": "Successfully saved/updated cloud account feature for the given member accounts", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/SuccessResponse" } } } }, - "500": { - "description": "Failed with an Exception, Internal Error Occurred", + "400": { + "description": "Invalid Account Id/Member Ids cannot be empty or null/Member account list should be less than 500 in a single request/Feature {0} is not allowed/Invalid feature state {0} for feature {1}/Organisation Id {0} is not onboarded/AccountType of {0} is invalid, should be either of Organisation / Master Service Account / Tenant/Members account {0} do not belong to {1}/Compute features are not supported for {0}/Feature {0} is not present for given account,/For feature = {0}, parent feature state is {1}/Organisation / Master Service Account / Tenant Id {0} should not be part of memberIds list/AccountType of member account {0} is invalid. Member accountType should be of type {1}/", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "200": { - "description": "Features supported for the cloud type", + "404": { + "description": "Tenant not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FeaturesAvailableResponse" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "425": { - "description": "Too Early to access the resource", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } @@ -152,7 +149,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } @@ -162,17 +159,17 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "404": { - "description": "Not Found", + "425": { + "description": "Too Early to access the resource", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } @@ -186,27 +183,41 @@ ] } }, - "/cas/v1/aws_template": { + "/cas/v1/azure_template": { "post": { "tags": [ - "Cloud Accounts (AWS)" + "Cloud Accounts (Azure)" + ], + "summary": "Generate and Download the Terraform template (Azure)", + "description": "Generates the Azure Terraform template. The generated Terraform template includes the permissions based on selected features. The terraform template can be used to create an app registration and required roles on the Azure Portal.\n\n**Note**: This feature is available only for Prisma Commercial and Government stacks.", + "operationId": "generate-template-link", + "parameters": [ + { + "name": "x-redlock-auth", + "in": "header", + "description": "x-redlock-auth token should be used for U2S API call", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + } ], - "summary": "Generate and Download the CFT Template (AWS)", - "description": "Generates the AWS CFT template. The Generated CFT template includes Prisma Cloud generated externalId and the permissions based on selected features.\n The CFT template can be used to create IAM role via AWS CloudFormation stack.", - "operationId": "generate-cft-template-aws", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AWSTemplateGenRequest" + "$ref": "#/components/schemas/AzureTemplateGenRequest" } } }, "required": true }, "responses": { - "400": { - "description": "Bad Request", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -215,8 +226,8 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { @@ -228,18 +239,8 @@ "200": { "description": "Template Generated Successfully" }, - "401": { - "description": "Unauthorized Access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - } - } - } - }, - "425": { - "description": "Too Early to access the resource", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { @@ -258,8 +259,8 @@ } } }, - "500": { - "description": "Failed with an exception.", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -268,8 +269,8 @@ } } }, - "403": { - "description": "Tenant License Expired", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { @@ -278,8 +279,8 @@ } } }, - "404": { - "description": "Not Found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -297,55 +298,68 @@ ] } }, - "/cas/v1/cloud/{cloudType}/deployment-type": { - "get": { + "/cas/v1/gcp_template": { + "post": { "tags": [ - "Cloud Accounts (OCI and Alibaba)" + "Cloud Accounts (GCP)" ], - "summary": "Get Cloud Account Deployment Types (Alibaba)", - "description": "List cloud account deployment types. Currently, this is applicable only for Alibaba cloud.", - "operationId": "getCloudDeploymentTypes", + "summary": "Generate and Download the Terraform Template (GCP)", + "description": "Generate the GCP Terraform template. The generated Terraform template includes the permissions based on selected features.", + "operationId": "generate-template-link-gcp-gcp", "parameters": [ { - "name": "cloudType", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "Cloud Account Type", - "enum": [ - "alibaba-cloud" - ] + "name": "x-redlock-auth", + "in": "header", + "description": "x-redlock-auth token should be used for U2S API call", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GCPTemplateGenRequest" + } + } + }, + "required": true + }, "responses": { "401": { "description": "Unauthorized Access", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } }, - "403": { - "description": "Tenant License Expired", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } }, - "425": { - "description": "Too Early to access the resource", + "200": { + "description": "Template Generated Successfully" + }, + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } @@ -355,17 +369,17 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } @@ -375,37 +389,17 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" - } - } - } - }, - "200": { - "description": "Successfully retrieved list of cloud deployment types", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeploymentTypeListResponse" - } - } - } - }, - "500": { - "description": "Failed with an Exception, Internal Error Occurred", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } }, - "404": { - "description": "Tenant not found", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } @@ -419,27 +413,57 @@ ] } }, - "/cas/v1/aws_template/presigned_url": { + "/cas/v1/features/cloud/{cloud_type}": { "post": { "tags": [ - "Cloud Accounts (AWS)" + "Cloud Accounts (All)" + ], + "summary": "Fetch Supported Features For Cloud Type", + "description": "Lists the features supported for the specified cloud type and account type. \n\n The response contains *supportedFeatures* key whose value contains supported feature names.\n\n **NOTE**: The supportedFeatures returns \"Cloud Visibility Compliance and Governance\" string by default. Do not explicitly pass this string as a feature in the request body param in any cloud account API(Like in Add AWS Cloud Account, Update AWS Cloud Account,Generate and Download the AWS CFT Template, etc).", + "operationId": "fetch-supported-features", + "parameters": [ + { + "name": "cloud_type", + "in": "path", + "required": true, + "schema": { + "type": "string", + "enum": [ + "aws", + "azure", + "gcp", + "alibaba", + "oci", + "ibm" + ] + } + }, + { + "name": "x-redlock-auth", + "in": "header", + "description": "x-redlock-auth token should be used for U2S API call", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + } ], - "summary": "Generate the CFT Template Link (AWS)", - "description": "Generates the AWS Cloudformation Stack Quick create link with S3 presigned CFT URL. The Generated CFT template will include Prisma Cloud generated externalId and the permissions based on selected features.\n\n The response contains *createStackLinkWithS3PresignedUrl* key whose value can be used to create IAM role via AWS CloudFormation stack.\n\n There are 2 ways to create IAM role:\n\n 1. [Manual] If you are logged into your AWS Management console, directly open the value of the *createStackLinkWithS3PresignedUrl* key on a new tab in the browser.\n 2. [Automation] Else, you can extract the actual S3 Presigned CFT URL from the *createStackLinkWithS3PresignedUrl* key by splitting at templateURL= and url decoding the last index of the split(i.e right part of the split). This extracted decoded link can be used to create or update the IAM role CloudFormation stack. \n\n **NOTE**: The *createStackLinkWithS3PresignedUrl* link is valid for 1hr", - "operationId": "generate-cft-template-link-aws", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AWSTemplateGenRequest" + "$ref": "#/components/schemas/FeaturesAvailableRequest" } } }, "required": true }, "responses": { - "400": { - "description": "Bad Request", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -448,8 +472,8 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "425": { + "description": "Too Early to access the resource", "content": { "application/json": { "schema": { @@ -458,18 +482,18 @@ } } }, - "200": { - "description": "Template Generated Successfully", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AWSCFTGenResponse" + "$ref": "#/components/schemas/ApiError" } } } }, - "401": { - "description": "Unauthorized Access", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { @@ -478,18 +502,18 @@ } } }, - "425": { - "description": "Too Early to access the resource", + "200": { + "description": "Features supported for the cloud type", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/FeaturesAvailableResponse" } } } }, - "405": { - "description": "Wrong Http Method", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -498,8 +522,8 @@ } } }, - "500": { - "description": "Failed with an exception.", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { @@ -508,8 +532,8 @@ } } }, - "403": { - "description": "Tenant License Expired", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -518,8 +542,8 @@ } } }, - "404": { - "description": "Not Found", + "500": { + "description": "Failed with an Exception, Internal Error Occurred", "content": { "application/json": { "schema": { @@ -537,19 +561,33 @@ ] } }, - "/cas/v1/gcp_template": { + "/cas/v1/aws_template": { "post": { "tags": [ - "Cloud Accounts (GCP)" + "Cloud Accounts (AWS)" + ], + "summary": "Generate and Download the CFT Template (AWS)", + "description": "Generates the AWS CFT template. The Generated CFT template includes Prisma Cloud generated externalId and the permissions based on selected features.\n The CFT template can be used to create IAM role via AWS CloudFormation stack.", + "operationId": "generate-cft-template-aws", + "parameters": [ + { + "name": "x-redlock-auth", + "in": "header", + "description": "x-redlock-auth token should be used for U2S API call", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + } ], - "summary": "Generate and Download the Terraform Template (GCP)", - "description": "Generate the GCP Terraform template. The generated Terraform template includes the permissions based on selected features.", - "operationId": "generate-template-link-gcp-gcp", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GCPTemplateGenRequest" + "$ref": "#/components/schemas/AWSTemplateGenRequest" } } }, @@ -557,7 +595,10 @@ }, "responses": { "400": { - "description": "Bad Request", + "description": "Bad Request/Bad Request with accountType account, only valid cftType is account/Bad Request with accountType organization, cftType account is not valid/AccountType can be one of the following [account , organization]/AccountId is not valid Feature list is invalid /Invalid usage of customMemberRoleNameEnabled" + }, + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -566,8 +607,8 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "425": { + "description": "Too Early to access the resource", "content": { "application/json": { "schema": { @@ -576,11 +617,8 @@ } } }, - "200": { - "description": "Template Generated Successfully" - }, - "401": { - "description": "Unauthorized Access", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { @@ -589,8 +627,11 @@ } } }, - "405": { - "description": "Wrong Http Method", + "200": { + "description": "Template Generated Successfully" + }, + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { @@ -599,8 +640,8 @@ } } }, - "500": { - "description": "Failed with an exception.", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { @@ -609,8 +650,8 @@ } } }, - "403": { - "description": "Tenant License Expired", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -619,8 +660,8 @@ } } }, - "404": { - "description": "Not Found", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { @@ -638,19 +679,33 @@ ] } }, - "/cas/v1/azure_template": { + "/cas/v1/aws_template/presigned_url": { "post": { "tags": [ - "Cloud Accounts (Azure)" + "Cloud Accounts (AWS)" + ], + "summary": "Generate the CFT Template Link (AWS)", + "description": "Generates the AWS Cloudformation Stack Quick create link with S3 presigned CFT URL. The Generated CFT template will include Prisma Cloud generated externalId and the permissions based on selected features.\n\n The response contains *createStackLinkWithS3PresignedUrl* key whose value can be used to create IAM role via AWS CloudFormation stack.\n\n There are 2 ways to create IAM role:\n\n 1. [Manual] If you are logged into your AWS Management console, directly open the value of the *createStackLinkWithS3PresignedUrl* key on a new tab in the browser.\n 2. [Automation] Else, you can extract the actual S3 Presigned CFT URL from the *createStackLinkWithS3PresignedUrl* key by splitting at templateURL= and url decoding the last index of the split(i.e right part of the split). This extracted decoded link can be used to create or update the IAM role CloudFormation stack. \n\n **NOTE**: The *createStackLinkWithS3PresignedUrl* link is valid for 1hr", + "operationId": "generate-cft-template-link-aws", + "parameters": [ + { + "name": "x-redlock-auth", + "in": "header", + "description": "x-redlock-auth token should be used for U2S API call", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + } ], - "summary": "Generate and Download the Terraform template (Azure)", - "description": "Generates the Azure Terraform template. The generated Terraform template includes the permissions based on selected features. The terraform template can be used to create an app registration and required roles on the Azure Portal.\n\n**Note**: This feature is available only for Prisma Commercial and Government stacks.", - "operationId": "generate-template-link", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AzureTemplateGenRequest" + "$ref": "#/components/schemas/AWSTemplateGenRequest" } } }, @@ -667,8 +722,8 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -677,11 +732,8 @@ } } }, - "200": { - "description": "Template Generated Successfully" - }, - "401": { - "description": "Unauthorized Access", + "425": { + "description": "Too Early to access the resource", "content": { "application/json": { "schema": { @@ -690,8 +742,8 @@ } } }, - "405": { - "description": "Wrong Http Method", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { @@ -700,8 +752,8 @@ } } }, - "500": { - "description": "Failed with an exception.", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { @@ -710,8 +762,8 @@ } } }, - "403": { - "description": "Tenant License Expired", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { @@ -729,6 +781,26 @@ } } } + }, + "429": { + "description": "Rate Limit Exceeded", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "200": { + "description": "Template Generated Successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AWSCFTGenResponse" + } + } + } } }, "x-public": "true", @@ -738,60 +810,332 @@ } ] } - } - }, - "components": { - "schemas": { - "AccountGroupInfo": { - "type": "object", - "properties": { - "groupName": { - "type": "string" - }, - "lastModifiedBy": { - "type": "string" - }, - "groupId": { - "type": "string" + }, + "/cas/v1/cloud/{cloudType}/deployment-type": { + "get": { + "tags": [ + "Cloud Accounts (OCI and Alibaba)" + ], + "summary": "Get Cloud Account Deployment Types (Alibaba)", + "description": "List cloud account deployment types. Currently, this is applicable only for Alibaba cloud.", + "operationId": "getCloudDeploymentTypes", + "parameters": [ + { + "name": "cloudType", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Cloud Account Type", + "enum": [ + "alibaba-cloud" + ] + } }, - "autoCreated": { - "type": "boolean" + { + "name": "x-redlock-auth", + "in": "header", + "description": "x-redlock-auth token should be used for U2S API call", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } } - } - }, - "CloudAccountFeatureModel": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "mode": { - "type": "string" + ], + "responses": { + "403": { + "description": "Tenant License Expired", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } }, - "state": { - "type": "string" + "404": { + "description": "Tenant not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } }, - "displayName": { - "type": "string" - } - } - }, - "IbmCloudAccount": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" + "500": { + "description": "Failed with an Exception, Internal Error Occurred", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } }, - "parentId": { - "type": "integer", - "format": "int32" + "429": { + "description": "Rate Limit Exceeded", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } }, - "parentAccountId": { - "type": "string" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } }, - "name": { - "type": "string" + "425": { + "description": "Too Early to access the resource", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } + }, + "200": { + "description": "Successfully retrieved list of cloud deployment types", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeploymentTypeListResponse" + } + } + } + }, + "401": { + "description": "Unauthorized Access", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } + }, + "405": { + "description": "Wrong Http Method", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + } + } + }, + "x-public": "true", + "security": [ + { + "x-redlock-auth": [] + } + ] + } + } + }, + "components": { + "schemas": { + "ApiError": { + "type": "object", + "properties": { + "status": { + "type": "string", + "enum": [ + "100 CONTINUE", + "101 SWITCHING_PROTOCOLS", + "102 PROCESSING", + "103 CHECKPOINT", + "200 OK", + "201 CREATED", + "202 ACCEPTED", + "203 NON_AUTHORITATIVE_INFORMATION", + "204 NO_CONTENT", + "205 RESET_CONTENT", + "206 PARTIAL_CONTENT", + "207 MULTI_STATUS", + "208 ALREADY_REPORTED", + "226 IM_USED", + "300 MULTIPLE_CHOICES", + "301 MOVED_PERMANENTLY", + "302 FOUND", + "302 MOVED_TEMPORARILY", + "303 SEE_OTHER", + "304 NOT_MODIFIED", + "305 USE_PROXY", + "307 TEMPORARY_REDIRECT", + "308 PERMANENT_REDIRECT", + "400 BAD_REQUEST", + "401 UNAUTHORIZED", + "402 PAYMENT_REQUIRED", + "403 FORBIDDEN", + "404 NOT_FOUND", + "405 METHOD_NOT_ALLOWED", + "406 NOT_ACCEPTABLE", + "407 PROXY_AUTHENTICATION_REQUIRED", + "408 REQUEST_TIMEOUT", + "409 CONFLICT", + "410 GONE", + "411 LENGTH_REQUIRED", + "412 PRECONDITION_FAILED", + "413 PAYLOAD_TOO_LARGE", + "413 REQUEST_ENTITY_TOO_LARGE", + "414 URI_TOO_LONG", + "414 REQUEST_URI_TOO_LONG", + "415 UNSUPPORTED_MEDIA_TYPE", + "416 REQUESTED_RANGE_NOT_SATISFIABLE", + "417 EXPECTATION_FAILED", + "418 I_AM_A_TEAPOT", + "419 INSUFFICIENT_SPACE_ON_RESOURCE", + "420 METHOD_FAILURE", + "421 DESTINATION_LOCKED", + "422 UNPROCESSABLE_ENTITY", + "423 LOCKED", + "424 FAILED_DEPENDENCY", + "425 TOO_EARLY", + "426 UPGRADE_REQUIRED", + "428 PRECONDITION_REQUIRED", + "429 TOO_MANY_REQUESTS", + "431 REQUEST_HEADER_FIELDS_TOO_LARGE", + "451 UNAVAILABLE_FOR_LEGAL_REASONS", + "500 INTERNAL_SERVER_ERROR", + "501 NOT_IMPLEMENTED", + "502 BAD_GATEWAY", + "503 SERVICE_UNAVAILABLE", + "504 GATEWAY_TIMEOUT", + "505 HTTP_VERSION_NOT_SUPPORTED", + "506 VARIANT_ALSO_NEGOTIATES", + "507 INSUFFICIENT_STORAGE", + "508 LOOP_DETECTED", + "509 BANDWIDTH_LIMIT_EXCEEDED", + "510 NOT_EXTENDED", + "511 NETWORK_AUTHENTICATION_REQUIRED" + ] + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "message": { + "type": "string" + }, + "debugMessage": { + "type": "string" + } + } + }, + "IBMTemplateGenRequest": { + "type": "object", + "properties": { + "accountType": { + "type": "string" + } + } + }, + "ApiErrorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/components/schemas/NestedApiErrorResponse" + } + } + }, + "NestedApiErrorResponse": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "target": { + "type": "string" + }, + "innerError": { + "$ref": "#/components/schemas/NestedInnerApiErrorResponse" + } + } + }, + "NestedInnerApiErrorResponse": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "supportedValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AccountGroupInfo": { + "type": "object", + "properties": { + "groupName": { + "type": "string" + }, + "lastModifiedBy": { + "type": "string" + }, + "groupId": { + "type": "string" + }, + "autoCreated": { + "type": "boolean" + } + } + }, + "CloudAccountFeatureModel": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "state": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "defaultMemberState": { + "type": "string" + } + } + }, + "IbmCloudAccount": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "parentId": { + "type": "integer", + "format": "int32" + }, + "parentAccountId": { + "type": "string" + }, + "name": { + "type": "string" }, "cloudType": { "type": "string", @@ -918,90 +1262,21 @@ } } }, - "ApiErrorResponse": { + "IbmPermissionCheckRequest": { "type": "object", "properties": { - "error": { - "$ref": "#/components/schemas/NestedApiErrorResponse" + "svcIdIamId": { + "type": "string" + }, + "apiKey": { + "type": "string" } } }, - "NestedApiErrorResponse": { + "APIErrorObject": { "type": "object", "properties": { "code": { - "type": "string" - }, - "message": { - "type": "string" - }, - "target": { - "type": "string" - }, - "innerError": { - "$ref": "#/components/schemas/NestedInnerApiErrorResponse" - } - } - }, - "NestedInnerApiErrorResponse": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "supportedValues": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CloudAccountFeaturePatchRequest": { - "type": "object", - "properties": { - "mode": { - "type": "string" - }, - "state": { - "type": "string" - } - } - }, - "SuccessResponse": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - } - } - }, - "ErrorResponse": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "details": { - "type": "string" - } - } - }, - "ApiError": { - "type": "object", - "properties": { - "status": { "type": "string", "enum": [ "100 CONTINUE", @@ -1074,211 +1349,300 @@ "511 NETWORK_AUTHENTICATION_REQUIRED" ] }, - "timestamp": { - "type": "string", - "format": "date-time" - }, "message": { "type": "string" }, - "debugMessage": { + "target": { "type": "string" + }, + "innererror": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "innerError": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "writeOnly": true } } }, - "IamToken": { + "RestAPIErrorResponse": { "type": "object", "properties": { - "exception": { - "type": "object", - "properties": { - "stackTrace": { - "type": "array", - "items": { - "type": "object", - "properties": { - "classLoaderName": { - "type": "string" - }, - "moduleName": { - "type": "string" - }, - "moduleVersion": { - "type": "string" - }, - "methodName": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "lineNumber": { - "type": "integer", - "format": "int32" - }, - "className": { - "type": "string" - }, - "nativeMethod": { - "type": "boolean" - } - } - } - }, - "message": { - "type": "string" - }, - "suppressed": { - "type": "array", - "items": { - "type": "object", - "properties": { - "stackTrace": { - "type": "array", - "items": { - "type": "object", - "properties": { - "classLoaderName": { - "type": "string" - }, - "moduleName": { - "type": "string" - }, - "moduleVersion": { - "type": "string" - }, - "methodName": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "lineNumber": { - "type": "integer", - "format": "int32" - }, - "className": { - "type": "string" - }, - "nativeMethod": { - "type": "boolean" - } - } - } - }, - "message": { - "type": "string" - }, - "localizedMessage": { - "type": "string" - } - } - } - }, - "localizedMessage": { - "type": "string" - } - } - }, - "accessToken": { - "type": "string" - }, - "refreshToken": { - "type": "string" - }, - "tokenType": { + "error": { + "$ref": "#/components/schemas/APIErrorObject" + } + } + }, + "AccountStatusMessage": { + "type": "object", + "properties": { + "message": { "type": "string" }, - "expiresIn": { - "type": "integer", - "format": "int64" - }, - "expiration": { - "type": "integer", - "format": "int64" - }, - "tokenValid": { + "staticMessage": { "type": "boolean" } } }, - "IbmAccessTokenResponse": { + "CloudAccountStatus": { "type": "object", "properties": { - "rawToken": { - "$ref": "#/components/schemas/IamToken" + "id": { + "type": "string" }, - "meta": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "statusMessage": { + "$ref": "#/components/schemas/AccountStatusMessage" } } }, - "GCPTokenRequestV2": { + "PermissionCheckResponse": { "type": "object", "properties": { - "scopes": { + "status": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CloudAccountStatus" } } } }, - "GCPTokenResponseV2": { + "CloudAccountModel": { "type": "object", "properties": { - "rawAuthToken": { + "customerName": { "type": "string" }, - "expirationTime": { + "customerPrismaId": { "type": "integer", "format": "int64" }, - "meta": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - }, - "AwsCloudAccount": { - "type": "object", - "properties": { - "cloudAccount": { - "$ref": "#/components/schemas/CloudAccount" + "id": { + "type": "integer", + "format": "int32" }, - "roleArn": { + "accountId": { "type": "string" }, - "externalId": { + "name": { "type": "string" }, - "defaultAccountGroupId": { + "cloudType": { "type": "string" }, - "defaultAccountGroupName": { + "accountType": { "type": "string" }, - "memberRoleName": { + "deploymentType": { "type": "string" }, - "memberExternalId": { + "parentId": { "type": "string" }, - "hasMemberRole": { + "parentName": { + "type": "string" + }, + "enabled": { "type": "boolean" }, - "templateUrl": { + "deleted": { + "type": "boolean" + }, + "protectionMode": { "type": "string" }, - "memberTemplateUrl": { + "createdEpochMillis": { + "type": "integer", + "format": "int64" + }, + "createdBy": { "type": "string" }, - "eventbridgeRuleNamePrefix": { + "lastModifiedEpochMillis": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "deploymentTypeDescription": { + "type": "string" + }, + "hasConfigError": { + "type": "boolean" + }, + "storageScanEnabled": { + "type": "boolean" + }, + "addedOn": { + "type": "integer", + "format": "int64" + }, + "permissionStatusList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudAccountPermissionStatusApiRequest" + } + }, + "features": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/FeatureDetails" + } + } + } + }, + "CloudAccountPermissionStatusApiRequest": { + "type": "object", + "properties": { + "subComponent": { + "type": "string" + }, + "component": { + "type": "string" + }, + "statusCode": { + "type": "string" + }, + "status": { + "type": "string" + }, + "error": { + "type": "string" + }, + "remediation": { + "type": "string" + }, + "statusTs": { + "type": "integer", + "format": "int64" + }, + "accountId": { + "type": "string" + } + } + }, + "FeatureDetails": { + "type": "object", + "properties": { + "featureName": { + "type": "string" + }, + "featureMode": { + "type": "string" + }, + "createdTs": { + "type": "integer", + "format": "int64" + }, + "featureState": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "defaultMemberState": { + "type": "string" + } + } + }, + "AlibabaAccessTokenResponse": { + "type": "object", + "properties": { + "rawToken": { + "$ref": "#/components/schemas/Credentials" + } + } + }, + "Credentials": { + "type": "object", + "properties": { + "accessKeyId": { + "type": "string" + }, + "secretAccessKey": { + "type": "string" + }, + "sessionToken": { + "type": "string" + }, + "expiration": { + "type": "string", + "format": "date-time" + } + } + }, + "OciCredentialsData": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "userOcid": { + "type": "string" + }, + "groupName": { + "type": "string" + }, + "policyName": { + "type": "string" + }, + "homeRegion": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "fingerPrint": { + "type": "string" + }, + "tenancyId": { + "type": "string" + } + } + }, + "AzureCloudAccount": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/components/schemas/CloudAccount" + }, + "tenantId": { + "type": "string" + }, + "servicePrincipalId": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "defaultAccountGroupId": { + "type": "string" + }, + "defaultAccountGroupName": { + "type": "string" + }, + "memberSyncEnabled": { + "type": "boolean" + }, + "templateUrl": { + "type": "string" + }, + "key": { "type": "string" }, "customerId": { @@ -1297,11 +1661,20 @@ "type": "string" } }, - "storageScanConfig": { - "$ref": "#/components/schemas/StorageScanConfig" + "monitorFlowLogs": { + "type": "boolean" }, - "storageUUID": { + "environmentType": { + "type": "string" + }, + "accountGroupMode": { "type": "string" + }, + "accountGroupInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AccountGroupInfo" + } } } }, @@ -1385,6 +1758,9 @@ "deploymentTypeDescription": { "type": "string" }, + "autoConsent": { + "type": "string" + }, "features": { "uniqueItems": true, "type": "array", @@ -1394,31 +1770,6 @@ } } }, - "FeatureDetails": { - "type": "object", - "properties": { - "featureName": { - "type": "string" - }, - "featureMode": { - "type": "string" - }, - "createdTs": { - "type": "integer", - "format": "int64" - }, - "lastUpdatedTs": { - "type": "integer", - "format": "int64" - }, - "featureState": { - "type": "string" - }, - "displayName": { - "type": "string" - } - } - }, "HierarchySelection": { "type": "object", "properties": { @@ -1451,236 +1802,11 @@ } } }, - "StorageScanConfig": { + "CloudAccountWithFeatureDetails": { "type": "object", "properties": { - "scanOption": { - "type": "string", - "enum": [ - "Realtime", - "Custom", - "Full", - "Historical" - ] - }, - "buckets": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "snsTopicArn": { - "type": "string" - } - } - }, - "AzureCloudAccount": { - "type": "object", - "properties": { - "cloudAccount": { - "$ref": "#/components/schemas/CloudAccount" - }, - "tenantId": { - "type": "string" - }, - "servicePrincipalId": { - "type": "string" - }, - "clientId": { - "type": "string" - }, - "defaultAccountGroupId": { - "type": "string" - }, - "defaultAccountGroupName": { - "type": "string" - }, - "memberSyncEnabled": { - "type": "boolean" - }, - "templateUrl": { - "type": "string" - }, - "key": { - "type": "string" - }, - "customerId": { - "type": "integer", - "format": "int32" - }, - "hierarchySelection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HierarchySelection" - } - }, - "groupIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "monitorFlowLogs": { - "type": "boolean" - }, - "environmentType": { - "type": "string" - } - } - }, - "OciCredentialsData": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "userOcid": { - "type": "string" - }, - "groupName": { - "type": "string" - }, - "policyName": { - "type": "string" - }, - "homeRegion": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "fingerPrint": { - "type": "string" - }, - "tenancyId": { - "type": "string" - } - } - }, - "CloudAccountModel": { - "type": "object", - "properties": { - "customerName": { - "type": "string" - }, - "customerPrismaId": { - "type": "integer", - "format": "int64" - }, - "id": { - "type": "integer", - "format": "int32" - }, - "accountId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "cloudType": { - "type": "string" - }, - "accountType": { - "type": "string" - }, - "deploymentType": { - "type": "string" - }, - "parentId": { - "type": "string" - }, - "parentName": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "deleted": { - "type": "boolean" - }, - "protectionMode": { - "type": "string" - }, - "createdEpochMillis": { - "type": "integer", - "format": "int64" - }, - "createdBy": { - "type": "string" - }, - "lastModifiedEpochMillis": { - "type": "integer", - "format": "int64" - }, - "lastModifiedBy": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "deploymentTypeDescription": { - "type": "string" - }, - "hasConfigError": { - "type": "boolean" - }, - "storageScanEnabled": { - "type": "boolean" - }, - "addedOn": { - "type": "integer", - "format": "int64" - }, - "permissionStatusList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CloudAccountPermissionStatusApiRequest" - } - }, - "features": { - "uniqueItems": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/FeatureDetails" - } - } - } - }, - "CloudAccountPermissionStatusApiRequest": { - "type": "object", - "properties": { - "subComponent": { - "type": "string" - }, - "component": { - "type": "string" - }, - "statusCode": { - "type": "string" - }, - "status": { - "type": "string" - }, - "error": { - "type": "string" - }, - "remediation": { - "type": "string" - }, - "statusTs": { - "type": "integer", - "format": "int64" - } - } - }, - "CloudAccountFeature": { - "type": "object", - "properties": { - "accountId": { - "type": "string" + "accountId": { + "type": "string" }, "name": { "type": "string" @@ -1756,6 +1882,9 @@ "deploymentTypeDescription": { "type": "string" }, + "autoConsent": { + "type": "string" + }, "features": { "uniqueItems": true, "type": "array", @@ -1768,397 +1897,518 @@ } } }, - "CloudRegions": { - "type": "object", - "properties": { - "regions": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "FeaturesAvailableRequest": { - "required": [ - "accountType" - ], + "IamToken": { "type": "object", "properties": { - "accountType": { - "type": "string", - "description": "Cloud Account Type. Supported values based on cloud_type are given below. \n\n * account, organization - cloud_type: **aws**\n\n * account, organization, masterServiceAccount - cloud_type: **gcp**\n\n * account, tenant - cloud_type: **azure**", - "enum": [ - "account", - "organization", - "masterServiceAccount", - "tenant" - ] - }, - "deploymentType": { - "type": "string", - "description": "*Applicable only for cloud_type: **azure**.*\n\n * **azure** - Applicable for Prisma Commercial and Government stacks\n\n * **azure_gov** - Applicable for Prisma Commercial and Government stacks.\n\n * **azure_china** - Applicable for Prisma China Stack.", - "enum": [ - "azure", - "azure_gov", - "azure_china" - ] - }, - "awsPartition": { - "type": "string", - "description": "*Applicable only for cloud_type: **aws** on Prisma Government Stack(**app.gov.prismacloud.io**) given if the Cloud account Global Deployment option is enabled*\n\n * **us-east-1** - AWS Commercial/Global account\n\n * **us-gov-west-1** - AWS GovCloud account.", - "enum": [ - "us-east-1", - "us-gov-west-1" - ] - }, - "rootSyncEnabled": { - "type": "boolean", - "description": "*Applicable only for accountType: **tenant***\n\n In order to onboard the *\\\"tenant\\\"* and its associated **management groups** and **subscriptions**, ```rootSyncEnabled``` must be set to ```true```" + "exception": { + "type": "object", + "properties": { + "stackTrace": { + "type": "array", + "items": { + "type": "object", + "properties": { + "classLoaderName": { + "type": "string" + }, + "moduleName": { + "type": "string" + }, + "moduleVersion": { + "type": "string" + }, + "methodName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "lineNumber": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string" + }, + "nativeMethod": { + "type": "boolean" + } + } + } + }, + "message": { + "type": "string" + }, + "suppressed": { + "type": "array", + "items": { + "type": "object", + "properties": { + "stackTrace": { + "type": "array", + "items": { + "type": "object", + "properties": { + "classLoaderName": { + "type": "string" + }, + "moduleName": { + "type": "string" + }, + "moduleVersion": { + "type": "string" + }, + "methodName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "lineNumber": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string" + }, + "nativeMethod": { + "type": "boolean" + } + } + } + }, + "message": { + "type": "string" + }, + "localizedMessage": { + "type": "string" + } + } + } + }, + "localizedMessage": { + "type": "string" + } + } + }, + "accessToken": { + "type": "string" + }, + "refreshToken": { + "type": "string" + }, + "tokenType": { + "type": "string" + }, + "expiresIn": { + "type": "integer", + "format": "int64" + }, + "expiration": { + "type": "integer", + "format": "int64" + }, + "tokenValid": { + "type": "boolean" } } }, - "FeaturesAvailableResponse": { + "IbmAccessTokenResponse": { "type": "object", "properties": { - "cloudType": { - "type": "string", - "description": "Cloud Type" + "rawToken": { + "$ref": "#/components/schemas/IamToken" }, - "deploymentType": { - "type": "string", - "description": "Cloud Account Deployment Type. global, gov, or china" + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "CloudRegions": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AwsCloudAccount": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/components/schemas/CloudAccount" }, - "accountType": { - "type": "string", - "description": "Account Type" + "roleArn": { + "type": "string" }, - "licenseType": { + "externalId": { + "type": "string" + }, + "defaultAccountGroupId": { + "type": "string" + }, + "defaultAccountGroupName": { + "type": "string" + }, + "memberRoleName": { + "type": "string" + }, + "memberExternalId": { + "type": "string" + }, + "hasMemberRole": { + "type": "boolean" + }, + "templateUrl": { + "type": "string" + }, + "memberTemplateUrl": { + "type": "string" + }, + "eventbridgeRuleNamePrefix": { + "type": "string" + }, + "assumeRoleAccount": { "type": "string", - "description": "Customer License type." + "enum": [ + "REDLOCK", + "EVIDENT", + "US_GOV", + "CHINA", + "GLOBAL" + ] }, - "supportedFeatures": { + "customerId": { + "type": "integer", + "format": "int32" + }, + "hierarchySelection": { "type": "array", - "description": "List of supported feature names.", "items": { - "type": "string", - "description": "List of supported feature names." + "$ref": "#/components/schemas/HierarchySelection" } + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "storageScanConfig": { + "$ref": "#/components/schemas/StorageScanConfig" + }, + "storageUUID": { + "type": "string" + }, + "accountGroupInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AccountGroupInfo" + } + }, + "customMemberRoleNameEnabled": { + "type": "boolean" + }, + "unifiedCftDisabled": { + "type": "boolean" + }, + "skipOverrideMemberRoleName": { + "type": "boolean" } } }, - "AWSTemplateGenRequest": { - "required": [ - "accountId", - "accountType" - ], + "StorageScanConfig": { "type": "object", "properties": { - "accountType": { + "scanOption": { "type": "string", - "description": "Cloud Account Type", "enum": [ - "account", - "organization" + "Realtime", + "Custom", + "Full", + "Historical" ] }, - "accountId": { - "type": "string", - "description": "Account Id" + "buckets": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } }, - "awsPartition": { - "type": "string", - "description": "*Applicable only for Prisma Government Stack(**app.gov.prismacloud.io**) and given if the Cloud account Global Deployment option is enabled*\n\n * **us-east-1** - AWS Commercial/Global account\n\n * **us-gov-west-1** - AWS GovCloud account.", - "enum": [ - "us-east-1", - "us-gov-west-1" - ] + "snsTopicArn": { + "type": "string" + } + } + }, + "GCPTokenRequestV2": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GCPTokenResponseV2": { + "type": "object", + "properties": { + "rawAuthToken": { + "type": "string" }, - "features": { - "uniqueItems": true, + "expirationTime": { + "type": "integer", + "format": "int64" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "CloudAccountBulkFeatureRequest": { + "required": [ + "features", + "memberIds" + ], + "type": "object", + "properties": { + "memberIds": { "type": "array", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": [ - "Remediation" - ], + "description": "List of member ids for which the feature must be enabled or disabled.\n\nFor AWS, specify account ids\n\nFor Azure, specify subscription ids\n\nFor GCP, specify project ids", "items": { "type": "string", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": "[\"Remediation\"]" + "description": "List of member ids for which the feature must be enabled or disabled.\n\nFor AWS, specify account ids\n\nFor Azure, specify subscription ids\n\nFor GCP, specify project ids" + } + }, + "features": { + "type": "array", + "description": "Features to be enabled or disabled. To get a list of all the supported features, see **[Fetch Supported Features endpoint](/prisma-cloud/api/cspm/fetch-supported-features)**.", + "items": { + "$ref": "#/components/schemas/CloudAccountFeatureModel" } } } }, - "AWSTokenRequest": { + "SuccessResponse": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + } + } + }, + "OrgMember": { "type": "object", "properties": { - "durationInSeconds": { - "type": "integer", - "format": "int32" - }, - "shouldRefreshMaxSessionDuration": { - "type": "boolean" + "name": { + "type": "string" }, - "featureType": { - "type": "string", - "enum": [ - "AWS_S3_FLOWLOG_ACCOUNT_TOKEN", - "AWS_CLOUD_TRAIL", - "NONE" - ] + "parentId": { + "type": "string" }, - "accountOnboardingType": { + "type": { "type": "string", "enum": [ - "MONITORED", - "LOGGING" + "ACCOUNT", + "FOLDER", + "ORG" ] }, - "tenantName": { + "id": { "type": "string" + }, + "onboarded": { + "type": "boolean" } } }, - "AssumeRoleResult": { + "OrgMembersHierarchyResponse": { "type": "object", "properties": { - "sdkResponseMetadata": { - "$ref": "#/components/schemas/ResponseMetadata" - }, - "sdkHttpMetadata": { - "$ref": "#/components/schemas/SdkHttpMetadata" - }, - "credentials": { - "$ref": "#/components/schemas/Credentials" - }, - "assumedRoleUser": { - "$ref": "#/components/schemas/AssumedRoleUser" - }, - "packedPolicySize": { - "type": "integer", - "format": "int32" + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrgMember" + } }, - "sourceIdentity": { + "nextPageToken": { "type": "string" } } }, - "AssumedRoleUser": { + "AwsLoggingAccount": { "type": "object", "properties": { - "assumedRoleId": { + "accountId": { "type": "string" }, - "arn": { + "accountName": { "type": "string" - } - } - }, - "AwsTokenResponse": { - "type": "object", - "properties": { - "rawToken": { - "$ref": "#/components/schemas/AssumeRoleResult" }, - "meta": { + "loggingAccountBucketMap": { "type": "object", "additionalProperties": { - "type": "object" + "$ref": "#/components/schemas/AwsLoggingAccountBucket" } } } }, - "Credentials": { + "AwsLoggingAccountBucket": { "type": "object", "properties": { - "accessKeyId": { + "monitoredAccountId": { "type": "string" }, - "secretAccessKey": { + "bucketId": { + "type": "integer", + "format": "int32" + }, + "bucketName": { "type": "string" }, - "sessionToken": { + "bucketRegion": { "type": "string" }, - "expiration": { - "type": "string", - "format": "date-time" - } - } - }, - "ResponseMetadata": { - "type": "object", - "properties": { - "requestId": { + "bucketPathPrefix": { + "type": "string" + }, + "kmsKeyArn": { + "type": "string" + }, + "featureName": { "type": "string" } } }, - "SdkHttpMetadata": { + "AwsMonitoredAccount": { "type": "object", "properties": { - "httpHeaders": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "accountId": { + "type": "string" }, - "httpStatusCode": { + "name": { + "type": "string" + }, + "accountTypeId": { "type": "integer", "format": "int32" }, - "allHttpHeaders": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "APIErrorObject": { - "type": "object", - "properties": { - "code": { + "cloudType": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "storageScanEnabled": { + "type": "boolean" + }, + "addedOnTs": { + "type": "integer", + "format": "int64" + }, + "parentName": { + "type": "string" + }, + "accountType": { "type": "string", "enum": [ - "100 CONTINUE", - "101 SWITCHING_PROTOCOLS", - "102 PROCESSING", - "103 CHECKPOINT", - "200 OK", - "201 CREATED", - "202 ACCEPTED", - "203 NON_AUTHORITATIVE_INFORMATION", - "204 NO_CONTENT", - "205 RESET_CONTENT", - "206 PARTIAL_CONTENT", - "207 MULTI_STATUS", - "208 ALREADY_REPORTED", - "226 IM_USED", - "300 MULTIPLE_CHOICES", - "301 MOVED_PERMANENTLY", - "302 FOUND", - "302 MOVED_TEMPORARILY", - "303 SEE_OTHER", - "304 NOT_MODIFIED", - "305 USE_PROXY", - "307 TEMPORARY_REDIRECT", - "308 PERMANENT_REDIRECT", - "400 BAD_REQUEST", - "401 UNAUTHORIZED", - "402 PAYMENT_REQUIRED", - "403 FORBIDDEN", - "404 NOT_FOUND", - "405 METHOD_NOT_ALLOWED", - "406 NOT_ACCEPTABLE", - "407 PROXY_AUTHENTICATION_REQUIRED", - "408 REQUEST_TIMEOUT", - "409 CONFLICT", - "410 GONE", - "411 LENGTH_REQUIRED", - "412 PRECONDITION_FAILED", - "413 PAYLOAD_TOO_LARGE", - "413 REQUEST_ENTITY_TOO_LARGE", - "414 URI_TOO_LONG", - "414 REQUEST_URI_TOO_LONG", - "415 UNSUPPORTED_MEDIA_TYPE", - "416 REQUESTED_RANGE_NOT_SATISFIABLE", - "417 EXPECTATION_FAILED", - "418 I_AM_A_TEAPOT", - "419 INSUFFICIENT_SPACE_ON_RESOURCE", - "420 METHOD_FAILURE", - "421 DESTINATION_LOCKED", - "422 UNPROCESSABLE_ENTITY", - "423 LOCKED", - "424 FAILED_DEPENDENCY", - "425 TOO_EARLY", - "426 UPGRADE_REQUIRED", - "428 PRECONDITION_REQUIRED", - "429 TOO_MANY_REQUESTS", - "431 REQUEST_HEADER_FIELDS_TOO_LARGE", - "451 UNAVAILABLE_FOR_LEGAL_REASONS", - "500 INTERNAL_SERVER_ERROR", - "501 NOT_IMPLEMENTED", - "502 BAD_GATEWAY", - "503 SERVICE_UNAVAILABLE", - "504 GATEWAY_TIMEOUT", - "505 HTTP_VERSION_NOT_SUPPORTED", - "506 VARIANT_ALSO_NEGOTIATES", - "507 INSUFFICIENT_STORAGE", - "508 LOOP_DETECTED", - "509 BANDWIDTH_LIMIT_EXCEEDED", - "510 NOT_EXTENDED", - "511 NETWORK_AUTHENTICATION_REQUIRED" + "account", + "masterServiceAccount", + "compartment", + "management_group", + "organization", + "tenant", + "workspace_domain" ] }, - "message": { + "deleted": { + "type": "boolean" + }, + "protectionMode": { "type": "string" }, - "target": { + "deploymentType": { "type": "string" }, - "innererror": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "customerName": { + "type": "string" }, - "innerError": { - "type": "object", - "additionalProperties": { - "type": "object" - }, - "writeOnly": true - } - } - }, - "RestAPIErrorResponse": { - "type": "object", - "properties": { - "error": { - "$ref": "#/components/schemas/APIErrorObject" - } - } - }, - "AccountStatusMessage": { - "type": "object", - "properties": { - "message": { + "customerPrismaId": { + "type": "integer", + "format": "int64" + }, + "createdEpochMillis": { + "type": "integer", + "format": "int64" + }, + "createdBy": { "type": "string" }, - "staticMessage": { - "type": "boolean" - } - } - }, - "CloudAccountStatus": { - "type": "object", - "properties": { - "id": { + "lastModifiedEpochMillis": { + "type": "integer", + "format": "int64" + }, + "lastModifiedBy": { "type": "string" }, - "name": { + "owner": { "type": "string" }, - "status": { + "deploymentTypeDescription": { "type": "string" }, - "statusMessage": { - "$ref": "#/components/schemas/AccountStatusMessage" - } - } - }, - "PermissionCheckResponse": { - "type": "object", - "properties": { - "status": { + "autoConsent": { + "type": "string" + }, + "features": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/CloudAccountStatus" + "$ref": "#/components/schemas/FeatureDetails" + } + }, + "monitoredAccountId": { + "type": "integer", + "format": "int32" + }, + "awsLoggingAccounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AwsLoggingAccount" + } + }, + "subscriptionUrl": { + "type": "string" + }, + "topicSubscriptionArnMap": { + "type": "object", + "additionalProperties": { + "type": "string" } + }, + "customerRedlockId": { + "type": "integer", + "format": "int32" } } }, @@ -2180,121 +2430,173 @@ } } }, - "ComponentStatusModel": { + "ErrorResponse": { "type": "object", "properties": { - "component": { - "type": "string" + "code": { + "type": "integer", + "format": "int32" }, - "status": { + "message": { "type": "string" }, - "message": { + "timestamp": { "type": "string" }, - "remediation": { + "details": { "type": "string" } } }, - "ComponentStatusUpdateRequest": { + "IbmCloudAccountResponse": { "type": "object", "properties": { - "statusList": { + "cloudAccount": { + "$ref": "#/components/schemas/CloudAccount" + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "svcIdIamId": { + "type": "string" + }, + "groupIds": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/ComponentStatusModel" + "type": "string" } } } }, - "ComputeLimitStatusResponse": { + "AzureTemplateGenRequest": { + "required": [ + "accountType", + "tenantId" + ], "type": "object", "properties": { - "limit": { - "type": "integer", - "format": "int32" + "accountType": { + "type": "string", + "description": "Cloud account type. \n\n **account** = Azure Subscription \n\n**tenant** = Azure Tenant", + "enum": [ + "account", + "tenant" + ] }, - "isAccountImported": { - "type": "boolean" - } - } - }, - "GcpCloudAccountResponse": { - "type": "object", - "properties": { - "cloudAccount": { - "$ref": "#/components/schemas/CloudAccount" + "subscriptionId": { + "type": "string", + "description": "*Required field for accountType: **account***.\n\n Azure Subscription ID" }, - "hierarchySelection": { + "tenantId": { + "type": "string", + "description": "Azure Directory (Tenant) ID" + }, + "rootSyncEnabled": { + "type": "boolean", + "description": "*Applicable only for accountType: **tenant***\n\n In order to onboard the account type **tenant** and its associated **management groups** and **subscriptions**, ```rootSyncEnabled``` must be set to ```true```" + }, + "features": { "uniqueItems": true, "type": "array", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": [ + "Remediation" + ], "items": { - "$ref": "#/components/schemas/HierarchySelection" + "type": "string", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": "[\"Remediation\"]" } }, - "parentId": { - "type": "string" - }, - "customerId": { + "deploymentType": { + "type": "string", + "description": "*Applicable only for Prisma Commercial and Government stacks* \n\n**azure** = Commercial deployment type\n\n**azure_gov** = Government deployment type", + "enum": [ + "azure", + "azure_gov" + ] + } + } + }, + "GCPTokenRequest": { + "type": "object", + "properties": { + "tokenExpirationDurationInSeconds": { "type": "integer", "format": "int32" }, - "projectId": { - "type": "string" - }, - "serviceAccountEmail": { - "type": "string" - }, - "authenticationType": { + "serviceUrl": { "type": "string" - }, - "flowLogStorageBucket": { + } + } + }, + "GCPTokenResponse": { + "type": "object", + "properties": { + "rawToken": { "type": "string" }, - "compressionEnabled": { - "type": "boolean" - }, - "accountGroupCreationMode": { + "sessionToken": { "type": "string" }, - "dataflowEnabledProject": { - "type": "string" + "expirationTime": { + "type": "integer", + "format": "int64" }, - "credentials": { + "meta": { "type": "object", "additionalProperties": { "type": "object" } + } + } + }, + "PermissionsRequest": { + "type": "object", + "properties": { + "accountType": { + "type": "string" }, - "defaultAccountGroupId": { + "deploymentType": { "type": "string" }, - "groupIds": { - "type": "array", - "items": { - "type": "string" - } + "awsPartition": { + "type": "string" }, - "organizationName": { + "authenticationType": { "type": "string" } } }, - "IbmCloudAccountResponse": { + "AppCapabilityPermissionMapping": { "type": "object", "properties": { - "cloudAccount": { - "$ref": "#/components/schemas/CloudAccount" + "label": { + "type": "string" }, - "customerId": { - "type": "integer", - "format": "int32" + "feature": { + "type": "string" }, - "svcIdIamId": { + "mode": { "type": "string" }, - "groupIds": { + "permissions": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "roles": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "services": { "uniqueItems": true, "type": "array", "items": { @@ -2303,104 +2605,186 @@ } } }, - "AddComputeLimitRequest": { - "required": [ - "importedAccounts", - "limit" - ], + "AzureTokenRequest": { "type": "object", "properties": { - "limit": { - "minimum": 1, - "type": "integer", - "format": "int32" + "resource": { + "type": "string" + } + } + }, + "AzureTokenResponse": { + "type": "object", + "properties": { + "rawToken": { + "$ref": "#/components/schemas/IAuthenticationResultResponse" }, - "importedAccounts": { - "type": "array", - "items": { - "type": "string" + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" } } } }, - "AwsLoggingAccountBucket": { + "IAuthenticationResultResponse": { "type": "object", "properties": { - "bucketName": { + "accessTokenType": { "type": "string" }, - "bucketRegion": { - "type": "string" + "expiresOn": { + "type": "integer", + "format": "int64" }, - "bucketPathPrefix": { + "idToken": { "type": "string" }, - "kmsKeyArn": { + "accessToken": { "type": "string" }, - "featureName": { - "type": "string" + "expiresAfter": { + "type": "integer", + "format": "int64" + }, + "expiresOnDate": { + "type": "string", + "format": "date-time" + }, + "multipleResourceRefreshToken": { + "type": "boolean" } } }, - "AwsLoggingAccountResponse": { + "ComputeLimitStatusResponse": { "type": "object", "properties": { - "loggingAccountId": { - "type": "string" + "limit": { + "type": "integer", + "format": "int32" }, - "loggingAccountName": { - "type": "string" + "isAccountImported": { + "type": "boolean" + } + } + }, + "GCPTemplateGenRequest": { + "required": [ + "accountType", + "authenticationType", + "orgId", + "projectId" + ], + "type": "object", + "properties": { + "accountType": { + "type": "string", + "description": "Cloud Account Type\n\n**account**: GCP Project\n\n**organization**: GCP Organization\n\n**masterServiceAccount**: Onboards all GCP projects that are accessible by the service account", + "enum": [ + "account", + "organization", + "masterServiceAccount" + ] }, - "roleArn": { - "type": "string" + "projectId": { + "type": "string", + "description": "ID of your GCP project that must be onboarded.\n\nApplicable only if `accountType` is **account** or **masterServiceAccount**." }, - "loggingAccountBucketMap": { + "orgId": { + "type": "string", + "description": "ID of the GCP organization to be onboarded.\n\nApplicable only if the `accountType` is **organization**" + }, + "flowLogBucket": { + "type": "string", + "description": "Cloud Storage Bucket name that stores the flow logs.\n\nRequired only if you want to enable flow logs and associate required permissions for the flow logs bucket" + }, + "authenticationType": { + "type": "string", + "description": "**service_account**: Service Account Key\n\n**Default value**: service_account\n\nAuthentication mode used by Prisma Cloud to authenticate with GCP.", + "enum": [ + "service_account" + ] + }, + "features": { + "uniqueItems": true, "type": "array", + "description": "Features for which the permissions should be generated and included in the template.\nTo get a list of all the supported features, see **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": [ + "Remediation" + ], "items": { - "$ref": "#/components/schemas/AwsLoggingAccountBucket" + "type": "string", + "description": "Features for which the permissions should be generated and included in the template.\nTo get a list of all the supported features, see **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": "[\"Remediation\"]" } } } }, - "CloudAccountFeatureSaveRequest": { + "FeaturesAvailableRequest": { "required": [ - "featureName" + "accountType" ], "type": "object", "properties": { - "featureName": { - "type": "string" + "accountType": { + "type": "string", + "description": "Cloud Account Type. Supported values based on cloud_type are given below. \n\n * account, organization - cloud_type: **aws**\n\n * account, organization, masterServiceAccount - cloud_type: **gcp**\n\n * account, tenant - cloud_type: **azure**", + "enum": [ + "account", + "organization", + "masterServiceAccount", + "tenant" + ] }, - "mode": { - "type": "string" + "deploymentType": { + "type": "string", + "description": "*Applicable only for cloud_type: **azure**.*\n\n * **azure** - Applicable for Prisma Commercial and Government stacks\n\n * **azure_gov** - Applicable for Prisma Commercial and Government stacks.\n\n * **azure_china** - Applicable for Prisma China Stack.", + "enum": [ + "azure", + "azure_gov", + "azure_china" + ] }, - "state": { - "type": "string" + "awsPartition": { + "type": "string", + "description": "*Applicable only for cloud_type: **aws** on Prisma Government Stack(**app.gov.prismacloud.io**) given if the Cloud account Global Deployment option is enabled*\n\n * **us-east-1** - AWS Commercial/Global account\n\n * **us-gov-west-1** - AWS GovCloud account.", + "enum": [ + "us-east-1", + "us-gov-west-1" + ] + }, + "rootSyncEnabled": { + "type": "boolean", + "description": "*Applicable only for accountType: **tenant***\n\n In order to onboard the *\\\"tenant\\\"* and its associated **management groups** and **subscriptions**, ```rootSyncEnabled``` must be set to ```true```" } } }, - "AccountGroup": { + "FeaturesAvailableResponse": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "cloudType": { + "type": "string", + "description": "Cloud Type" }, - "description": { - "type": "string" + "deploymentType": { + "type": "string", + "description": "Cloud Account Deployment Type. global, gov, or china" }, - "lastModifiedBy": { - "type": "string" + "accountType": { + "type": "string", + "description": "Account Type" }, - "lastModifiedTs": { - "type": "integer", - "format": "int64" + "licenseType": { + "type": "string", + "description": "Customer License type." }, - "autoCreated": { - "type": "boolean" + "supportedFeatures": { + "type": "array", + "description": "List of supported feature names.", + "items": { + "type": "string", + "description": "List of supported feature names." + } } } }, @@ -2447,373 +2831,240 @@ }, "policyName": { "type": "string" - } - } - }, - "AzureTokenRequest": { - "type": "object", - "properties": { - "resource": { - "type": "string" - } - } - }, - "AzureTokenResponse": { - "type": "object", - "properties": { - "rawToken": { - "$ref": "#/components/schemas/IAuthenticationResultResponse" }, - "meta": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "autoConsent": { + "type": "string" } } }, - "IAuthenticationResultResponse": { + "AccountGroup": { "type": "object", "properties": { - "accessTokenType": { + "id": { "type": "string" }, - "expiresOn": { - "type": "integer", - "format": "int64" + "name": { + "type": "string" }, - "idToken": { + "description": { "type": "string" }, - "accessToken": { + "lastModifiedBy": { "type": "string" }, - "expiresAfter": { + "lastModifiedTs": { "type": "integer", "format": "int64" }, - "expiresOnDate": { - "type": "string", - "format": "date-time" - }, - "multipleResourceRefreshToken": { + "autoCreated": { "type": "boolean" } } }, - "PermissionsRequest": { + "AWSTokenRequest": { "type": "object", "properties": { - "accountType": { - "type": "string" + "durationInSeconds": { + "type": "integer", + "format": "int32" }, - "deploymentType": { + "shouldRefreshMaxSessionDuration": { + "type": "boolean" + }, + "featureType": { + "type": "string", + "enum": [ + "AWS_S3_FLOWLOG_ACCOUNT_TOKEN", + "AWS_CLOUD_TRAIL", + "NONE" + ] + }, + "accountOnboardingType": { + "type": "string", + "enum": [ + "MONITORED", + "LOGGING" + ] + }, + "tenantName": { "type": "string" + } + } + }, + "AssumeRoleResult": { + "type": "object", + "properties": { + "sdkResponseMetadata": { + "$ref": "#/components/schemas/ResponseMetadata" + }, + "sdkHttpMetadata": { + "$ref": "#/components/schemas/SdkHttpMetadata" + }, + "credentials": { + "$ref": "#/components/schemas/Credentials" + }, + "assumedRoleUser": { + "$ref": "#/components/schemas/AssumedRoleUser" }, - "awsPartition": { - "type": "string" + "packedPolicySize": { + "type": "integer", + "format": "int32" }, - "authenticationType": { + "sourceIdentity": { "type": "string" } } }, - "AppCapabilityPermissionMapping": { + "AssumedRoleUser": { "type": "object", "properties": { - "label": { - "type": "string" - }, - "feature": { + "assumedRoleId": { "type": "string" }, - "mode": { + "arn": { "type": "string" - }, - "permissions": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "roles": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "services": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } } } }, - "DeploymentTypeListResponse": { + "AwsTokenResponse": { "type": "object", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DeploymentTypeResponse" + "rawToken": { + "$ref": "#/components/schemas/AssumeRoleResult" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" } } } }, - "DeploymentTypeResponse": { + "ResponseMetadata": { "type": "object", "properties": { - "deploymentType": { - "type": "string" - }, - "displayName": { + "requestId": { "type": "string" } } }, - "AwsLoggingAccount": { + "SdkHttpMetadata": { "type": "object", "properties": { - "accountId": { - "type": "string" + "httpHeaders": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "accountName": { - "type": "string" + "httpStatusCode": { + "type": "integer", + "format": "int32" }, - "loggingAccountBucketMap": { + "allHttpHeaders": { "type": "object", "additionalProperties": { - "$ref": "#/components/schemas/AwsLoggingAccountBucket" + "type": "array", + "items": { + "type": "string" + } } } } }, - "AWSCFTGenResponse": { - "type": "object", - "properties": { - "createStackLinkWithS3PresignedUrl": { - "type": "string", - "description": "AWS Cloudformation Stack Quick Create link." - }, - "externalId": { - "type": "string" - } - } - }, - "CloudAccountIdentity": { + "AwsLoggingAccountResponse": { "type": "object", "properties": { - "accountId": { - "type": "string" - }, - "name": { + "loggingAccountId": { "type": "string" }, - "cloudType": { - "type": "string", - "enum": [ - "all", - "aws", - "azure", - "gcp", - "alibaba_cloud", - "oci", - "other", - "ibm" - ] - }, - "parentAccountId": { + "loggingAccountName": { "type": "string" }, - "parentName": { + "roleArn": { "type": "string" }, - "isOnboarded": { - "type": "boolean" - }, - "id": { - "type": "integer", - "format": "int32", - "writeOnly": true - } - } - }, - "CloudAccountMetadataPage": { - "type": "object", - "properties": { - "cloudAccounts": { + "loggingAccountBucketMap": { "type": "array", "items": { - "$ref": "#/components/schemas/CloudAccountIdentity" + "$ref": "#/components/schemas/AwsLoggingAccountBucket" } } } }, - "GCPTemplateGenRequest": { + "AWSTemplateGenRequest": { "required": [ - "accountType", - "authenticationType", - "orgId", - "projectId" + "accountId", + "accountType" ], "type": "object", "properties": { "accountType": { "type": "string", - "description": "Cloud Account Type\n\n**account**: GCP Project\n\n**organization**: GCP Organization\n\n**masterServiceAccount**: Onboards all GCP projects that are accessible by the service account", + "description": "Cloud Account Type", "enum": [ "account", - "organization", - "masterServiceAccount" + "organization" ] }, - "projectId": { - "type": "string", - "description": "ID of your GCP project that must be onboarded.\n\nApplicable only if `accountType` is **account** or **masterServiceAccount**." - }, - "orgId": { - "type": "string", - "description": "ID of the GCP organization to be onboarded.\n\nApplicable only if the `accountType` is **organization**" - }, - "flowLogBucket": { + "accountId": { "type": "string", - "description": "Cloud Storage Bucket name that stores the flow logs.\n\nRequired only if you want to enable flow logs and associate required permissions for the flow logs bucket" + "description": "Account Id" }, - "authenticationType": { + "awsPartition": { "type": "string", - "description": "**service_account**: Service Account Key\n\n**Default value**: service_account\n\nAuthentication mode used by Prisma Cloud to authenticate with GCP.", + "description": "*Applicable only for Prisma Government Stack(**app.gov.prismacloud.io**) and given if the Cloud account Global Deployment option is enabled*\n\n * **us-east-1** - AWS Commercial/Global account\n\n * **us-gov-west-1** - AWS GovCloud account.", "enum": [ - "service_account" + "us-east-1", + "us-gov-west-1" ] }, "features": { "uniqueItems": true, "type": "array", - "description": "Features for which the permissions should be generated and included in the template.\nTo get a list of all the supported features, see **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", "example": [ "Remediation" ], "items": { "type": "string", - "description": "Features for which the permissions should be generated and included in the template.\nTo get a list of all the supported features, see **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", "example": "[\"Remediation\"]" } - } - } - }, - "AwsMonitoredAccount": { - "type": "object", - "properties": { - "accountId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "accountTypeId": { - "type": "integer", - "format": "int32" - }, - "cloudType": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "parentId": { - "type": "string" - }, - "storageScanEnabled": { - "type": "boolean" - }, - "addedOnTs": { - "type": "integer", - "format": "int64" - }, - "parentName": { - "type": "string" - }, - "accountType": { - "type": "string", - "enum": [ - "account", - "masterServiceAccount", - "compartment", - "management_group", - "organization", - "tenant", - "workspace_domain" - ] - }, - "deleted": { - "type": "boolean" - }, - "protectionMode": { - "type": "string" - }, - "deploymentType": { - "type": "string" - }, - "customerName": { - "type": "string" - }, - "customerPrismaId": { - "type": "integer", - "format": "int64" - }, - "createdEpochMillis": { - "type": "integer", - "format": "int64" - }, - "createdBy": { - "type": "string" - }, - "lastModifiedEpochMillis": { - "type": "integer", - "format": "int64" - }, - "lastModifiedBy": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "deploymentTypeDescription": { - "type": "string" - }, - "features": { - "uniqueItems": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/FeatureDetails" - } }, - "monitoredAccountId": { + "customMemberRoleNameEnabled": { + "type": "boolean", + "description": "Applicable only when accountType is organization the default is `false`. However, if given as true, the user has to provide a memberRole name" + }, + "cftType": { + "type": "string", + "description": "Specify which type of cft you want to download", + "enum": [ + "org_member", + "org_management", + "org_management_member", + "account" + ] + } + } + }, + "AddComputeLimitRequest": { + "required": [ + "importedAccounts", + "limit" + ], + "type": "object", + "properties": { + "limit": { + "minimum": 1, "type": "integer", "format": "int32" }, - "awsLoggingAccounts": { + "importedAccounts": { "type": "array", "items": { - "$ref": "#/components/schemas/AwsLoggingAccount" - } - }, - "subscriptionUrl": { - "type": "string" - }, - "topicSubscriptionArnMap": { - "type": "object", - "additionalProperties": { "type": "string" } - }, - "customerRedlockId": { - "type": "integer", - "format": "int32" } } }, @@ -2861,6 +3112,96 @@ } } }, + "CloudAccountFeaturePatchRequest": { + "type": "object", + "properties": { + "mode": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "AWSCFTGenResponse": { + "type": "object", + "properties": { + "createStackLinkWithS3PresignedUrl": { + "type": "string", + "description": "AWS Cloudformation Stack Quick Create link." + }, + "externalId": { + "type": "string" + } + } + }, + "GcpCloudAccountResponse": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/components/schemas/CloudAccount" + }, + "hierarchySelection": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/HierarchySelection" + } + }, + "parentId": { + "type": "string" + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "projectId": { + "type": "string" + }, + "serviceAccountEmail": { + "type": "string" + }, + "authenticationType": { + "type": "string" + }, + "flowLogStorageBucket": { + "type": "string" + }, + "compressionEnabled": { + "type": "boolean" + }, + "accountGroupCreationMode": { + "type": "string" + }, + "dataflowEnabledProject": { + "type": "string" + }, + "credentials": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "defaultAccountGroupId": { + "type": "string" + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "organizationName": { + "type": "string" + }, + "accountGroupInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AccountGroupInfo" + } + } + } + }, "CloudAccountSecret": { "type": "object", "properties": { @@ -2890,94 +3231,119 @@ } } }, - "IBMTemplateGenRequest": { + "DeploymentTypeListResponse": { "type": "object", "properties": { - "accountType": { - "type": "string" + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeploymentTypeResponse" + } } } }, - "GCPTokenRequest": { + "DeploymentTypeResponse": { "type": "object", "properties": { - "tokenExpirationDurationInSeconds": { - "type": "integer", - "format": "int32" + "deploymentType": { + "type": "string" }, - "serviceUrl": { + "displayName": { "type": "string" } } }, - "GCPTokenResponse": { + "CloudAccountIdentity": { "type": "object", "properties": { - "rawToken": { + "accountId": { "type": "string" }, - "sessionToken": { + "name": { "type": "string" }, - "expirationTime": { - "type": "integer", - "format": "int64" + "cloudType": { + "type": "string", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] }, - "meta": { - "type": "object", - "additionalProperties": { - "type": "object" + "parentAccountId": { + "type": "string" + }, + "parentName": { + "type": "string" + }, + "isOnboarded": { + "type": "boolean" + }, + "id": { + "type": "integer", + "format": "int32", + "writeOnly": true + } + } + }, + "CloudAccountMetadataPage": { + "type": "object", + "properties": { + "cloudAccounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudAccountIdentity" } } } }, - "AzureTemplateGenRequest": { + "CloudAccountFeatureSaveRequest": { "required": [ - "accountType", - "tenantId" + "featureName" ], "type": "object", "properties": { - "accountType": { - "type": "string", - "description": "Cloud account type. \n\n **account** = Azure Subscription \n\n**tenant** = Azure Tenant", - "enum": [ - "account", - "tenant" - ] + "featureName": { + "type": "string" }, - "subscriptionId": { - "type": "string", - "description": "*Required field for accountType: **account***.\n\n Azure Subscription ID" + "mode": { + "type": "string" }, - "tenantId": { - "type": "string", - "description": "Azure Directory (Tenant) ID" + "state": { + "type": "string" + } + } + }, + "ComponentStatusModel": { + "type": "object", + "properties": { + "component": { + "type": "string" }, - "rootSyncEnabled": { - "type": "boolean", - "description": "*Applicable only for accountType: **tenant***\n\n In order to onboard the account type **tenant** and its associated **management groups** and **subscriptions**, ```rootSyncEnabled``` must be set to ```true```" + "status": { + "type": "string" }, - "features": { - "uniqueItems": true, + "message": { + "type": "string" + }, + "remediation": { + "type": "string" + } + } + }, + "ComponentStatusUpdateRequest": { + "type": "object", + "properties": { + "statusList": { "type": "array", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": [ - "Remediation" - ], "items": { - "type": "string", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": "[\"Remediation\"]" + "$ref": "#/components/schemas/ComponentStatusModel" } - }, - "deploymentType": { - "type": "string", - "description": "*Applicable only for Prisma Commercial and Government stacks* \n\n**azure** = Commercial deployment type\n\n**azure_gov** = Government deployment type", - "enum": [ - "azure", - "azure_gov" - ] } } } diff --git a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv index 2d93e18ca..14665da08 100644 --- a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv +++ b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv @@ -139,12 +139,13 @@ "put","/cloud/{cloud_type}/{id}","Update Cloud Account (OCI and Alibaba)","update-cloud-account","Cloud Accounts (OCI and Alibaba)","Monolith" "post","/cloud/status/{cloud_type}","Get Cloud Account Status (OCI and Alibaba)","get-cloud-account-status","Cloud Accounts (OCI and Alibaba)","Monolith" "post","/cloud/oci/terraform","Generate Zipped Terraform Script (OCI)","generateterraformscript","Cloud Accounts (OCI and Alibaba)","Monolith" +"put","/cas/api/v1/org/{id}/features","Enable a Feature for Members","save-Bulk-Cloud-Account-Feature","Cloud Accounts (All)","CloudAccountsMicroService.json" +"post","/cas/v1/azure_template","Generate and Download the Terraform template (Azure)","generate-template-link","Cloud Accounts (Azure)","CloudAccountsMicroService.json" +"post","/cas/v1/gcp_template","Generate and Download the Terraform Template (GCP)","generate-template-link-gcp-gcp","Cloud Accounts (GCP)","CloudAccountsMicroService.json" "post","/cas/v1/features/cloud/{cloud_type}","Fetch Supported Features For Cloud Type","fetch-supported-features","Cloud Accounts (All)","CloudAccountsMicroService.json" "post","/cas/v1/aws_template","Generate and Download the CFT Template (AWS)","generate-cft-template-aws","Cloud Accounts (AWS)","CloudAccountsMicroService.json" -"get","/cas/v1/cloud/{cloudType}/deployment-type","Get Cloud Account Deployment Types (Alibaba)","getCloudDeploymentTypes","Cloud Accounts (OCI and Alibaba)","CloudAccountsMicroService.json" "post","/cas/v1/aws_template/presigned_url","Generate the CFT Template Link (AWS)","generate-cft-template-link-aws","Cloud Accounts (AWS)","CloudAccountsMicroService.json" -"post","/cas/v1/gcp_template","Generate and Download the Terraform Template (GCP)","generate-template-link-gcp-gcp","Cloud Accounts (GCP)","CloudAccountsMicroService.json" -"post","/cas/v1/azure_template","Generate and Download the Terraform template (Azure)","generate-template-link","Cloud Accounts (Azure)","CloudAccountsMicroService.json" +"get","/cas/v1/cloud/{cloudType}/deployment-type","Get Cloud Account Deployment Types (Alibaba)","getCloudDeploymentTypes","Cloud Accounts (OCI and Alibaba)","CloudAccountsMicroService.json" "get","/entitlement/api/v1/collection/{id}","Get Collection by ID","get-collection-by-id","Collections","Monolith" "put","/entitlement/api/v1/collection/{id}","Update Collection","update-collection-by-id","Collections","Monolith" "delete","/entitlement/api/v1/collection/{id}","Delete Collection","delete-collection-by-id","Collections","Monolith" From f253c317c60056bc1ab560a1562d99cd040774c8 Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Tue, 31 Oct 2023 17:19:44 +0530 Subject: [PATCH 06/10] 5xx error section --- products/prisma-cloud/api/cspm/api-errors.md | 28 ++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/products/prisma-cloud/api/cspm/api-errors.md b/products/prisma-cloud/api/cspm/api-errors.md index 80178111b..c580ec10e 100644 --- a/products/prisma-cloud/api/cspm/api-errors.md +++ b/products/prisma-cloud/api/cspm/api-errors.md @@ -1,7 +1,31 @@ --- id: api-errors -title: Prisma Cloud API Error Responses +title: Error Responses sidebar_label: Error Responses --- -The Prisma Cloud REST API endpoints for Cloud Security Posture Management (CSPM) return standard HTTP response codes. In addition, the API endpoints that don't return error information in a response object provide a hint about the error in the response header field `x-redlock-status`. +Prisma Cloud REST API endpoints return standard HTTP error response codes. In some situations, the error response may also include additional information about the error in one of the following ways: +* A JSON object in the response body +```json +{ + "error": { + "code": "BadArgument", + "message": "Previous passwords cannot be reused", + "target": "password", + "details": {} + } +} +``` +* A custom HTTP header, `x-redlock-status`, that describes the error. + +## Server Errors +HTTP error codes starting with "5", such as 501 or 503, indicate that the request could not be completed because of a server issue. + +| HTTP Status Code | Issue | Issue Description | +| --------------------|-------|-----------------------------------------------------------------------------------------------------| +| 500 | Internal Server Error | An unexpected internal server error occurred. +| 502 | Bad Gateway | The gateway or proxy server received an invalid response from the upstream server. +| 503 | Service Unavailable | The server cannot handle the request because it is overloaded or down for maintenance. \n\n In such scenarios, the API will return a **Retry-After** header that indicates how long the client should wait before retrying. +| 504 | Gateway Timeout | The gateway or proxy server did not receive a timely response from the upstream server. | +## Reattempting Requests that Fail Due to a Server Error +To resolve a 5xx error, use the exponential backoff algorithm while retrying the request. The exponential backoff algorithm retries requests after waiting for an exponentially increasing time between subsequent reattempts. The wait time between retries and the number of retries can vary depending on your use case and network conditions. From 1436915306717006e4f9a5ad454a58f9bc6fc0b9 Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Tue, 31 Oct 2023 18:07:21 +0530 Subject: [PATCH 07/10] updated SSO category desc and fetch RRN nav --- openapi-specs/cspm/PermissionGroupsMicroService.json | 2 +- openapi-specs/cspm/ResourceExplorer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi-specs/cspm/PermissionGroupsMicroService.json b/openapi-specs/cspm/PermissionGroupsMicroService.json index 70ae027a5..a59a9ea7c 100644 --- a/openapi-specs/cspm/PermissionGroupsMicroService.json +++ b/openapi-specs/cspm/PermissionGroupsMicroService.json @@ -66,7 +66,7 @@ }, { "name": "SSO", - "description": "OpenID Connect (OIDC) is an open security protocol for authentication based on the OAuth 2.0 framework. Prisma Cloud offers the option to set up SSO, leveraging Service Provider initiated OIDC. Prisma Cloud System Administrators can use the following APIs to configure tenant SSO authentication using OIDC." + "description": "On Prisma Cloud, you can enable single sign-on (SSO) using an Identity Provider (IdP) that supports Security Assertion Markup Language (SAML) or OpenID Connect (OIDC), such as Okta, Microsoft Active Directory Federation Services (ADFS), Azure Active Directory (AD), Google, or OneLogin. You can configure only one IdP for all the cloud accounts that Prisma Cloud monitors. Prisma Cloud System Administrators can use the following APIs to configure tenant SSO." } ], "paths": { diff --git a/openapi-specs/cspm/ResourceExplorer.json b/openapi-specs/cspm/ResourceExplorer.json index e6ff4ef16..13f1ac71f 100644 --- a/openapi-specs/cspm/ResourceExplorer.json +++ b/openapi-specs/cspm/ResourceExplorer.json @@ -620,7 +620,7 @@ }, "info": { "contact": {}, - "description": "### Where Do I Find the RRN For My Resource?\n\nYou can find the RRN for a resource in the URL when you view that resource in the Prisma Cloud Resource explorer.\nThe following is an example of such a URL. The RRN is in the URL query string.\n\n```\nhttps://app.prismacloud.io/investigate/details?resourceId=rrn:aws:storageBucket:us-east-1:123456789012:test-bucket \n``` \n\n### Account Representation\n\nIf the **regionId** and **resourceId** are not in the RRN, then the **cloudType** and **resourceType** fields\nin thr RRN are optional. In this siutation, the RRN identifies an account.\n\n\nFull RRN:\n```\nrrn:::us-west-1:12345678901:i-ABCDEFGH\n```\n\nAbridged RRN:\n``` \nrrn::::12345678901\n```\n", + "description": "### Where Do I Find the RRN For My Resource?\n\nYou can find the RRN for a resource in the URL when you navigate to **Data Inventory > {Total Objects} > {Object Name} > {Resource Name}**.\nThe following is an example of such a URL. The RRN is in the URL query string.\n\n```\nhttps://app.prismacloud.io/investigate/details?resourceId=rrn:aws:storageBucket:us-east-1:123456789012:test-bucket \n``` \n\n### Account Representation\n\nIf the **regionId** and **resourceId** are not in the RRN, then the **cloudType** and **resourceType** fields\nin thr RRN are optional. In this siutation, the RRN identifies an account.\n\n\nFull RRN:\n```\nrrn:::us-west-1:12345678901:i-ABCDEFGH\n```\n\nAbridged RRN:\n``` \nrrn::::12345678901\n```\n", "title": "Prisma Cloud Resource Explorer API Overview", "version": "Latest" }, From 48e904ab5c525fe6f61270e8ef57261238751dc9 Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Thu, 2 Nov 2023 12:52:29 +0530 Subject: [PATCH 08/10] Modified 5 preview links and fixed RRN Nav --- openapi-specs/cspm/ResourceExplorer.json | 2 +- products/prisma-cloud/api/cspm/api-integration-config.md | 6 +++--- products/prisma-cloud/api/cspm/cspm-api.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/openapi-specs/cspm/ResourceExplorer.json b/openapi-specs/cspm/ResourceExplorer.json index 13f1ac71f..fc97fbc5d 100644 --- a/openapi-specs/cspm/ResourceExplorer.json +++ b/openapi-specs/cspm/ResourceExplorer.json @@ -1050,7 +1050,7 @@ ], "tags": [ { - "description": "### Where Do I Find the RRN For My Resource?\n\nYou can find the RRN for a resource in the URL when you view that resource in the Prisma Cloud Resource explorer.\nThe following is an example of such a URL. The RRN is in the URL query string.\n\n```\nhttps://app.prismacloud.io/investigate/details?resourceId=rrn:aws:storageBucket:us-east-1:123456789012:test-bucket \n``` \n\n### Account Representation\n\nIf the **regionId** and **resourceId** are not in the RRN, then the **cloudType** and **resourceType** fields\nin thr RRN are optional. In this siutation, the RRN identifies an account.\n\n\nFull RRN:\n```\nrrn:::us-west-1:12345678901:i-ABCDEFGH\n```\n\nAbridged RRN:\n``` \nrrn::::12345678901\n```\n", + "description": "### Where Do I Find the RRN For My Resource?\n\nYou can find the RRN for a resource in the URL when you navigate to **Data Inventory > {Total Objects} > {Object Name} > {Resource Name}**.\nThe following is an example of such a URL. The RRN is in the URL query string.\n\n```\nhttps://app.prismacloud.io/investigate/details?resourceId=rrn:aws:storageBucket:us-east-1:123456789012:test-bucket \n``` \n\n### Account Representation\n\nIf the **regionId** and **resourceId** are not in the RRN, then the **cloudType** and **resourceType** fields\nin thr RRN are optional. In this siutation, the RRN identifies an account.\n\n\nFull RRN:\n```\nrrn:::us-west-1:12345678901:i-ABCDEFGH\n```\n\nAbridged RRN:\n``` \nrrn::::12345678901\n```\n", "name": "Resource Explorer" } ] diff --git a/products/prisma-cloud/api/cspm/api-integration-config.md b/products/prisma-cloud/api/cspm/api-integration-config.md index f518a8156..9a8b15951 100644 --- a/products/prisma-cloud/api/cspm/api-integration-config.md +++ b/products/prisma-cloud/api/cspm/api-integration-config.md @@ -8,7 +8,7 @@ The Prisma Cloud integration API endpoints enable you to receive Prisma Cloud al The request body for some of the endpoints includes an `integrationConfig` parameter that is a map of key/value pairs. The type of integration defines the content of these key/value pairs. The information below provides the details for this `integrationConfig` parameter for each listed technology. -Note that most external systems require some configuration before you can use the Prisma Cloud API endpoints to add an integration to that system. For more details, see [Prisma Cloud Integrations](https://docs-preview.prismacloud.io/en/classic/cspm-admin-guide/configure-external-integrations-on-prisma-cloud/prisma-cloud-integrations). If you are upgraded to the Darwin release, see [Prisma Cloud Integrations](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/configure-external-integrations-on-prisma-cloud/prisma-cloud-integrations). +Note that most external systems require some configuration before you can use the Prisma Cloud API endpoints to add an integration to that system. For more details, see [Prisma Cloud Integrations](https://docs.prismacloud.io/en/classic/cspm-admin-guide/configure-external-integrations-on-prisma-cloud/prisma-cloud-integrations). If you are upgraded to the Darwin release, see [Prisma Cloud Integrations](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/configure-external-integrations-on-prisma-cloud/prisma-cloud-integrations). ### Amazon S3 @@ -71,7 +71,7 @@ To test an Amazon S3 integration, make your request as described in ### Amazon SQS -Prisma Cloud can send alerts to Amazon Simple Queue Service (SQS). Customers can consume these alerts through a Splunk add-on or through the AWS CloudFormation service. Once you [configure Amazon SQS to receive Prisma Cloud alerts](https://docs-preview.prismacloud.io/en/classic/cspm-admin-guide/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-amazon-sqs), you can use an API request to add the Amazon SQS integration to Prisma Cloud. If you are upgraded to Darwin, see [configure Amazon SQS to receive Prisma Cloud alerts](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-amazon-sqs). +Prisma Cloud can send alerts to Amazon Simple Queue Service (SQS). Customers can consume these alerts through a Splunk add-on or through the AWS CloudFormation service. Once you [configure Amazon SQS to receive Prisma Cloud alerts](https://docs.prismacloud.io/en/classic/cspm-admin-guide/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-amazon-sqs), you can use an API request to add the Amazon SQS integration to Prisma Cloud. If you are upgraded to Darwin, see [configure Amazon SQS to receive Prisma Cloud alerts](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-amazon-sqs). #### Add, Update, or Test an Amazon SQS Integration @@ -135,7 +135,7 @@ To test an Amazon SQS integration, make the request with the corresponding reque ### Azure Service Bus Queue -Prisma Cloud can send alerts to an Azure Service Bus messaging service. To authorize access, you can either (1) use a shared access signature to limit access permissions to the Service Bus namespace or queue or (2) use the service principal credentials associated with the Azure Cloud account you've on-boarded to Prisma Cloud. If you plan to use the service principal that uses Azure Active Directory to authorize requests, you must include the additional role _Azure Service Bus Data Sender_ and enable _send_ access to the Service Bus namespace and queues. For details about these prerequisites, see [Integrate Prisma Cloud with Azure Service Bus](https://docs-preview.prismacloud.io/en/classic/cspm-admin-guide/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-azure-service-bus-queue). If you are upgraded to the Darwin release, see [Integrate Prisma Cloud with Azure Service Bus](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-azure-service-bus-queue). +Prisma Cloud can send alerts to an Azure Service Bus messaging service. To authorize access, you can either (1) use a shared access signature to limit access permissions to the Service Bus namespace or queue or (2) use the service principal credentials associated with the Azure Cloud account you've on-boarded to Prisma Cloud. If you plan to use the service principal that uses Azure Active Directory to authorize requests, you must include the additional role _Azure Service Bus Data Sender_ and enable _send_ access to the Service Bus namespace and queues. For details about these prerequisites, see [Integrate Prisma Cloud with Azure Service Bus](https://docs.prismacloud.io/en/classic/cspm-admin-guide/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-azure-service-bus-queue). If you are upgraded to the Darwin release, see [Integrate Prisma Cloud with Azure Service Bus](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/configure-external-integrations-on-prisma-cloud/integrate-prisma-cloud-with-azure-service-bus-queue). #### Add, Update, or Test an Azure Service Bus Queue Integration diff --git a/products/prisma-cloud/api/cspm/cspm-api.md b/products/prisma-cloud/api/cspm/cspm-api.md index 638a84e4e..cce37531b 100644 --- a/products/prisma-cloud/api/cspm/cspm-api.md +++ b/products/prisma-cloud/api/cspm/cspm-api.md @@ -14,14 +14,14 @@ CSPM API requests require right privileges ### CSPM User Roles -To have the right privileges for a CSPM API request, you must have a [Prisma Cloud user role](https://docs-preview.prismacloud.io/en/classic/cspm-admin-guide/manage-prisma-cloud-administrators/prisma-cloud-administrator-roles) with sufficient permissions. If you are upgraded to the Darwin release, see [Prisma Cloud user role](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/prisma-cloud-administrator-roles). +To have the right privileges for a CSPM API request, you must have a [Prisma Cloud user role](https://docs.prismacloud.io/en/classic/cspm-admin-guide/manage-prisma-cloud-administrators/prisma-cloud-administrator-roles) with sufficient permissions. If you are upgraded to the Darwin release, see [Prisma Cloud user role](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/prisma-cloud-administrator-roles). For the permissions associated with each role, see [Prisma Cloud Administrator Permissions](https://docs.prismacloud.io/en/classic/cspm-admin-guide/manage-prisma-cloud-administrators/prisma-cloud-admin-permissions). If you are upgraded to the Darwin release, see [Prisma Cloud Administrator Permissions](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/prisma-cloud-admin-permissions). ### CSPM API Authorization To have the right authorization for a CSPM API request, follow the high-level steps below: -1. [Obtain an access key](https://docs-preview.prismacloud.io/en/classic/cspm-admin-guide/manage-prisma-cloud-administrators/create-access-keys) from your Prisma Cloud system administrator. If you are upgraded to the Darwin release, see [Obtain an access key](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/create-access-keys). +1. [Obtain an access key](https://docs.prismacloud.io/en/classic/cspm-admin-guide/manage-prisma-cloud-administrators/create-access-keys) from your Prisma Cloud system administrator. If you are upgraded to the Darwin release, see [Obtain an access key](https://docs.prismacloud.io/en/enterprise-edition/content-collections/administration/create-access-keys). 2. Make a CSPM API request to [log in](/prisma-cloud/api/cspm/app-login) . A successful request returns a JSON Web Token (JWT). Almost all CSPM API requests use this JWT for authorization. From d652b2d6fa199d5a8ae639151d941d60ac2f93eb Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Thu, 2 Nov 2023 15:43:21 +0530 Subject: [PATCH 09/10] bulk update changes and fixed regex desc --- openapi-specs/cspm/CloudAccounts(All).json | 8 +- .../cspm/CloudAccounts(OCIandAlibaba).json | 3 +- .../cspm/CloudAccountsMicroService.json | 2724 +++++++++-------- .../cspm/consolidated_spec/all_endpoints.csv | 8 +- 4 files changed, 1382 insertions(+), 1361 deletions(-) diff --git a/openapi-specs/cspm/CloudAccounts(All).json b/openapi-specs/cspm/CloudAccounts(All).json index 220542058..ec7a45ea2 100644 --- a/openapi-specs/cspm/CloudAccounts(All).json +++ b/openapi-specs/cspm/CloudAccounts(All).json @@ -1384,7 +1384,7 @@ "description": "Model for Feature", "properties": { "defaultMemberState": { - "description": "Enable or disable the feature for all the member accounts linked to this organization. You can enable or disable the defaultMemberState only if the feature state is enabled for the organization. Applicable only for Serverless Function Scanning and Agentless Workload Scanning features.", + "description": "Enable or disable the feature for all the member accounts linked to this organization. You can enable or disable the defaultMemberState only if the feature state is enabled for the organization. Applicable only for ```Serverless Function Scanning``` and ```Agentless Workload Scanning features```.", "enum": [ "enabled", "disabled" @@ -2293,7 +2293,6 @@ "name": "id", "required": true, "schema": { - "pattern": ".+", "type": "string" } }, @@ -2400,7 +2399,6 @@ "name": "id", "required": true, "schema": { - "pattern": ".+", "type": "string" } } @@ -2511,7 +2509,6 @@ "name": "id", "required": true, "schema": { - "pattern": ".+", "type": "string" } }, @@ -2557,7 +2554,6 @@ "name": "id", "required": true, "schema": { - "pattern": ".+", "type": "string" } }, @@ -2626,7 +2622,6 @@ "name": "id", "required": true, "schema": { - "pattern": ".+", "type": "string" } }, @@ -2686,7 +2681,6 @@ "name": "id", "required": true, "schema": { - "pattern": ".+", "type": "string" } }, diff --git a/openapi-specs/cspm/CloudAccounts(OCIandAlibaba).json b/openapi-specs/cspm/CloudAccounts(OCIandAlibaba).json index ed2be6ef4..4e757a23a 100644 --- a/openapi-specs/cspm/CloudAccounts(OCIandAlibaba).json +++ b/openapi-specs/cspm/CloudAccounts(OCIandAlibaba).json @@ -1103,7 +1103,7 @@ "description": "Model for Feature", "properties": { "defaultMemberState": { - "description": "Enable or disable the feature for all the member accounts linked to this organization. You can enable or disable the defaultMemberState only if the feature state is enabled for the organization. Applicable only for Serverless Function Scanning and Agentless Workload Scanning features.", + "description": "Enable or disable the feature for all the member accounts linked to this organization. You can enable or disable the defaultMemberState only if the feature state is enabled for the organization. Applicable only for ```Serverless Function Scanning``` and ```Agentless Workload Scanning features```.", "enum": [ "enabled", "disabled" @@ -1778,7 +1778,6 @@ "name": "id", "required": true, "schema": { - "pattern": ".+", "type": "string" } }, diff --git a/openapi-specs/cspm/CloudAccountsMicroService.json b/openapi-specs/cspm/CloudAccountsMicroService.json index 653b92256..00f6ab595 100644 --- a/openapi-specs/cspm/CloudAccountsMicroService.json +++ b/openapi-specs/cspm/CloudAccountsMicroService.json @@ -53,21 +53,25 @@ } ], "paths": { - "/cas/api/v1/org/{id}/features": { - "put": { + "/cas/v1/cloud/{cloudType}/deployment-type": { + "get": { "tags": [ - "Cloud Accounts (All)" + "Cloud Accounts (OCI and Alibaba)" ], - "summary": "Enable a Feature for Members", - "description": "Enable or disable the feature for a set of member accounts linked to an organization.", - "operationId": "save-Bulk-Cloud-Account-Feature", + "summary": "Get Cloud Account Deployment Types (Alibaba)", + "description": "List cloud account deployment types. Currently, this is applicable only for Alibaba cloud.", + "operationId": "getCloudDeploymentTypes", "parameters": [ { - "name": "id", + "name": "cloudType", "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "description": "Cloud Account Type", + "enum": [ + "alibaba-cloud" + ] } }, { @@ -83,43 +87,43 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CloudAccountBulkFeatureRequest" + "responses": { + "425": { + "description": "Too Early to access the resource", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorObject" + } } } }, - "required": true - }, - "responses": { - "429": { - "description": "Rate Limit Exceeded", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RestAPIErrorResponse" + "$ref": "#/components/schemas/APIErrorObject" } } } }, - "200": { - "description": "Successfully saved/updated cloud account feature for the given member accounts", + "500": { + "description": "Failed with an Exception, Internal Error Occurred", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SuccessResponse" + "$ref": "#/components/schemas/APIErrorObject" } } } }, - "400": { - "description": "Invalid Account Id/Member Ids cannot be empty or null/Member account list should be less than 500 in a single request/Feature {0} is not allowed/Invalid feature state {0} for feature {1}/Organisation Id {0} is not onboarded/AccountType of {0} is invalid, should be either of Organisation / Master Service Account / Tenant/Members account {0} do not belong to {1}/Compute features are not supported for {0}/Feature {0} is not present for given account,/For feature = {0}, parent feature state is {1}/Organisation / Master Service Account / Tenant Id {0} should not be part of memberIds list/AccountType of member account {0} is invalid. Member accountType should be of type {1}/", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RestAPIErrorResponse" + "$ref": "#/components/schemas/APIErrorObject" } } } @@ -129,47 +133,47 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RestAPIErrorResponse" + "$ref": "#/components/schemas/APIErrorObject" } } } }, - "401": { - "description": "Unauthorized Access", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RestAPIErrorResponse" + "$ref": "#/components/schemas/APIErrorObject" } } } }, - "405": { - "description": "Wrong Http Method", + "200": { + "description": "Successfully retrieved list of cloud deployment types", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RestAPIErrorResponse" + "$ref": "#/components/schemas/DeploymentTypeListResponse" } } } }, - "403": { - "description": "Tenant License Expired", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RestAPIErrorResponse" + "$ref": "#/components/schemas/APIErrorObject" } } } }, - "425": { - "description": "Too Early to access the resource", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RestAPIErrorResponse" + "$ref": "#/components/schemas/APIErrorObject" } } } @@ -183,14 +187,14 @@ ] } }, - "/cas/v1/azure_template": { + "/cas/v1/aws_template/presigned_url": { "post": { "tags": [ - "Cloud Accounts (Azure)" + "Cloud Accounts (AWS)" ], - "summary": "Generate and Download the Terraform template (Azure)", - "description": "Generates the Azure Terraform template. The generated Terraform template includes the permissions based on selected features. The terraform template can be used to create an app registration and required roles on the Azure Portal.\n\n**Note**: This feature is available only for Prisma Commercial and Government stacks.", - "operationId": "generate-template-link", + "summary": "Generate the CFT Template Link (AWS)", + "description": "Generates the AWS Cloudformation Stack Quick create link with S3 presigned CFT URL. The Generated CFT template will include Prisma Cloud generated externalId and the permissions based on selected features.\n\n The response contains *createStackLinkWithS3PresignedUrl* key whose value can be used to create IAM role via AWS CloudFormation stack.\n\n There are 2 ways to create IAM role:\n\n 1. [Manual] If you are logged into your AWS Management console, directly open the value of the *createStackLinkWithS3PresignedUrl* key on a new tab in the browser.\n 2. [Automation] Else, you can extract the actual S3 Presigned CFT URL from the *createStackLinkWithS3PresignedUrl* key by splitting at templateURL= and url decoding the last index of the split(i.e right part of the split). This extracted decoded link can be used to create or update the IAM role CloudFormation stack. \n\n **NOTE**: The *createStackLinkWithS3PresignedUrl* link is valid for 1hr", + "operationId": "generate-cft-template-link-aws", "parameters": [ { "name": "x-redlock-auth", @@ -209,15 +213,15 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AzureTemplateGenRequest" + "$ref": "#/components/schemas/AWSTemplateGenRequest" } } }, "required": true }, "responses": { - "401": { - "description": "Unauthorized Access", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -226,8 +230,8 @@ } } }, - "500": { - "description": "Failed with an exception.", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { @@ -237,10 +241,17 @@ } }, "200": { - "description": "Template Generated Successfully" + "description": "Template Generated Successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AWSCFTGenResponse" + } + } + } }, - "403": { - "description": "Tenant License Expired", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -249,8 +260,8 @@ } } }, - "405": { - "description": "Wrong Http Method", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { @@ -259,8 +270,8 @@ } } }, - "404": { - "description": "Not Found", + "425": { + "description": "Too Early to access the resource", "content": { "application/json": { "schema": { @@ -269,8 +280,8 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { @@ -279,8 +290,18 @@ } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + }, + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { @@ -331,8 +352,8 @@ "required": true }, "responses": { - "401": { - "description": "Unauthorized Access", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { @@ -341,8 +362,11 @@ } } }, - "500": { - "description": "Failed with an exception.", + "200": { + "description": "Template Generated Successfully" + }, + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -351,11 +375,8 @@ } } }, - "200": { - "description": "Template Generated Successfully" - }, - "403": { - "description": "Tenant License Expired", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -364,8 +385,8 @@ } } }, - "405": { - "description": "Wrong Http Method", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { @@ -374,8 +395,8 @@ } } }, - "404": { - "description": "Not Found", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { @@ -384,8 +405,8 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -394,8 +415,8 @@ } } }, - "400": { - "description": "Bad Request", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { @@ -462,8 +483,8 @@ "required": true }, "responses": { - "401": { - "description": "Unauthorized Access", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { @@ -472,8 +493,8 @@ } } }, - "425": { - "description": "Too Early to access the resource", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -482,8 +503,8 @@ } } }, - "403": { - "description": "Tenant License Expired", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -492,8 +513,8 @@ } } }, - "405": { - "description": "Wrong Http Method", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { @@ -502,18 +523,18 @@ } } }, - "200": { - "description": "Features supported for the cloud type", + "500": { + "description": "Failed with an Exception, Internal Error Occurred", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FeaturesAvailableResponse" + "$ref": "#/components/schemas/ApiError" } } } }, - "404": { - "description": "Not Found", + "425": { + "description": "Too Early to access the resource", "content": { "application/json": { "schema": { @@ -522,18 +543,18 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "200": { + "description": "Features supported for the cloud type", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/FeaturesAvailableResponse" } } } }, - "400": { - "description": "Bad Request", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -542,8 +563,8 @@ } } }, - "500": { - "description": "Failed with an Exception, Internal Error Occurred", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { @@ -561,14 +582,14 @@ ] } }, - "/cas/v1/aws_template": { + "/cas/v1/azure_template": { "post": { "tags": [ - "Cloud Accounts (AWS)" + "Cloud Accounts (Azure)" ], - "summary": "Generate and Download the CFT Template (AWS)", - "description": "Generates the AWS CFT template. The Generated CFT template includes Prisma Cloud generated externalId and the permissions based on selected features.\n The CFT template can be used to create IAM role via AWS CloudFormation stack.", - "operationId": "generate-cft-template-aws", + "summary": "Generate and Download the Terraform template (Azure)", + "description": "Generates the Azure Terraform template. The generated Terraform template includes the permissions based on selected features. The terraform template can be used to create an app registration and required roles on the Azure Portal.\n\n**Note**: This feature is available only for Prisma Commercial and Government stacks.", + "operationId": "generate-template-link", "parameters": [ { "name": "x-redlock-auth", @@ -587,18 +608,15 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AWSTemplateGenRequest" + "$ref": "#/components/schemas/AzureTemplateGenRequest" } } }, "required": true }, "responses": { - "400": { - "description": "Bad Request/Bad Request with accountType account, only valid cftType is account/Bad Request with accountType organization, cftType account is not valid/AccountType can be one of the following [account , organization]/AccountId is not valid Feature list is invalid /Invalid usage of customMemberRoleNameEnabled" - }, - "401": { - "description": "Unauthorized Access", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { @@ -607,8 +625,11 @@ } } }, - "425": { - "description": "Too Early to access the resource", + "200": { + "description": "Template Generated Successfully" + }, + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -617,8 +638,8 @@ } } }, - "500": { - "description": "Failed with an exception.", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { @@ -627,11 +648,8 @@ } } }, - "200": { - "description": "Template Generated Successfully" - }, - "403": { - "description": "Tenant License Expired", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { @@ -640,8 +658,8 @@ } } }, - "405": { - "description": "Wrong Http Method", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { @@ -660,8 +678,8 @@ } } }, - "429": { - "description": "Rate Limit Exceeded", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { @@ -679,15 +697,24 @@ ] } }, - "/cas/v1/aws_template/presigned_url": { - "post": { + "/cas/api/v1/org/{id}/features": { + "put": { "tags": [ - "Cloud Accounts (AWS)" + "Cloud Accounts (All)" ], - "summary": "Generate the CFT Template Link (AWS)", - "description": "Generates the AWS Cloudformation Stack Quick create link with S3 presigned CFT URL. The Generated CFT template will include Prisma Cloud generated externalId and the permissions based on selected features.\n\n The response contains *createStackLinkWithS3PresignedUrl* key whose value can be used to create IAM role via AWS CloudFormation stack.\n\n There are 2 ways to create IAM role:\n\n 1. [Manual] If you are logged into your AWS Management console, directly open the value of the *createStackLinkWithS3PresignedUrl* key on a new tab in the browser.\n 2. [Automation] Else, you can extract the actual S3 Presigned CFT URL from the *createStackLinkWithS3PresignedUrl* key by splitting at templateURL= and url decoding the last index of the split(i.e right part of the split). This extracted decoded link can be used to create or update the IAM role CloudFormation stack. \n\n **NOTE**: The *createStackLinkWithS3PresignedUrl* link is valid for 1hr", - "operationId": "generate-cft-template-link-aws", + "summary": "Update Feature State for Members of an Organization", + "description": "Enable or disable the feature for list of member accounts linked to an organization.", + "operationId": "save-Bulk-Cloud-Account-Feature", "parameters": [ + { + "name": "accountId", + "in": "path", + "description": "For AWS, specify organization id.\n\nFor GCP, specify organization id or masterServiceAccount id.\n\nFor Azure, specify tenant id.\n\n", + "required": true, + "schema": { + "type": "string" + } + }, { "name": "x-redlock-auth", "in": "header", @@ -705,99 +732,89 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AWSTemplateGenRequest" + "$ref": "#/components/schemas/CloudAccountBulkFeatureRequest" } } }, "required": true }, "responses": { - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - } - } - } - }, "401": { "description": "Unauthorized Access", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "425": { - "description": "Too Early to access the resource", + "403": { + "description": "Tenant License Expired", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "500": { - "description": "Failed with an exception.", + "425": { + "description": "Too Early to access the resource", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "403": { - "description": "Tenant License Expired", + "405": { + "description": "Wrong Http Method", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "405": { - "description": "Wrong Http Method", + "200": { + "description": "Successfully saved/updated cloud account feature for the given member accounts", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/SuccessResponse" } } } }, - "404": { - "description": "Not Found", + "429": { + "description": "Rate Limit Exceeded", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "429": { - "description": "Rate Limit Exceeded", + "400": { + "description": "Invalid Account Id/Member Ids cannot be empty or null/Member account list should be less than 500 in a single request/Feature {0} is not allowed/Invalid feature state {0} for feature {1}/Organisation Id {0} is not onboarded/AccountType of {0} is invalid, should be either of Organisation / Master Service Account / Tenant/Members account {0} do not belong to {1}/Compute features are not supported for {0}/Feature {0} is not present for given account,/For feature = {0}, parent feature state is {1}/Organisation / Master Service Account / Tenant Id {0} should not be part of memberIds list/AccountType of member account {0} is invalid. Member accountType should be of type {1}/", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiError" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } }, - "200": { - "description": "Template Generated Successfully", + "404": { + "description": "Tenant not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AWSCFTGenResponse" + "$ref": "#/components/schemas/RestAPIErrorResponse" } } } @@ -811,27 +828,15 @@ ] } }, - "/cas/v1/cloud/{cloudType}/deployment-type": { - "get": { + "/cas/v1/aws_template": { + "post": { "tags": [ - "Cloud Accounts (OCI and Alibaba)" + "Cloud Accounts (AWS)" ], - "summary": "Get Cloud Account Deployment Types (Alibaba)", - "description": "List cloud account deployment types. Currently, this is applicable only for Alibaba cloud.", - "operationId": "getCloudDeploymentTypes", + "summary": "Generate and Download the CFT Template (AWS)", + "description": "Generates the AWS CFT template. The Generated CFT template includes Prisma Cloud generated externalId and the permissions based on selected features.\n The CFT template can be used to create IAM role via AWS CloudFormation stack.", + "operationId": "generate-cft-template-aws", "parameters": [ - { - "name": "cloudType", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "Cloud Account Type", - "enum": [ - "alibaba-cloud" - ] - } - }, { "name": "x-redlock-auth", "in": "header", @@ -845,33 +850,39 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AWSTemplateGenRequest" + } + } + }, + "required": true + }, "responses": { + "400": { + "description": "Bad Request/Bad Request with accountType account, only valid cftType is account/Bad Request with accountType organization, cftType account is not valid/AccountType can be one of the following [account , organization]/AccountId is not valid Feature list is invalid /Invalid usage of customMemberRoleNameEnabled" + }, "403": { "description": "Tenant License Expired", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } }, - "404": { - "description": "Tenant not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIErrorObject" - } - } - } + "200": { + "description": "Template Generated Successfully" }, - "500": { - "description": "Failed with an Exception, Internal Error Occurred", + "401": { + "description": "Unauthorized Access", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } @@ -881,17 +892,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } @@ -901,27 +902,27 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } }, - "200": { - "description": "Successfully retrieved list of cloud deployment types", + "500": { + "description": "Failed with an exception.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeploymentTypeListResponse" + "$ref": "#/components/schemas/ApiError" } } } }, - "401": { - "description": "Unauthorized Access", + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } @@ -931,7 +932,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIErrorObject" + "$ref": "#/components/schemas/ApiError" } } } @@ -1036,50 +1037,32 @@ } } }, - "IBMTemplateGenRequest": { - "type": "object", - "properties": { - "accountType": { - "type": "string" - } - } - }, - "ApiErrorResponse": { - "type": "object", - "properties": { - "error": { - "$ref": "#/components/schemas/NestedApiErrorResponse" - } - } - }, - "NestedApiErrorResponse": { + "CloudAccountSecret": { "type": "object", "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - }, - "target": { - "type": "string" + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecretDetails" + } }, - "innerError": { - "$ref": "#/components/schemas/NestedInnerApiErrorResponse" + "notFound": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } } } }, - "NestedInnerApiErrorResponse": { + "SecretDetails": { "type": "object", "properties": { - "code": { + "accountId": { "type": "string" }, - "supportedValues": { - "type": "array", - "items": { - "type": "string" - } + "secret": { + "type": "string" } } }, @@ -1100,55 +1083,122 @@ } } }, - "CloudAccountFeatureModel": { + "AwsCloudAccount": { "type": "object", "properties": { - "name": { + "cloudAccount": { + "$ref": "#/components/schemas/CloudAccount" + }, + "roleArn": { "type": "string" }, - "mode": { + "externalId": { "type": "string" }, - "state": { + "defaultAccountGroupId": { "type": "string" }, - "displayName": { + "defaultAccountGroupName": { "type": "string" }, - "defaultMemberState": { + "memberRoleName": { "type": "string" - } - } - }, - "IbmCloudAccount": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" }, - "parentId": { - "type": "integer", - "format": "int32" + "memberExternalId": { + "type": "string" }, - "parentAccountId": { + "hasMemberRole": { + "type": "boolean" + }, + "templateUrl": { "type": "string" }, - "name": { + "memberTemplateUrl": { "type": "string" }, - "cloudType": { + "eventbridgeRuleNamePrefix": { + "type": "string" + }, + "assumeRoleAccount": { "type": "string", "enum": [ - "all", - "aws", - "azure", - "gcp", - "alibaba_cloud", - "oci", - "other", - "ibm" - ] + "REDLOCK", + "EVIDENT", + "US_GOV", + "CHINA", + "GLOBAL" + ] + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "hierarchySelection": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HierarchySelection" + } + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "storageScanConfig": { + "$ref": "#/components/schemas/StorageScanConfig" + }, + "storageUUID": { + "type": "string" + }, + "accountGroupInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AccountGroupInfo" + } + }, + "customMemberRoleNameEnabled": { + "type": "boolean" + }, + "unifiedCftDisabled": { + "type": "boolean" + }, + "skipOverrideMemberRoleName": { + "type": "boolean" + } + } + }, + "CloudAccount": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "accountTypeId": { + "type": "integer", + "format": "int32" + }, + "cloudType": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "parentId": { + "type": "string" + }, + "storageScanEnabled": { + "type": "boolean" + }, + "addedOnTs": { + "type": "integer", + "format": "int64" + }, + "parentName": { + "type": "string" }, "accountType": { "type": "string", @@ -1162,133 +1212,202 @@ "workspace_domain" ] }, - "enabled": { + "deleted": { "type": "boolean" }, - "lastModifiedTs": { + "protectionMode": { + "type": "string" + }, + "deploymentType": { + "type": "string" + }, + "customerName": { + "type": "string" + }, + "customerPrismaId": { "type": "integer", "format": "int64" }, - "lastModifiedBy": { + "createdEpochMillis": { + "type": "integer", + "format": "int64" + }, + "createdBy": { "type": "string" }, - "storageScanEnabled": { - "type": "boolean" + "lastModifiedEpochMillis": { + "type": "integer", + "format": "int64" }, - "storageUUID": { + "lastModifiedBy": { "type": "string" }, - "protectionMode": { - "type": "string", - "enum": [ - "MONITOR", - "MONITOR_AND_PROTECT" - ] - }, - "ingestionMode": { - "type": "integer", - "format": "int32" + "owner": { + "type": "string" }, - "cloudAccountOwner": { + "deploymentTypeDescription": { "type": "string" }, - "deploymentType": { - "type": "string", - "enum": [ - "az", - "az-us-gov", - "az-cn", - "aws", - "aws-us-gov", - "aws-cn", - "oci", - "oci-us-gov", - "oci-cn", - "gcp", - "gcp-us-gov", - "gcp-cn", - "ali-int", - "ali-us-gov", - "ali-cn", - "ali-fn", - "ibm", - "ibm-us-gov", - "ibm-cn" - ] + "autoConsent": { + "type": "string" }, "features": { "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/CloudAccountFeatureModel" + "$ref": "#/components/schemas/FeatureDetails" } + } + } + }, + "FeatureDetails": { + "type": "object", + "properties": { + "featureName": { + "type": "string" }, - "associatedAccountGroupsCount": { - "type": "integer", - "format": "int32" - }, - "accountGroupInfos": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AccountGroupInfo" - } + "featureMode": { + "type": "string" }, - "cloudAccountOwnerCount": { + "createdTs": { "type": "integer", - "format": "int32" + "format": "int64" }, - "svcIdIamId": { + "featureState": { "type": "string" }, - "apiKey": { + "displayName": { "type": "string" }, - "accountId": { + "defaultMemberState": { + "type": "string" + } + } + }, + "HierarchySelection": { + "type": "object", + "properties": { + "resourceId": { "type": "string" }, - "customerId": { - "type": "integer", - "format": "int32" + "displayName": { + "type": "string" }, - "addedOn": { - "type": "integer", - "format": "int64" + "nodeType": { + "type": "string", + "enum": [ + "ORG", + "FOLDER", + "PROJECT", + "SUBSCRIPTION", + "MANAGEMENT_GROUP", + "TENANT", + "ACCOUNT", + "OU" + ] }, - "groupIds": { - "type": "array", - "items": { - "type": "string" - } + "selectionType": { + "type": "string", + "enum": [ + "ALL", + "INCLUDE", + "EXCLUDE" + ] } } }, - "IbmPermissionCheckRequest": { + "StorageScanConfig": { "type": "object", "properties": { - "svcIdIamId": { - "type": "string" + "scanOption": { + "type": "string", + "enum": [ + "Realtime", + "Custom", + "Full", + "Historical" + ] }, - "apiKey": { + "buckets": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "snsTopicArn": { "type": "string" } } }, - "APIErrorObject": { + "OrgMember": { "type": "object", "properties": { - "code": { + "name": { + "type": "string" + }, + "parentId": { + "type": "string" + }, + "type": { "type": "string", "enum": [ - "100 CONTINUE", - "101 SWITCHING_PROTOCOLS", - "102 PROCESSING", - "103 CHECKPOINT", - "200 OK", - "201 CREATED", - "202 ACCEPTED", - "203 NON_AUTHORITATIVE_INFORMATION", - "204 NO_CONTENT", - "205 RESET_CONTENT", + "ACCOUNT", + "FOLDER", + "ORG" + ] + }, + "id": { + "type": "string" + }, + "onboarded": { + "type": "boolean" + } + } + }, + "OrgMembersHierarchyResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrgMember" + } + }, + "nextPageToken": { + "type": "string" + } + } + }, + "CloudRegions": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "APIErrorObject": { + "type": "object", + "properties": { + "code": { + "type": "string", + "enum": [ + "100 CONTINUE", + "101 SWITCHING_PROTOCOLS", + "102 PROCESSING", + "103 CHECKPOINT", + "200 OK", + "201 CREATED", + "202 ACCEPTED", + "203 NON_AUTHORITATIVE_INFORMATION", + "204 NO_CONTENT", + "205 RESET_CONTENT", "206 PARTIAL_CONTENT", "207 MULTI_STATUS", "208 ALREADY_REPORTED", @@ -1370,26 +1489,29 @@ } } }, - "RestAPIErrorResponse": { + "DeploymentTypeListResponse": { "type": "object", "properties": { - "error": { - "$ref": "#/components/schemas/APIErrorObject" + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeploymentTypeResponse" + } } } }, - "AccountStatusMessage": { + "DeploymentTypeResponse": { "type": "object", "properties": { - "message": { + "deploymentType": { "type": "string" }, - "staticMessage": { - "type": "boolean" + "displayName": { + "type": "string" } } }, - "CloudAccountStatus": { + "AccountGroup": { "type": "object", "properties": { "id": { @@ -1398,62 +1520,64 @@ "name": { "type": "string" }, - "status": { + "description": { "type": "string" }, - "statusMessage": { - "$ref": "#/components/schemas/AccountStatusMessage" - } - } - }, - "PermissionCheckResponse": { - "type": "object", - "properties": { - "status": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CloudAccountStatus" - } - } - } - }, - "CloudAccountModel": { - "type": "object", - "properties": { - "customerName": { + "lastModifiedBy": { "type": "string" }, - "customerPrismaId": { + "lastModifiedTs": { "type": "integer", "format": "int64" }, - "id": { - "type": "integer", - "format": "int32" - }, + "autoCreated": { + "type": "boolean" + } + } + }, + "CloudAccountWithFeatureDetails": { + "type": "object", + "properties": { "accountId": { "type": "string" }, "name": { "type": "string" }, - "cloudType": { - "type": "string" + "accountTypeId": { + "type": "integer", + "format": "int32" }, - "accountType": { + "cloudType": { "type": "string" }, - "deploymentType": { - "type": "string" + "enabled": { + "type": "boolean" }, "parentId": { "type": "string" }, + "storageScanEnabled": { + "type": "boolean" + }, + "addedOnTs": { + "type": "integer", + "format": "int64" + }, "parentName": { "type": "string" }, - "enabled": { - "type": "boolean" + "accountType": { + "type": "string", + "enum": [ + "account", + "masterServiceAccount", + "compartment", + "management_group", + "organization", + "tenant", + "workspace_domain" + ] }, "deleted": { "type": "boolean" @@ -1461,6 +1585,16 @@ "protectionMode": { "type": "string" }, + "deploymentType": { + "type": "string" + }, + "customerName": { + "type": "string" + }, + "customerPrismaId": { + "type": "integer", + "format": "int64" + }, "createdEpochMillis": { "type": "integer", "format": "int64" @@ -1481,21 +1615,8 @@ "deploymentTypeDescription": { "type": "string" }, - "hasConfigError": { - "type": "boolean" - }, - "storageScanEnabled": { - "type": "boolean" - }, - "addedOn": { - "type": "integer", - "format": "int64" - }, - "permissionStatusList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CloudAccountPermissionStatusApiRequest" - } + "autoConsent": { + "type": "string" }, "features": { "uniqueItems": true, @@ -1503,59 +1624,76 @@ "items": { "$ref": "#/components/schemas/FeatureDetails" } + }, + "feature": { + "$ref": "#/components/schemas/FeatureDetails" } } }, - "CloudAccountPermissionStatusApiRequest": { + "AWSTemplateGenRequest": { + "required": [ + "accountId", + "accountType" + ], "type": "object", "properties": { - "subComponent": { - "type": "string" - }, - "component": { - "type": "string" - }, - "statusCode": { - "type": "string" + "accountType": { + "type": "string", + "description": "Cloud Account Type", + "enum": [ + "account", + "organization" + ] }, - "status": { - "type": "string" + "accountId": { + "type": "string", + "description": "Account Id" }, - "error": { - "type": "string" + "awsPartition": { + "type": "string", + "description": "*Applicable only for Prisma Government Stack(**app.gov.prismacloud.io**) and given if the Cloud account Global Deployment option is enabled*\n\n * **us-east-1** - AWS Commercial/Global account\n\n * **us-gov-west-1** - AWS GovCloud account.", + "enum": [ + "us-east-1", + "us-gov-west-1" + ] }, - "remediation": { - "type": "string" + "features": { + "uniqueItems": true, + "type": "array", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": [ + "Remediation" + ], + "items": { + "type": "string", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": "[\"Remediation\"]" + } }, - "statusTs": { - "type": "integer", - "format": "int64" + "customMemberRoleNameEnabled": { + "type": "boolean", + "description": "Applicable only when accountType is organization the default is `false`. However, if given as true, the user has to provide a memberRole name" }, - "accountId": { - "type": "string" + "cftType": { + "type": "string", + "description": "Specify which type of cft you want to download", + "enum": [ + "org_member", + "org_management", + "org_management_member", + "account" + ] } } }, - "FeatureDetails": { + "AWSCFTGenResponse": { "type": "object", "properties": { - "featureName": { - "type": "string" - }, - "featureMode": { - "type": "string" - }, - "createdTs": { - "type": "integer", - "format": "int64" - }, - "featureState": { - "type": "string" + "createStackLinkWithS3PresignedUrl": { + "type": "string", + "description": "AWS Cloudformation Stack Quick Create link." }, - "displayName": { - "type": "string" - }, - "defaultMemberState": { + "externalId": { "type": "string" } } @@ -1586,35 +1724,6 @@ } } }, - "OciCredentialsData": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "userOcid": { - "type": "string" - }, - "groupName": { - "type": "string" - }, - "policyName": { - "type": "string" - }, - "homeRegion": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "fingerPrint": { - "type": "string" - }, - "tenancyId": { - "type": "string" - } - } - }, "AzureCloudAccount": { "type": "object", "properties": { @@ -1678,49 +1787,43 @@ } } }, - "CloudAccount": { + "CloudAccountModel": { "type": "object", "properties": { - "accountId": { + "customerName": { "type": "string" }, - "name": { - "type": "string" + "customerPrismaId": { + "type": "integer", + "format": "int64" }, - "accountTypeId": { + "id": { "type": "integer", "format": "int32" }, - "cloudType": { + "accountId": { "type": "string" }, - "enabled": { - "type": "boolean" + "name": { + "type": "string" }, - "parentId": { + "cloudType": { "type": "string" }, - "storageScanEnabled": { - "type": "boolean" + "accountType": { + "type": "string" }, - "addedOnTs": { - "type": "integer", - "format": "int64" + "deploymentType": { + "type": "string" + }, + "parentId": { + "type": "string" }, "parentName": { "type": "string" }, - "accountType": { - "type": "string", - "enum": [ - "account", - "masterServiceAccount", - "compartment", - "management_group", - "organization", - "tenant", - "workspace_domain" - ] + "enabled": { + "type": "boolean" }, "deleted": { "type": "boolean" @@ -1728,16 +1831,6 @@ "protectionMode": { "type": "string" }, - "deploymentType": { - "type": "string" - }, - "customerName": { - "type": "string" - }, - "customerPrismaId": { - "type": "integer", - "format": "int64" - }, "createdEpochMillis": { "type": "integer", "format": "int64" @@ -1758,8 +1851,21 @@ "deploymentTypeDescription": { "type": "string" }, - "autoConsent": { - "type": "string" + "hasConfigError": { + "type": "boolean" + }, + "storageScanEnabled": { + "type": "boolean" + }, + "addedOn": { + "type": "integer", + "format": "int64" + }, + "permissionStatusList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudAccountPermissionStatusApiRequest" + } }, "features": { "uniqueItems": true, @@ -1770,254 +1876,248 @@ } } }, - "HierarchySelection": { + "CloudAccountPermissionStatusApiRequest": { "type": "object", "properties": { - "resourceId": { + "subComponent": { "type": "string" }, - "displayName": { + "component": { "type": "string" }, - "nodeType": { - "type": "string", - "enum": [ - "ORG", - "FOLDER", - "PROJECT", - "SUBSCRIPTION", - "MANAGEMENT_GROUP", - "TENANT", - "ACCOUNT", - "OU" - ] + "statusCode": { + "type": "string" }, - "selectionType": { - "type": "string", - "enum": [ - "ALL", - "INCLUDE", - "EXCLUDE" - ] + "status": { + "type": "string" + }, + "error": { + "type": "string" + }, + "remediation": { + "type": "string" + }, + "statusTs": { + "type": "integer", + "format": "int64" + }, + "accountId": { + "type": "string" } } }, - "CloudAccountWithFeatureDetails": { + "CloudAccountPermissionStatus": { "type": "object", "properties": { "accountId": { "type": "string" }, - "name": { + "feature": { "type": "string" }, - "accountTypeId": { - "type": "integer", - "format": "int32" + "displayName": { + "type": "string" }, - "cloudType": { + "status": { "type": "string" }, - "enabled": { - "type": "boolean" + "message": { + "type": "string" }, - "parentId": { + "remediation": { "type": "string" }, - "storageScanEnabled": { - "type": "boolean" + "errorCode": { + "type": "string" }, - "addedOnTs": { + "lastRunEpochMillis": { "type": "integer", "format": "int64" }, - "parentName": { - "type": "string" + "lastSuccessEpochMillis": { + "type": "integer", + "format": "int64" }, + "lastErrorEpochMillis": { + "type": "integer", + "format": "int64" + }, + "components": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudAccountPermissionStatus" + } + } + } + }, + "IBMTemplateGenRequest": { + "type": "object", + "properties": { "accountType": { - "type": "string", - "enum": [ - "account", - "masterServiceAccount", - "compartment", - "management_group", - "organization", - "tenant", - "workspace_domain" - ] + "type": "string" + } + } + }, + "ApiErrorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/components/schemas/NestedApiErrorResponse" + } + } + }, + "NestedApiErrorResponse": { + "type": "object", + "properties": { + "code": { + "type": "string" }, - "deleted": { - "type": "boolean" + "message": { + "type": "string" }, - "protectionMode": { + "target": { "type": "string" }, - "deploymentType": { + "innerError": { + "$ref": "#/components/schemas/NestedInnerApiErrorResponse" + } + } + }, + "NestedInnerApiErrorResponse": { + "type": "object", + "properties": { + "code": { "type": "string" }, - "customerName": { + "supportedValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GcpCloudAccountResponse": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/components/schemas/CloudAccount" + }, + "hierarchySelection": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/HierarchySelection" + } + }, + "parentId": { "type": "string" }, - "customerPrismaId": { + "customerId": { "type": "integer", - "format": "int64" + "format": "int32" }, - "createdEpochMillis": { - "type": "integer", - "format": "int64" + "projectId": { + "type": "string" }, - "createdBy": { + "serviceAccountEmail": { "type": "string" }, - "lastModifiedEpochMillis": { - "type": "integer", - "format": "int64" + "authenticationType": { + "type": "string" }, - "lastModifiedBy": { + "flowLogStorageBucket": { "type": "string" }, - "owner": { + "compressionEnabled": { + "type": "boolean" + }, + "accountGroupCreationMode": { "type": "string" }, - "deploymentTypeDescription": { + "dataflowEnabledProject": { "type": "string" }, - "autoConsent": { + "credentials": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "defaultAccountGroupId": { "type": "string" }, - "features": { - "uniqueItems": true, + "groupIds": { "type": "array", "items": { - "$ref": "#/components/schemas/FeatureDetails" + "type": "string" } }, - "feature": { - "$ref": "#/components/schemas/FeatureDetails" - } - } - }, - "IamToken": { - "type": "object", - "properties": { - "exception": { - "type": "object", - "properties": { - "stackTrace": { - "type": "array", - "items": { - "type": "object", - "properties": { - "classLoaderName": { - "type": "string" - }, - "moduleName": { - "type": "string" - }, - "moduleVersion": { - "type": "string" - }, - "methodName": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "lineNumber": { - "type": "integer", - "format": "int32" - }, - "className": { - "type": "string" - }, - "nativeMethod": { - "type": "boolean" - } - } - } - }, - "message": { - "type": "string" - }, - "suppressed": { - "type": "array", - "items": { - "type": "object", - "properties": { - "stackTrace": { - "type": "array", - "items": { - "type": "object", - "properties": { - "classLoaderName": { - "type": "string" - }, - "moduleName": { - "type": "string" - }, - "moduleVersion": { - "type": "string" - }, - "methodName": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "lineNumber": { - "type": "integer", - "format": "int32" - }, - "className": { - "type": "string" - }, - "nativeMethod": { - "type": "boolean" - } - } - } - }, - "message": { - "type": "string" - }, - "localizedMessage": { - "type": "string" - } - } - } - }, - "localizedMessage": { - "type": "string" - } + "organizationName": { + "type": "string" + }, + "accountGroupInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AccountGroupInfo" } - }, - "accessToken": { + } + } + }, + "CloudAccountFeaturePatchRequest": { + "type": "object", + "properties": { + "mode": { "type": "string" }, - "refreshToken": { + "state": { "type": "string" + } + } + }, + "SuccessResponse": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" }, - "tokenType": { + "message": { "type": "string" - }, - "expiresIn": { + } + } + }, + "ErrorResponse": { + "type": "object", + "properties": { + "code": { "type": "integer", - "format": "int64" + "format": "int32" }, - "expiration": { - "type": "integer", - "format": "int64" + "message": { + "type": "string" }, - "tokenValid": { - "type": "boolean" + "timestamp": { + "type": "string" + }, + "details": { + "type": "string" } } }, - "IbmAccessTokenResponse": { + "AzureTokenRequest": { + "type": "object", + "properties": { + "resource": { + "type": "string" + } + } + }, + "AzureTokenResponse": { "type": "object", "properties": { "rawToken": { - "$ref": "#/components/schemas/IamToken" + "$ref": "#/components/schemas/IAuthenticationResultResponse" }, "meta": { "type": "object", @@ -2027,229 +2127,194 @@ } } }, - "CloudRegions": { + "IAuthenticationResultResponse": { "type": "object", "properties": { - "regions": { - "type": "array", - "items": { - "type": "string" - } + "accessTokenType": { + "type": "string" + }, + "expiresOn": { + "type": "integer", + "format": "int64" + }, + "idToken": { + "type": "string" + }, + "accessToken": { + "type": "string" + }, + "expiresAfter": { + "type": "integer", + "format": "int64" + }, + "expiresOnDate": { + "type": "string", + "format": "date-time" + }, + "multipleResourceRefreshToken": { + "type": "boolean" } } }, - "AwsCloudAccount": { + "CloudAccountFeatureModel": { "type": "object", "properties": { - "cloudAccount": { - "$ref": "#/components/schemas/CloudAccount" - }, - "roleArn": { - "type": "string" - }, - "externalId": { + "name": { "type": "string" }, - "defaultAccountGroupId": { + "mode": { "type": "string" }, - "defaultAccountGroupName": { + "state": { "type": "string" }, - "memberRoleName": { + "displayName": { "type": "string" }, - "memberExternalId": { + "defaultMemberState": { "type": "string" + } + } + }, + "IbmCloudAccount": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "hasMemberRole": { - "type": "boolean" - }, - "templateUrl": { - "type": "string" + "parentId": { + "type": "integer", + "format": "int32" }, - "memberTemplateUrl": { + "parentAccountId": { "type": "string" }, - "eventbridgeRuleNamePrefix": { + "name": { "type": "string" }, - "assumeRoleAccount": { + "cloudType": { "type": "string", "enum": [ - "REDLOCK", - "EVIDENT", - "US_GOV", - "CHINA", - "GLOBAL" + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" ] }, - "customerId": { - "type": "integer", - "format": "int32" - }, - "hierarchySelection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HierarchySelection" - } + "accountType": { + "type": "string", + "enum": [ + "account", + "masterServiceAccount", + "compartment", + "management_group", + "organization", + "tenant", + "workspace_domain" + ] }, - "groupIds": { - "type": "array", - "items": { - "type": "string" - } + "enabled": { + "type": "boolean" }, - "storageScanConfig": { - "$ref": "#/components/schemas/StorageScanConfig" + "lastModifiedTs": { + "type": "integer", + "format": "int64" }, - "storageUUID": { + "lastModifiedBy": { "type": "string" }, - "accountGroupInfos": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AccountGroupInfo" - } - }, - "customMemberRoleNameEnabled": { + "storageScanEnabled": { "type": "boolean" }, - "unifiedCftDisabled": { - "type": "boolean" + "storageUUID": { + "type": "string" }, - "skipOverrideMemberRoleName": { - "type": "boolean" - } - } - }, - "StorageScanConfig": { - "type": "object", - "properties": { - "scanOption": { + "protectionMode": { "type": "string", "enum": [ - "Realtime", - "Custom", - "Full", - "Historical" + "MONITOR", + "MONITOR_AND_PROTECT" ] }, - "buckets": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } + "ingestionMode": { + "type": "integer", + "format": "int32" }, - "snsTopicArn": { - "type": "string" - } - } - }, - "GCPTokenRequestV2": { - "type": "object", - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "GCPTokenResponseV2": { - "type": "object", - "properties": { - "rawAuthToken": { + "cloudAccountOwner": { "type": "string" }, - "expirationTime": { - "type": "integer", - "format": "int64" + "deploymentType": { + "type": "string", + "enum": [ + "az", + "az-us-gov", + "az-cn", + "aws", + "aws-us-gov", + "aws-cn", + "oci", + "oci-us-gov", + "oci-cn", + "gcp", + "gcp-us-gov", + "gcp-cn", + "ali-int", + "ali-us-gov", + "ali-cn", + "ali-fn", + "ibm", + "ibm-us-gov", + "ibm-cn" + ] }, - "meta": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - }, - "CloudAccountBulkFeatureRequest": { - "required": [ - "features", - "memberIds" - ], - "type": "object", - "properties": { - "memberIds": { + "features": { + "uniqueItems": true, "type": "array", - "description": "List of member ids for which the feature must be enabled or disabled.\n\nFor AWS, specify account ids\n\nFor Azure, specify subscription ids\n\nFor GCP, specify project ids", "items": { - "type": "string", - "description": "List of member ids for which the feature must be enabled or disabled.\n\nFor AWS, specify account ids\n\nFor Azure, specify subscription ids\n\nFor GCP, specify project ids" + "$ref": "#/components/schemas/CloudAccountFeatureModel" } }, - "features": { + "associatedAccountGroupsCount": { + "type": "integer", + "format": "int32" + }, + "accountGroupInfos": { "type": "array", - "description": "Features to be enabled or disabled. To get a list of all the supported features, see **[Fetch Supported Features endpoint](/prisma-cloud/api/cspm/fetch-supported-features)**.", "items": { - "$ref": "#/components/schemas/CloudAccountFeatureModel" + "$ref": "#/components/schemas/AccountGroupInfo" } - } - } - }, - "SuccessResponse": { - "type": "object", - "properties": { - "code": { + }, + "cloudAccountOwnerCount": { "type": "integer", "format": "int32" }, - "message": { + "svcIdIamId": { "type": "string" - } - } - }, - "OrgMember": { - "type": "object", - "properties": { - "name": { + }, + "apiKey": { "type": "string" }, - "parentId": { + "accountId": { "type": "string" }, - "type": { - "type": "string", - "enum": [ - "ACCOUNT", - "FOLDER", - "ORG" - ] + "customerId": { + "type": "integer", + "format": "int32" }, - "id": { - "type": "string" + "addedOn": { + "type": "integer", + "format": "int64" }, - "onboarded": { - "type": "boolean" - } - } - }, - "OrgMembersHierarchyResponse": { - "type": "object", - "properties": { - "value": { + "groupIds": { "type": "array", "items": { - "$ref": "#/components/schemas/OrgMember" + "type": "string" } - }, - "nextPageToken": { - "type": "string" } } }, @@ -2412,57 +2477,10 @@ } } }, - "LoggingAccountMapRequest": { - "type": "object", - "properties": { - "accountId": { - "type": "string" - }, - "bucketId": { - "type": "integer", - "format": "int32" - }, - "action": { - "type": "string" - }, - "featureName": { - "type": "string" - } - } - }, - "ErrorResponse": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "details": { - "type": "string" - } - } - }, - "IbmCloudAccountResponse": { + "GCPTokenRequestV2": { "type": "object", "properties": { - "cloudAccount": { - "$ref": "#/components/schemas/CloudAccount" - }, - "customerId": { - "type": "integer", - "format": "int32" - }, - "svcIdIamId": { - "type": "string" - }, - "groupIds": { - "uniqueItems": true, + "scopes": { "type": "array", "items": { "type": "string" @@ -2470,53 +2488,21 @@ } } }, - "AzureTemplateGenRequest": { - "required": [ - "accountType", - "tenantId" - ], + "GCPTokenResponseV2": { "type": "object", "properties": { - "accountType": { - "type": "string", - "description": "Cloud account type. \n\n **account** = Azure Subscription \n\n**tenant** = Azure Tenant", - "enum": [ - "account", - "tenant" - ] - }, - "subscriptionId": { - "type": "string", - "description": "*Required field for accountType: **account***.\n\n Azure Subscription ID" - }, - "tenantId": { - "type": "string", - "description": "Azure Directory (Tenant) ID" + "rawAuthToken": { + "type": "string" }, - "rootSyncEnabled": { - "type": "boolean", - "description": "*Applicable only for accountType: **tenant***\n\n In order to onboard the account type **tenant** and its associated **management groups** and **subscriptions**, ```rootSyncEnabled``` must be set to ```true```" + "expirationTime": { + "type": "integer", + "format": "int64" }, - "features": { - "uniqueItems": true, - "type": "array", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": [ - "Remediation" - ], - "items": { - "type": "string", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": "[\"Remediation\"]" + "meta": { + "type": "object", + "additionalProperties": { + "type": "object" } - }, - "deploymentType": { - "type": "string", - "description": "*Applicable only for Prisma Commercial and Government stacks* \n\n**azure** = Commercial deployment type\n\n**azure_gov** = Government deployment type", - "enum": [ - "azure", - "azure_gov" - ] } } }, @@ -2553,71 +2539,76 @@ } } }, - "PermissionsRequest": { + "AWSTokenRequest": { "type": "object", "properties": { - "accountType": { - "type": "string" + "durationInSeconds": { + "type": "integer", + "format": "int32" }, - "deploymentType": { - "type": "string" + "shouldRefreshMaxSessionDuration": { + "type": "boolean" }, - "awsPartition": { - "type": "string" + "featureType": { + "type": "string", + "enum": [ + "AWS_S3_FLOWLOG_ACCOUNT_TOKEN", + "AWS_CLOUD_TRAIL", + "NONE" + ] }, - "authenticationType": { + "accountOnboardingType": { + "type": "string", + "enum": [ + "MONITORED", + "LOGGING" + ] + }, + "tenantName": { "type": "string" } } }, - "AppCapabilityPermissionMapping": { + "AssumeRoleResult": { "type": "object", "properties": { - "label": { - "type": "string" - }, - "feature": { - "type": "string" + "sdkResponseMetadata": { + "$ref": "#/components/schemas/ResponseMetadata" }, - "mode": { - "type": "string" + "sdkHttpMetadata": { + "$ref": "#/components/schemas/SdkHttpMetadata" }, - "permissions": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } + "credentials": { + "$ref": "#/components/schemas/Credentials" }, - "roles": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } + "assumedRoleUser": { + "$ref": "#/components/schemas/AssumedRoleUser" }, - "services": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } + "packedPolicySize": { + "type": "integer", + "format": "int32" + }, + "sourceIdentity": { + "type": "string" } } }, - "AzureTokenRequest": { + "AssumedRoleUser": { "type": "object", "properties": { - "resource": { + "assumedRoleId": { + "type": "string" + }, + "arn": { "type": "string" } } }, - "AzureTokenResponse": { + "AwsTokenResponse": { "type": "object", "properties": { "rawToken": { - "$ref": "#/components/schemas/IAuthenticationResultResponse" + "$ref": "#/components/schemas/AssumeRoleResult" }, "meta": { "type": "object", @@ -2627,44 +2618,35 @@ } } }, - "IAuthenticationResultResponse": { + "ResponseMetadata": { "type": "object", "properties": { - "accessTokenType": { - "type": "string" - }, - "expiresOn": { - "type": "integer", - "format": "int64" - }, - "idToken": { - "type": "string" - }, - "accessToken": { + "requestId": { "type": "string" - }, - "expiresAfter": { - "type": "integer", - "format": "int64" - }, - "expiresOnDate": { - "type": "string", - "format": "date-time" - }, - "multipleResourceRefreshToken": { - "type": "boolean" } } }, - "ComputeLimitStatusResponse": { + "SdkHttpMetadata": { "type": "object", "properties": { - "limit": { + "httpHeaders": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "httpStatusCode": { "type": "integer", "format": "int32" }, - "isAccountImported": { - "type": "boolean" + "allHttpHeaders": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } } } }, @@ -2788,186 +2770,153 @@ } } }, - "IngestionCloudAccount": { + "CloudAccountIdentity": { "type": "object", "properties": { - "customerId": { - "type": "integer", - "format": "int32" - }, - "customerName": { - "type": "string" - }, - "id": { + "accountId": { "type": "string" }, "name": { "type": "string" }, "cloudType": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "accountType": { - "type": "integer", - "format": "int32" - }, - "credentials": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "type": "string", + "enum": [ + "all", + "aws", + "azure", + "gcp", + "alibaba_cloud", + "oci", + "other", + "ibm" + ] }, - "homeRegionId": { + "parentAccountId": { "type": "string" }, - "regionIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "policyName": { + "parentName": { "type": "string" }, - "autoConsent": { - "type": "string" + "isOnboarded": { + "type": "boolean" + }, + "id": { + "type": "integer", + "format": "int32", + "writeOnly": true } } }, - "AccountGroup": { + "CloudAccountMetadataPage": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "lastModifiedBy": { - "type": "string" - }, - "lastModifiedTs": { - "type": "integer", - "format": "int64" - }, - "autoCreated": { - "type": "boolean" + "cloudAccounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudAccountIdentity" + } } } }, - "AWSTokenRequest": { + "AzureTemplateGenRequest": { + "required": [ + "accountType", + "tenantId" + ], "type": "object", "properties": { - "durationInSeconds": { - "type": "integer", - "format": "int32" - }, - "shouldRefreshMaxSessionDuration": { - "type": "boolean" - }, - "featureType": { + "accountType": { "type": "string", + "description": "Cloud account type. \n\n **account** = Azure Subscription \n\n**tenant** = Azure Tenant", "enum": [ - "AWS_S3_FLOWLOG_ACCOUNT_TOKEN", - "AWS_CLOUD_TRAIL", - "NONE" + "account", + "tenant" ] }, - "accountOnboardingType": { + "subscriptionId": { + "type": "string", + "description": "*Required field for accountType: **account***.\n\n Azure Subscription ID" + }, + "tenantId": { + "type": "string", + "description": "Azure Directory (Tenant) ID" + }, + "rootSyncEnabled": { + "type": "boolean", + "description": "*Applicable only for accountType: **tenant***\n\n In order to onboard the account type **tenant** and its associated **management groups** and **subscriptions**, ```rootSyncEnabled``` must be set to ```true```" + }, + "features": { + "uniqueItems": true, + "type": "array", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": [ + "Remediation" + ], + "items": { + "type": "string", + "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", + "example": "[\"Remediation\"]" + } + }, + "deploymentType": { "type": "string", + "description": "*Applicable only for Prisma Commercial and Government stacks* \n\n**azure** = Commercial deployment type\n\n**azure_gov** = Government deployment type", "enum": [ - "MONITORED", - "LOGGING" + "azure", + "azure_gov" ] - }, - "tenantName": { - "type": "string" } } }, - "AssumeRoleResult": { + "PermissionsRequest": { "type": "object", "properties": { - "sdkResponseMetadata": { - "$ref": "#/components/schemas/ResponseMetadata" - }, - "sdkHttpMetadata": { - "$ref": "#/components/schemas/SdkHttpMetadata" - }, - "credentials": { - "$ref": "#/components/schemas/Credentials" + "accountType": { + "type": "string" }, - "assumedRoleUser": { - "$ref": "#/components/schemas/AssumedRoleUser" + "deploymentType": { + "type": "string" }, - "packedPolicySize": { - "type": "integer", - "format": "int32" + "awsPartition": { + "type": "string" }, - "sourceIdentity": { + "authenticationType": { "type": "string" } } }, - "AssumedRoleUser": { + "AppCapabilityPermissionMapping": { "type": "object", "properties": { - "assumedRoleId": { + "label": { "type": "string" }, - "arn": { + "feature": { "type": "string" - } - } - }, - "AwsTokenResponse": { - "type": "object", - "properties": { - "rawToken": { - "$ref": "#/components/schemas/AssumeRoleResult" }, - "meta": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - }, - "ResponseMetadata": { - "type": "object", - "properties": { - "requestId": { + "mode": { "type": "string" - } - } - }, - "SdkHttpMetadata": { - "type": "object", - "properties": { - "httpHeaders": { - "type": "object", - "additionalProperties": { + }, + "permissions": { + "uniqueItems": true, + "type": "array", + "items": { "type": "string" } }, - "httpStatusCode": { - "type": "integer", - "format": "int32" + "roles": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } }, - "allHttpHeaders": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } + "services": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" } } } @@ -2992,227 +2941,254 @@ } } }, - "AWSTemplateGenRequest": { - "required": [ - "accountId", - "accountType" - ], + "ComponentStatusModel": { "type": "object", "properties": { - "accountType": { - "type": "string", - "description": "Cloud Account Type", - "enum": [ - "account", - "organization" - ] + "component": { + "type": "string" }, - "accountId": { - "type": "string", - "description": "Account Id" + "status": { + "type": "string" }, - "awsPartition": { - "type": "string", - "description": "*Applicable only for Prisma Government Stack(**app.gov.prismacloud.io**) and given if the Cloud account Global Deployment option is enabled*\n\n * **us-east-1** - AWS Commercial/Global account\n\n * **us-gov-west-1** - AWS GovCloud account.", - "enum": [ - "us-east-1", - "us-gov-west-1" - ] + "message": { + "type": "string" }, - "features": { - "uniqueItems": true, + "remediation": { + "type": "string" + } + } + }, + "ComponentStatusUpdateRequest": { + "type": "object", + "properties": { + "statusList": { "type": "array", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": [ - "Remediation" - ], "items": { - "type": "string", - "description": "Features for which the permissions should be generated and included in the template. \n\n To get a list of all the supported features, call **[Get Supported Features](/prisma-cloud/api/cspm/fetch-supported-features)** endpoint", - "example": "[\"Remediation\"]" + "$ref": "#/components/schemas/ComponentStatusModel" } + } + } + }, + "CloudAccountBulkFeatureModel": { + "required": [ + "name", + "state" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Feature name obtained from **[Fetch Supported Features endpoint](/prisma-cloud/api/cspm/fetch-supported-features)**", + "example": "Remediation", + "enum": [ + "Agentless Scanning", + "Serverless Function Scanning" + ] }, - "customMemberRoleNameEnabled": { - "type": "boolean", - "description": "Applicable only when accountType is organization the default is `false`. However, if given as true, the user has to provide a memberRole name" - }, - "cftType": { + "state": { "type": "string", - "description": "Specify which type of cft you want to download", + "description": "Feature state whether to be enabled or disabled", "enum": [ - "org_member", - "org_management", - "org_management_member", - "account" + "enabled", + "disabled" ] } - } + }, + "description": "Features to be enabled or disabled. You can enable or disable only **Agentless Scanning** and **Serverless Function Scanning** feature." }, - "AddComputeLimitRequest": { + "CloudAccountBulkFeatureRequest": { "required": [ - "importedAccounts", - "limit" + "features", + "memberIds" ], "type": "object", "properties": { - "limit": { - "minimum": 1, - "type": "integer", - "format": "int32" - }, - "importedAccounts": { + "memberIds": { "type": "array", + "description": "List of member ids for which the feature must be enabled or disabled.\n\nFor AWS, specify account ids.\n\nFor Azure, specify subscription ids.\n\nFor GCP, specify project ids.", "items": { - "type": "string" + "type": "string", + "description": "List of member ids for which the feature must be enabled or disabled.\n\nFor AWS, specify account ids.\n\nFor Azure, specify subscription ids.\n\nFor GCP, specify project ids." } - } - } - }, - "CloudAccountPermissionStatus": { - "type": "object", - "properties": { - "accountId": { - "type": "string" - }, - "feature": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "status": { - "type": "string" }, - "message": { - "type": "string" - }, - "remediation": { - "type": "string" - }, - "errorCode": { - "type": "string" - }, - "lastRunEpochMillis": { - "type": "integer", - "format": "int64" - }, - "lastSuccessEpochMillis": { - "type": "integer", - "format": "int64" - }, - "lastErrorEpochMillis": { - "type": "integer", - "format": "int64" - }, - "components": { + "features": { "type": "array", + "description": "Features to be enabled or disabled. You can enable or disable only **Agentless Scanning** and **Serverless Function Scanning** feature.", "items": { - "$ref": "#/components/schemas/CloudAccountPermissionStatus" + "$ref": "#/components/schemas/CloudAccountBulkFeatureModel" } } } }, - "CloudAccountFeaturePatchRequest": { + "RestAPIErrorResponse": { "type": "object", "properties": { - "mode": { - "type": "string" - }, - "state": { - "type": "string" + "error": { + "$ref": "#/components/schemas/APIErrorObject" } } }, - "AWSCFTGenResponse": { + "LoggingAccountMapRequest": { "type": "object", "properties": { - "createStackLinkWithS3PresignedUrl": { - "type": "string", - "description": "AWS Cloudformation Stack Quick Create link." + "accountId": { + "type": "string" }, - "externalId": { + "bucketId": { + "type": "integer", + "format": "int32" + }, + "action": { + "type": "string" + }, + "featureName": { "type": "string" } } }, - "GcpCloudAccountResponse": { + "IamToken": { "type": "object", "properties": { - "cloudAccount": { - "$ref": "#/components/schemas/CloudAccount" - }, - "hierarchySelection": { - "uniqueItems": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/HierarchySelection" + "exception": { + "type": "object", + "properties": { + "stackTrace": { + "type": "array", + "items": { + "type": "object", + "properties": { + "classLoaderName": { + "type": "string" + }, + "moduleName": { + "type": "string" + }, + "moduleVersion": { + "type": "string" + }, + "methodName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "lineNumber": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string" + }, + "nativeMethod": { + "type": "boolean" + } + } + } + }, + "message": { + "type": "string" + }, + "suppressed": { + "type": "array", + "items": { + "type": "object", + "properties": { + "stackTrace": { + "type": "array", + "items": { + "type": "object", + "properties": { + "classLoaderName": { + "type": "string" + }, + "moduleName": { + "type": "string" + }, + "moduleVersion": { + "type": "string" + }, + "methodName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "lineNumber": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string" + }, + "nativeMethod": { + "type": "boolean" + } + } + } + }, + "message": { + "type": "string" + }, + "localizedMessage": { + "type": "string" + } + } + } + }, + "localizedMessage": { + "type": "string" + } } }, - "parentId": { + "accessToken": { "type": "string" }, - "customerId": { - "type": "integer", - "format": "int32" - }, - "projectId": { + "refreshToken": { "type": "string" }, - "serviceAccountEmail": { + "tokenType": { "type": "string" }, - "authenticationType": { - "type": "string" + "expiresIn": { + "type": "integer", + "format": "int64" }, - "flowLogStorageBucket": { - "type": "string" + "expiration": { + "type": "integer", + "format": "int64" }, - "compressionEnabled": { + "tokenValid": { "type": "boolean" + } + } + }, + "IbmAccessTokenResponse": { + "type": "object", + "properties": { + "rawToken": { + "$ref": "#/components/schemas/IamToken" }, - "accountGroupCreationMode": { - "type": "string" - }, - "dataflowEnabledProject": { - "type": "string" - }, - "credentials": { + "meta": { "type": "object", "additionalProperties": { "type": "object" } - }, - "defaultAccountGroupId": { - "type": "string" - }, - "groupIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "organizationName": { - "type": "string" - }, - "accountGroupInfos": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AccountGroupInfo" - } } } }, - "CloudAccountSecret": { + "AddComputeLimitRequest": { + "required": [ + "importedAccounts", + "limit" + ], "type": "object", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SecretDetails" - } + "limit": { + "minimum": 1, + "type": "integer", + "format": "int32" }, - "notFound": { - "uniqueItems": true, + "importedAccounts": { "type": "array", "items": { "type": "string" @@ -3220,88 +3196,68 @@ } } }, - "SecretDetails": { + "IbmPermissionCheckRequest": { "type": "object", "properties": { - "accountId": { + "svcIdIamId": { "type": "string" }, - "secret": { + "apiKey": { "type": "string" } } }, - "DeploymentTypeListResponse": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DeploymentTypeResponse" - } - } - } - }, - "DeploymentTypeResponse": { + "AccountStatusMessage": { "type": "object", "properties": { - "deploymentType": { + "message": { "type": "string" }, - "displayName": { - "type": "string" + "staticMessage": { + "type": "boolean" } } }, - "CloudAccountIdentity": { + "CloudAccountStatus": { "type": "object", "properties": { - "accountId": { + "id": { "type": "string" }, "name": { "type": "string" }, - "cloudType": { - "type": "string", - "enum": [ - "all", - "aws", - "azure", - "gcp", - "alibaba_cloud", - "oci", - "other", - "ibm" - ] - }, - "parentAccountId": { - "type": "string" - }, - "parentName": { + "status": { "type": "string" }, - "isOnboarded": { - "type": "boolean" - }, - "id": { - "type": "integer", - "format": "int32", - "writeOnly": true + "statusMessage": { + "$ref": "#/components/schemas/AccountStatusMessage" } } }, - "CloudAccountMetadataPage": { + "PermissionCheckResponse": { "type": "object", "properties": { - "cloudAccounts": { + "status": { "type": "array", "items": { - "$ref": "#/components/schemas/CloudAccountIdentity" + "$ref": "#/components/schemas/CloudAccountStatus" } } } }, + "ComputeLimitStatusResponse": { + "type": "object", + "properties": { + "limit": { + "type": "integer", + "format": "int32" + }, + "isAccountImported": { + "type": "boolean" + } + } + }, "CloudAccountFeatureSaveRequest": { "required": [ "featureName" @@ -3319,33 +3275,105 @@ } } }, - "ComponentStatusModel": { + "IngestionCloudAccount": { "type": "object", "properties": { - "component": { + "customerId": { + "type": "integer", + "format": "int32" + }, + "customerName": { "type": "string" }, - "status": { + "id": { "type": "string" }, - "message": { + "name": { "type": "string" }, - "remediation": { + "cloudType": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "accountType": { + "type": "integer", + "format": "int32" + }, + "credentials": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "homeRegionId": { + "type": "string" + }, + "regionIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "policyName": { + "type": "string" + }, + "autoConsent": { "type": "string" } } }, - "ComponentStatusUpdateRequest": { + "IbmCloudAccountResponse": { "type": "object", "properties": { - "statusList": { + "cloudAccount": { + "$ref": "#/components/schemas/CloudAccount" + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "svcIdIamId": { + "type": "string" + }, + "groupIds": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/ComponentStatusModel" + "type": "string" } } } + }, + "OciCredentialsData": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "userOcid": { + "type": "string" + }, + "groupName": { + "type": "string" + }, + "policyName": { + "type": "string" + }, + "homeRegion": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "fingerPrint": { + "type": "string" + }, + "tenancyId": { + "type": "string" + } + } } }, "securitySchemes": { diff --git a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv index 14665da08..4869443e2 100644 --- a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv +++ b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv @@ -139,13 +139,13 @@ "put","/cloud/{cloud_type}/{id}","Update Cloud Account (OCI and Alibaba)","update-cloud-account","Cloud Accounts (OCI and Alibaba)","Monolith" "post","/cloud/status/{cloud_type}","Get Cloud Account Status (OCI and Alibaba)","get-cloud-account-status","Cloud Accounts (OCI and Alibaba)","Monolith" "post","/cloud/oci/terraform","Generate Zipped Terraform Script (OCI)","generateterraformscript","Cloud Accounts (OCI and Alibaba)","Monolith" -"put","/cas/api/v1/org/{id}/features","Enable a Feature for Members","save-Bulk-Cloud-Account-Feature","Cloud Accounts (All)","CloudAccountsMicroService.json" -"post","/cas/v1/azure_template","Generate and Download the Terraform template (Azure)","generate-template-link","Cloud Accounts (Azure)","CloudAccountsMicroService.json" +"get","/cas/v1/cloud/{cloudType}/deployment-type","Get Cloud Account Deployment Types (Alibaba)","getCloudDeploymentTypes","Cloud Accounts (OCI and Alibaba)","CloudAccountsMicroService.json" +"post","/cas/v1/aws_template/presigned_url","Generate the CFT Template Link (AWS)","generate-cft-template-link-aws","Cloud Accounts (AWS)","CloudAccountsMicroService.json" "post","/cas/v1/gcp_template","Generate and Download the Terraform Template (GCP)","generate-template-link-gcp-gcp","Cloud Accounts (GCP)","CloudAccountsMicroService.json" "post","/cas/v1/features/cloud/{cloud_type}","Fetch Supported Features For Cloud Type","fetch-supported-features","Cloud Accounts (All)","CloudAccountsMicroService.json" +"post","/cas/v1/azure_template","Generate and Download the Terraform template (Azure)","generate-template-link","Cloud Accounts (Azure)","CloudAccountsMicroService.json" +"put","/cas/api/v1/org/{id}/features","Update Feature State for Members of an Organization","save-Bulk-Cloud-Account-Feature","Cloud Accounts (All)","CloudAccountsMicroService.json" "post","/cas/v1/aws_template","Generate and Download the CFT Template (AWS)","generate-cft-template-aws","Cloud Accounts (AWS)","CloudAccountsMicroService.json" -"post","/cas/v1/aws_template/presigned_url","Generate the CFT Template Link (AWS)","generate-cft-template-link-aws","Cloud Accounts (AWS)","CloudAccountsMicroService.json" -"get","/cas/v1/cloud/{cloudType}/deployment-type","Get Cloud Account Deployment Types (Alibaba)","getCloudDeploymentTypes","Cloud Accounts (OCI and Alibaba)","CloudAccountsMicroService.json" "get","/entitlement/api/v1/collection/{id}","Get Collection by ID","get-collection-by-id","Collections","Monolith" "put","/entitlement/api/v1/collection/{id}","Update Collection","update-collection-by-id","Collections","Monolith" "delete","/entitlement/api/v1/collection/{id}","Delete Collection","delete-collection-by-id","Collections","Monolith" From 836a9007997cd6c6b0a99dc5208c8529af17fa71 Mon Sep 17 00:00:00 2001 From: AbiMano4688 Date: Thu, 2 Nov 2023 15:47:17 +0530 Subject: [PATCH 10/10] added findingsId as shared by Ganesh --- openapi-specs/cspm/Alerts.json | 4 ++++ openapi-specs/cspm/CloudAccountsMicroService.json | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/openapi-specs/cspm/Alerts.json b/openapi-specs/cspm/Alerts.json index 4c626efe6..8a7365dd0 100644 --- a/openapi-specs/cspm/Alerts.json +++ b/openapi-specs/cspm/Alerts.json @@ -616,6 +616,10 @@ } ] }, + "findingId": { + "description": "Policy Id to remediate finding for an attack path alert", + "type": "string" + }, "policies": { "description": "List of policy IDs. A single policy ID is required if no alerts are specified.", "items": { diff --git a/openapi-specs/cspm/CloudAccountsMicroService.json b/openapi-specs/cspm/CloudAccountsMicroService.json index 00f6ab595..e055477cf 100644 --- a/openapi-specs/cspm/CloudAccountsMicroService.json +++ b/openapi-specs/cspm/CloudAccountsMicroService.json @@ -2978,7 +2978,7 @@ "properties": { "name": { "type": "string", - "description": "Feature name obtained from **[Fetch Supported Features endpoint](/prisma-cloud/api/cspm/fetch-supported-features)**", + "description": "Feature name which has to be enabled or disabled.", "example": "Remediation", "enum": [ "Agentless Scanning", @@ -2987,7 +2987,7 @@ }, "state": { "type": "string", - "description": "Feature state whether to be enabled or disabled", + "description": "Feature state whether to be enabled or disabled.", "enum": [ "enabled", "disabled"