openapi: 3.2.0 info: title: CoreStack External Recommendation API version: 1.0.0 termsOfService: http://corestack.io/ license: name: CoreStack Inc License url: http://corestack.io/licenses/LICENSE-2.0.html description: Recommendation summary servers: - url: / tags: - name: Recommendation description: Recommendation summary paths: /recommendations/{definition_id}/resolve: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Resolved content: application/json: schema: type: boolean summary: Resolve Definition Recommendation description: Resolve definition recommendations operationId: ResolveDefRecommendations parameters: - name: definition_id in: path required: true description: Specify the definition_id it will be fetched from list compliance posture DetailsForPolicies schema: type: string security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/ResolveDefRecommendationsRequest' required: true /recommendations/{definition_id}/resolve_preexecute: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ExecuteActionRecommendationResponse' summary: Resolve Recommendation Action Preexecute description: Resolve recommendations operationId: ResolveActionRecommendationExecute parameters: - name: definition_id in: path required: true description: Specify the definition_id it will be fetched from list compliance posture DetailsForPolicies schema: type: string security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/ExecuteResolveActionRecommendationsRequest' required: true /recommendations/{tenant_id}/account/list: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListRecommendationByAccountResponse' summary: List Recommendations by Account description: List recommendations by account operationId: ListRecommendationsByAccount parameters: - name: tenant_id in: path required: true description: 'Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API. ' schema: type: string security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/ListRecommendationByAccountRequest' required: true /recommendations/{tenant_id}/category/list: get: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListRecommendationByCategoryResponse' summary: List Recommendations by Category description: list recommendations by category operationId: ListRecommendationsByCategory parameters: - name: tenant_id in: path required: true description: 'Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API. ' schema: type: string - description: Specify the Category to fetch the recommendation data.Please enter comma separated values.Allowed values - Cost,Security,Access,Operation,Resource in: query name: classifications schema: type: string security: - auth_token: [] tags: - Recommendation /recommendations/{tenant_id}/get/{recommendation_id}: get: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListPolicyRecommendationsResponse' summary: List Recommendations description: List recommendations operationId: ListsRecommendations parameters: - name: tenant_id in: path required: true description: 'Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API. ' schema: type: string - name: recommendation_id in: path required: true description: 'Specify the recommendation ID. This is a unique ID and can be retrieved using the ''List recommendations by Cloud Account'' or ''List recommendations by Category'' API call. ' schema: type: string - description: Number of records to display name: limit in: query schema: type: integer - description: Page number name: page in: query schema: type: integer - description: Select the Status name: resource_status in: query schema: type: string enum: - open security: - auth_token: [] tags: - Recommendation /recommendations/{tenant_id}/resolve/{recommendation_id}: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Resolved content: application/json: schema: type: boolean summary: Resolve Recommendation description: Resolve recommendations operationId: ResolveRecommendation parameters: - name: tenant_id in: path required: true description: 'Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API. ' schema: type: string - name: recommendation_id in: path required: true description: 'Specify the recommendation ID. This is a unique ID and can be retrieved using the ''List recommendations by Cloud Account'' or ''List recommendations by Category'' API call. ' schema: type: string security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/ResolveRecommendationsRequest' required: true /recommendations/{tenant_id}/resolve_preexecute/{recommendation_id}: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ExecuteRecommendationRespModel' summary: Resolve PreExecute Recommendation description: Execute resolve recommendations operationId: ResolveRecommendationExecute parameters: - name: tenant_id in: path required: true description: 'Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API. ' schema: type: string - name: recommendation_id in: path required: true description: 'Specify the recommendation ID. This is a unique ID and can be retrieved using the ''List recommendations by Cloud Account'' or ''List recommendations by Category'' API call. ' schema: type: string security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/ExecuteResolveRecommendationsRequest' required: true /recommendations/{tenant_id}/service_account/list: get: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListRecommendationByAccountResponse' summary: List Recommendations by Cloud Account description: List recommendations by cloud account operationId: ListRecommendationsByCloudAccount parameters: - name: tenant_id in: path required: true description: 'Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API. ' schema: type: string - description: Specify the Cloud Account ID. It is unique ID and can be retrieved from the List Cloud Accounts API. in: query name: service_account_id schema: type: string security: - auth_token: [] tags: - Recommendation /v1/recommendations/batch: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RecommendationDetailsBatchResponse' summary: Get the List of Recommendation Details description: Fetch a List of Recommendation Details operationId: BatchRecommendations security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchRequest' required: true /v1/recommendations/exclusion_rule/apply: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Initiated content: application/json: schema: type: boolean summary: Apply all the Recommendation Exclusion Rules which are available/applicable/provided in the tenant description: Apply all Recommendation Exclusion Rule operationId: ApplyExclusionRule security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRuleApplyRequest' required: true /v1/recommendations/exclusion_rule/batch: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRuleBatchResponse' summary: Fetch a Recommendation Exclusion Rule Details description: Get Recommendation Exclusion rules operationId: BatchExclusionRules security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchRequest' required: true /v1/recommendations/exclusion_rule/create: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRuleResponse' summary: Creates a Recommendation Exclusion Rule description: Create a Recommendation Exclusion Rule operationId: CreateExclusionRule security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRuleRequest' required: true /v1/recommendations/exclusion_rule/item/{rule_id}: delete: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Deleted content: application/json: schema: type: boolean summary: Delete Recommendation Exclusion Rule description: Delete given rule ID operationId: DeleteExclusionRule parameters: - name: rule_id in: path required: true description: Specify the rule ID of the Recommendation Exclusion Rule to be removed. schema: type: string security: - auth_token: [] tags: - Recommendation get: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRuleGetResponse' summary: Get Recommendation Exclusion Rule description: Get a Particular Recommendation Exclusion Rule operationId: GetExclusionRule parameters: - name: rule_id in: path required: true description: Specify the rule Id to get the recommendation exclusion rule data schema: type: string security: - auth_token: [] tags: - Recommendation post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRuleResponse' summary: Update Recommendation Exclusion Rule description: Update Recommendation Exclusion Rule operationId: UpdateExclusionRule parameters: - name: rule_id in: path required: true schema: type: string security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRuleRequest' required: true /v1/recommendations/exclusion_rule/list: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListResponse' summary: List of Recommendation Exclusion Rules description: List Recommendation Exclusion rules. operationId: ListExclusionRules security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/RecommendationExclusionRulesListRequest' required: true /v1/recommendations/list: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListResponse' summary: List of Recommendations description: Fetch a List of Recommendation operationId: ListRecommendations security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/ListRecommendationRequest' required: true /v1/recommendations/resources/batch: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ResourceRecommendationResponse' summary: List of Resource Recommendation Details description: List of resource recommendations details operationId: BatchResourceRecommendations security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchRequest' required: true /v1/recommendations/resources/list: post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListResponse' summary: Fetch a List of Resource Recommendation description: List of resource recommendations operationId: ListResourceRecommendations security: - auth_token: [] tags: - Recommendation requestBody: content: application/json: schema: $ref: '#/components/schemas/ListResourceRecommendationRequest' required: true components: schemas: RecommendationDetails: properties: name: type: string description: Name of the recommendation tenant_id: type: string description: Recommendation tenant ID x-cs-type: ObjectId service_account_id: type: string description: Recommendation service account ID x-cs-type: ObjectId policy_ids: type: array description: List of policy IDs for which the recommendation is generated items: type: string policy_classification: type: string description: Policy Classification example: Access enum: - Access - Cost - Data - Network - Operation - Performance - Resource - Security x-cs-enum-type: PolicyClassification policy_sub_classification: type: string description: Policy Sub Classification example: Access enum: - Access - Anomaly - Application - Application_Integration - Availability - Backup - Billing - Budget - Config - Data - Databases - Encryption - End Point Protection - Governance - High - Host - Identity - Idle - Logging - Monitoring - Naming Standards - Network - Operation - Optimized - Orphaned - Performance - SNS - Security - Standards - Storage - Tags - Underutilized - Utilization - medium x-cs-enum-type: PolicySubClassification recommendation_source: type: string description: Source of the recommendation example: AWS-compute-optimizer enum: - AWS-compute-optimizer - AWS-ec2-compute-optimizer - AWS-lambda-compute-optimizer - AWS_advisor - Corestack-Profiler - Custom - GCP_advisor - OCI_advisor - activity_log - azure_advisor - policy - security_threats x-cs-enum-type: RecommendationSource impact: type: string description: Impact of the recommendation example: critical enum: - critical - high - informational - low - medium - uncategorized x-cs-enum-type: PolicyResourceRecommendationImpact status: type: string description: Status of the recommendation example: error enum: - error - in_progress - open - resolved - skipped - system_skipped x-cs-enum-type: PolicyResourceRecommendationStatus type: object ListRecommendationRequest: properties: list_context: description: Optional list context $ref: '#/components/schemas/ListContext' filters: description: Filters for the request $ref: '#/components/schemas/ListRecommendationFilters' type: object RecommendationExclusionRulesListRequest: properties: list_context: description: Optional list context $ref: '#/components/schemas/ListContext' sort: type: array description: Sort criteria items: $ref: '#/components/schemas/RecommendationExclusionRulesSortCriteria' filters: description: Filters for the request $ref: '#/components/schemas/RecommendationExclusionRuleFilters' type: object RecommendationByCategory: required: - classification - cloud_account_id - cloud_account_name - created_at - id - impact - name - policy_id - policy_name - resource_counts - service_name - source - status - sub_classification - tenant_name properties: id: type: string description: Recommendation ID policy_id: type: string description: Policy ID policy_name: type: string description: Policy Name name: type: string description: Name of the policy recommendation status: type: string description: Status impact: type: string description: Impact classification: type: string description: Oscar Classification sub_classification: type: string description: Sub classification of the above classification cloud_account_id: type: string description: Cloud Account ID cloud_account_name: type: string description: Cloud Account Name service_name: type: string description: Cloud Service Name tenant_name: type: string description: Tenant Name created_at: type: string description: Time of creation source: type: string description: Source resource_counts: description: Count of the resource that are open $ref: '#/components/schemas/ResourceCountByCategory' type: object ExecuteRecommendationRespModel: required: - data - message - status properties: status: type: string description: Status of that HTTP call message: type: string description: Message of HTTP call data: type: object description: response data type: object RecommendationExclusionRulesSortCriteria: required: - column properties: column: type: string example: name enum: - name - created_at x-cs-enum-type: RecommendationExclusionRulesSortColumn ascending: type: boolean type: object RecommendationExclusionRuleFilters: allOf: - $ref: '#/components/schemas/RecommendationClassificationFilter' - properties: search: type: string description: Search based on name, classification, sub_classification type: object ResourceRemediationActionDetails: properties: action_name: type: string description: Name of the remediation action triggered for the resource job_id: type: string description: Unique ID of the remediation job triggered for the resource auto_triggered: type: boolean description: Indicates whether the remediation was triggered automatically (true) or manually by a user (false) status_reason: type: string description: Reason explaining the current status of the remediation action type: object ListRecommendationByCategoryResponse: required: - page_count - recommendations - total_count properties: page_count: type: integer description: Page count total_count: type: integer description: Total count recommendations: type: array description: Recommendation Details items: $ref: '#/components/schemas/RecommendationByCategory' type: object ListRecommendationByAccountResponse: required: - page_count - recommendations - total_count properties: page_count: type: integer description: Page count total_count: type: integer description: Total count recommendations: type: array description: Recommendation Details items: $ref: '#/components/schemas/RecommendationByAccount' type: object ResolveDefRecommendationsRequest: required: - action_name - resources properties: action_name: type: string description: Action Name to resolve the recommendation resources: type: array description: Specify the Resource IDs. It will be fetched from list recommendation api items: type: string type: object ActionDetails: required: - action_resource_name - action_type - description - name - preexecute_required - terms_and_conditions properties: name: type: string description: Name of the action terms_and_conditions: type: string description: Terms and Conditions of the action preexecute_required: type: string description: Pre execute is required or not action_type: type: string description: Action Type action_resource_name: type: string description: Action Resource Name description: type: string description: Description of the action type: object ListRecommendationByAccountRequest: properties: service_account_id: type: string x-cs-type: ObjectId policy_id: type: string x-cs-type: ObjectId type: object ModelError: required: - message properties: message: type: string description: Error response message. type: object RecommendationByAccount: required: - classification - cloud_account_id - cloud_account_name - created_at - id - impact - name - policy_id - policy_name - resource_counts - service_name - source - status - sub_classification - tenant_name properties: id: type: string description: Recommendation ID policy_id: type: string description: Policy ID policy_name: type: string description: Policy Name name: type: string description: Name of the policy recommendation status: type: string description: Status impact: type: string description: Impact classification: type: string description: Oscar Classification sub_classification: type: string description: Sub classification of the above classification cloud_account_id: type: string description: Cloud Account ID cloud_account_name: type: string description: Cloud Account Name service_name: type: string description: Cloud Service Name tenant_name: type: string description: Tenant Name tenant_id: type: string description: Tenant ID x-cs-type: ObjectId created_at: type: string description: Time of creation source: type: string description: Source resource_counts: description: Count of the resource that are open $ref: '#/components/schemas/ResourceCountByAccount' type: object RecommendationResourceScopeBase: required: - service_name - tenant_ids properties: tenant_ids: type: array description: List of tenant IDs to which the recommendation rule is applied. items: type: string x-cs-type: ObjectId service_name: type: string description: Cloud Provider to select example: AWS enum: - AWS - Azure - AzureStack - Azure_CSP - Azure_CSP-Direct - Azure_EA - Azure_MCA - Cloudstack - GCP - MS_VMM - OCI - Openstack - PrivateCloud - Rackspace - VMware - VMware_VCD - vCenter x-cs-enum-type: CloudServiceName service_account_ids: type: array description: List of service account IDs to which the recommendation rule is applied. items: type: string x-cs-type: ObjectId filters: description: Query based on Resource Group, Region, resource_id, resource_name and resource $ref: '#/components/schemas/QueryOperator' type: object RecommendationExclusionRuleResponse: allOf: - $ref: '#/components/schemas/RecommendationExclusionRule' - properties: {} type: object ResourceRecommendationsBatchResponse: properties: cost_saving_details: description: Cost saving details for the resource $ref: '#/components/schemas/CostSavingResourceDetails' service_account_id: type: string description: Service account id for the resource x-cs-type: ObjectId recommendation_id: type: string description: Recommendation ID x-cs-type: ObjectId region: type: string description: Impacted Resource Region resource: type: string description: Resource type for the impacted resource resource_category: type: string description: Resource Category for the impacted resource resource_group: type: string description: Resource Group for the impacted resource resource_id: type: string description: Impacted Resource ID resource_name: type: string description: Impacted Resource Name resource_type: type: string description: Resource Type for the impacted resource policy_id: type: string description: Policy ID for which the resource recommendation is generated policy_name: type: string description: Display Name of the policy policy_job_id: type: string description: Unique ID of the policy execution job (run) that generated this resource recommendation status: type: string description: Status of the policy resource recommendation example: error enum: - error - in_progress - open - resolved - skipped - system_skipped x-cs-enum-type: PolicyResourceRecommendationStatus remediation_action_details: type: array description: Details of the remediation actions triggered for the resource (template action, execution job and status) items: $ref: '#/components/schemas/ResourceRemediationActionDetails' itsm_action_details: type: array description: ITSM integration events raised as part of the remediation (e.g. incidents created in the integrated ITSM tool) items: $ref: '#/components/schemas/ResourceRecommendationITSMEvent' impact: type: string description: Impact of the policy resource recommendation example: critical enum: - critical - high - informational - low - medium - uncategorized x-cs-enum-type: PolicyResourceRecommendationImpact skipped_by: $ref: '#/components/schemas/ResourceRecommendationSkippedDetails' tags: type: array description: List of tag key/value pairs items: $ref: '#/components/schemas/KeyValuePair' type: object KeyValuePair: properties: key: type: string description: Key of the pair value: type: string description: Value of the pair type: object ResourceCountByCategory: required: - open properties: open: type: integer description: Resource count that are open type: object PolicyClassificationWithSubClassifications: properties: access: type: array description: List of Access sub-classifications items: type: string description: Access Sub Classifications example: Data enum: - Data - Operation - Security - Standards - Utilization x-cs-enum-type: PolicyAccessSubClassification cost: type: array description: List of Cost sub-classifications items: type: string description: Security Sub Classifications example: Anomaly enum: - Anomaly - Billing - Budget - Config - Governance - Idle - Logging - Optimized - Orphaned - Standards - Tags - Underutilized - Utilization x-cs-enum-type: PolicyCostSubClassification data: type: array description: List of Data sub-classifications items: type: string description: Data Sub Classifications example: Security enum: - Security x-cs-enum-type: PolicyDataSubClassification network: type: array description: List of Network sub-classifications items: type: string description: Network Sub Classifications example: Application enum: - Application x-cs-enum-type: PolicyNetworkSubClassification operation: type: array description: List of Operation sub-classifications items: type: string description: Security Sub Classifications example: Application enum: - Application - Availability - Backup - Config - Data - Host - Logging - Monitoring - Optimized - Performance - Standards - Underutilized x-cs-enum-type: PolicyOperationSubClassification performance: type: array description: List of performance sub-classifications items: type: string description: Performance Sub Classifications example: Standards enum: - Standards x-cs-enum-type: PolicyPerformanceSubClassification resource: type: array description: List of Resource sub-classifications items: type: string description: Resource Sub Classifications example: Naming Standards enum: - Naming Standards x-cs-enum-type: PolicyResourceSubClassification security: type: array description: List of security sub classifications items: type: string description: Security Sub Classifications example: Access enum: - Access - Application - Application_Integration - Availability - Data - Databases - Encryption - End Point Protection - High - Host - Identity - Logging - Monitoring - Network - SNS - Standards - Storage - medium x-cs-enum-type: PolicySecuritySubClassification type: object ResolveRecommendationsRequest: required: - action_name - apply_for_all - resources properties: action_name: type: string description: Action Name to resolve the recommendation resources: type: array description: Resource ID items: type: string apply_for_all: type: boolean description: Apply for all the resources.Allowed Values true or false args: type: object description: arguments to resolve action type: object RecommendationFilterBase: required: - tenant_ids properties: tenant_ids: type: array description: List of Tenant Ids to get the recommendation rules. items: type: string x-cs-type: ObjectId service_account_ids: type: array description: List of service account IDs to get the recommendation details. If empty, all accounts will be selected by default. items: type: string x-cs-type: ObjectId type: object ListContext: properties: batch_size: type: integer description: Max number of ids in the response batch_offset: type: integer description: Offset of batches into the results. First batch is 0 total: type: integer description: Total number of results type: object ExecuteActionRecommendationResponse: required: - data - message - status properties: status: type: string description: Status of pre-execute message: type: string description: pre-execute data: type: object description: Data for pre-execute type: object QueryOperator: required: - __type properties: {} discriminator: propertyName: __type type: object x-cs-subtypes: - subtype_model: QueryOperatorTrue subtype_name: QueryOperatorTrue - subtype_model: QueryOperatorFalse subtype_name: QueryOperatorFalse - subtype_model: QueryOperatorBinary subtype_name: QueryOperatorBinary - subtype_model: QueryOperatorBinaryLogic subtype_name: QueryOperatorBinaryLogic - subtype_model: QueryOperatorNary subtype_name: QueryOperatorNary - subtype_model: QueryOperatorNaryLogic subtype_name: QueryOperatorNaryLogic - subtype_model: QueryOperatorComparator subtype_name: QueryOperatorComparator - subtype_model: QueryOperatorComparatorLogic subtype_name: QueryOperatorComparatorLogic - subtype_model: QueryOperatorUnary subtype_name: QueryOperatorUnary - subtype_model: QueryOperatorUnaryNot subtype_name: QueryOperatorUnaryNot - subtype_model: QueryOperatorBinaryForGraph subtype_name: QueryOperatorBinaryForGraph - subtype_model: QueryOperatorBinaryLogicForGraph subtype_name: QueryOperatorBinaryLogicForGraph - subtype_model: QueryOperatorNaryForGraph subtype_name: QueryOperatorNaryForGraph - subtype_model: QueryOperatorNaryLogicForGraph subtype_name: QueryOperatorNaryLogicForGraph - subtype_model: QueryOperatorUnaryForGraph subtype_name: QueryOperatorUnaryForGraph - subtype_model: QueryOperatorUnaryNotForGraph subtype_name: QueryOperatorUnaryNotForGraph - subtype_model: ServiceAccountQueryOperator subtype_name: ServiceAccountQueryOperator - subtype_model: TenantQueryOperator subtype_name: TenantQueryOperator - subtype_model: DescendantServiceAccountQueryOperator subtype_name: DescendantServiceAccountQueryOperator - subtype_model: DescendantServiceAccountInTenantQueryOperator subtype_name: DescendantServiceAccountInTenantQueryOperator - subtype_model: TenantTagKeyQueryOperator subtype_name: TenantTagKeyQueryOperator - subtype_model: TenantTagKeyValueQueryOperator subtype_name: TenantTagKeyValueQueryOperator - subtype_model: LocationQueryOperator subtype_name: LocationQueryOperator - subtype_model: AvailabilityZoneQueryOperator subtype_name: AvailabilityZoneQueryOperator - subtype_model: BillingSourceQueryOperator subtype_name: BillingSourceQueryOperator - subtype_model: CurrencyQueryOperator subtype_name: CurrencyQueryOperator - subtype_model: ProductCategoryQueryOperator subtype_name: ProductCategoryQueryOperator - subtype_model: ProductFamilyQueryOperator subtype_name: ProductFamilyQueryOperator - subtype_model: ProductServiceCodeQueryOperator subtype_name: ProductServiceCodeQueryOperator - subtype_model: ProductSkuQueryOperator subtype_name: ProductSkuQueryOperator - subtype_model: PublisherQueryOperator subtype_name: PublisherQueryOperator - subtype_model: ResourceCategoryQueryOperator subtype_name: ResourceCategoryQueryOperator - subtype_model: ResourceIdQueryOperator subtype_name: ResourceIdQueryOperator - subtype_model: ResourceGroupQueryOperator subtype_name: ResourceGroupQueryOperator - subtype_model: ResourceNameQueryOperator subtype_name: ResourceNameQueryOperator - subtype_model: ResourceOperationQueryOperator subtype_name: ResourceOperationQueryOperator - subtype_model: ResourceQueryExtraPresence subtype_name: ResourceQueryExtraPresence - subtype_model: ResourceQueryExtraKey subtype_name: ResourceQueryExtraKey - subtype_model: ScopeContainsTenantQueryOperator subtype_name: ScopeContainsTenantQueryOperator - subtype_model: ScopeContainsServiceAccountQueryOperator subtype_name: ScopeContainsServiceAccountQueryOperator - subtype_model: ScopeIsQueryOperator subtype_name: ScopeIsQueryOperator - subtype_model: ServiceCategoryQueryOperator subtype_name: ServiceCategoryQueryOperator - subtype_model: ServiceTypeQueryOperator subtype_name: ServiceTypeQueryOperator - subtype_model: CompartmentNameQueryOperator subtype_name: CompartmentNameQueryOperator - subtype_model: ResourceQueryExtraKeyValue subtype_name: ResourceQueryExtraKeyValue - subtype_model: WorkFlowIdQueryOperator subtype_name: WorkFlowIdQueryOperator - subtype_model: RecommendationSubClassificationQueryOperator subtype_name: RecommendationSubClassificationQueryOperator - subtype_model: ServiceNowCmdbQuerySyncLogResourceId subtype_name: ServiceNowCmdbQuerySyncLogResourceId - subtype_model: ServiceNowCmdbQuerySyncLogResourceType subtype_name: ServiceNowCmdbQuerySyncLogResourceType - subtype_model: ServiceNowCmdbQuerySyncLogAction subtype_name: ServiceNowCmdbQuerySyncLogAction - subtype_model: ServiceNowCmdbQuerySyncLogStatus subtype_name: ServiceNowCmdbQuerySyncLogStatus - subtype_model: ServiceNowCmdbQuerySyncLogService subtype_name: ServiceNowCmdbQuerySyncLogService - subtype_model: ServiceAccountNativeDetailsQueryOperator subtype_name: ServiceAccountNativeDetailsQueryOperator - subtype_model: ServiceAccountStatusQueryOperator subtype_name: ServiceAccountStatusQueryOperator - subtype_model: ServiceAccountTagKeyQueryOperator subtype_name: ServiceAccountTagKeyQueryOperator - subtype_model: ServiceAccountTagKeyRegexQueryOperator subtype_name: ServiceAccountTagKeyRegexQueryOperator - subtype_model: ServiceAccountTagKeyValueQueryOperator subtype_name: ServiceAccountTagKeyValueQueryOperator - subtype_model: ApplicableHealthMetricsQueryOperator subtype_name: ApplicableHealthMetricsQueryOperator - subtype_model: EpssScoreRangeQueryOperator subtype_name: EpssScoreRangeQueryOperator - subtype_model: CvssMetricScoreRangeQueryOperator subtype_name: CvssMetricScoreRangeQueryOperator - subtype_model: GraphionScoreRangeQueryOperator subtype_name: GraphionScoreRangeQueryOperator - subtype_model: AppSecopsApplicationIdQueryOperator subtype_name: AppSecopsApplicationIdQueryOperator - subtype_model: AppSecopsPortfolioIdQueryOperator subtype_name: AppSecopsPortfolioIdQueryOperator - subtype_model: AppSecopsProjectIdQueryOperator subtype_name: AppSecopsProjectIdQueryOperator - subtype_model: AppSecopsSbomComponentIdQueryOperator subtype_name: AppSecopsSbomComponentIdQueryOperator - subtype_model: AppSecopsSbomVersionIdQueryOperator subtype_name: AppSecopsSbomVersionIdQueryOperator - subtype_model: AppSecopsComponentProductQueryOperator subtype_name: AppSecopsComponentProductQueryOperator - subtype_model: AppSecopsSbomComponentTypeQueryOperator subtype_name: AppSecopsSbomComponentTypeQueryOperator - subtype_model: AppSecopsSbomVersionSubmittedByQueryOperator subtype_name: AppSecopsSbomVersionSubmittedByQueryOperator - subtype_model: AppSecopsSbomVersionSubmittedDateQueryOperator subtype_name: AppSecopsSbomVersionSubmittedDateQueryOperator - subtype_model: AppSecopsSbomVersionBuildIdQueryOperator subtype_name: AppSecopsSbomVersionBuildIdQueryOperator - subtype_model: AppSecopsSbomNameQueryOperator subtype_name: AppSecopsSbomNameQueryOperator - subtype_model: AppSecopsCveIdQueryOperator subtype_name: AppSecopsCveIdQueryOperator - subtype_model: AppSecopsEpssScoreQueryOperator subtype_name: AppSecopsEpssScoreQueryOperator - subtype_model: AppSecopsCvssScoreQueryOperator subtype_name: AppSecopsCvssScoreQueryOperator - subtype_model: AppSecopsGraphionScoreQueryOperator subtype_name: AppSecopsGraphionScoreQueryOperator - subtype_model: SecopsVulnerabilitySeverityQueryOperator subtype_name: SecopsVulnerabilitySeverityQueryOperator - subtype_model: AppSecopsIsKnownExploitedVulnerabilityQueryOperator subtype_name: AppSecopsIsKnownExploitedVulnerabilityQueryOperator - subtype_model: AppSecopsVulnerabilityExploitabilityMetricAttackVectorV31QueryOperator subtype_name: AppSecopsVulnerabilityExploitabilityMetricAttackVectorV31QueryOperator - subtype_model: AppSecopsFixAvailableQueryOperator subtype_name: AppSecopsFixAvailableQueryOperator - subtype_model: AppSecopsVulnerabilityExploitabilityMetricAttackComplexityV31QueryOperator subtype_name: AppSecopsVulnerabilityExploitabilityMetricAttackComplexityV31QueryOperator - subtype_model: AppSecopsVulnerabilityExploitabilityMetricPrivilegesRequiredV31QueryOperator subtype_name: AppSecopsVulnerabilityExploitabilityMetricPrivilegesRequiredV31QueryOperator - subtype_model: AppSecopsVulnerabilityExploitabilityMetricScopeV31QueryOperator subtype_name: AppSecopsVulnerabilityExploitabilityMetricScopeV31QueryOperator - subtype_model: AppSecopsVulnerabilityExploitabilityUserInteractionV31QueryOperator subtype_name: AppSecopsVulnerabilityExploitabilityUserInteractionV31QueryOperator - subtype_model: AppSecopsVulnerabilityImpactMetricConfidentialityImpactV31QueryOperator subtype_name: AppSecopsVulnerabilityImpactMetricConfidentialityImpactV31QueryOperator - subtype_model: AppSecopsVulnerabilityImpactMetricIntegrityImpactV31QueryOperator subtype_name: AppSecopsVulnerabilityImpactMetricIntegrityImpactV31QueryOperator - subtype_model: AppSecopsVulnerabilityImpactMetricAvailabilityImpactV31QueryOperator subtype_name: AppSecopsVulnerabilityImpactMetricAvailabilityImpactV31QueryOperator - subtype_model: AppSecopsContainerFindingsSBOMVersionIdsQueryOperator subtype_name: AppSecopsContainerFindingsSBOMVersionIdsQueryOperator - subtype_model: AppSecopsContainerFindingsCategoryQueryOperator subtype_name: AppSecopsContainerFindingsCategoryQueryOperator - subtype_model: AppSecopsContainerFindingsExecutionPhaseQueryOperator subtype_name: AppSecopsContainerFindingsExecutionPhaseQueryOperator - subtype_model: AppSecopsContainerFindingsSeverityQueryOperator subtype_name: AppSecopsContainerFindingsSeverityQueryOperator - subtype_model: AppSecopsContainerFindingsStatusQueryOperator subtype_name: AppSecopsContainerFindingsStatusQueryOperator - subtype_model: DimensionSourceQueryOperator subtype_name: DimensionSourceQueryOperator - subtype_model: DimensionQueryOperator subtype_name: DimensionQueryOperator - subtype_model: ResourceTypeQueryOperator subtype_name: ResourceTypeQueryOperator - subtype_model: PodIdRegexQueryOperator subtype_name: PodIdRegexQueryOperator - subtype_model: PodNameRegexQueryOperator subtype_name: PodNameRegexQueryOperator - subtype_model: ContainerIdRegexQueryOperator subtype_name: ContainerIdRegexQueryOperator - subtype_model: PodNamesQueryOperator subtype_name: PodNamesQueryOperator - subtype_model: PodIdsQueryOperator subtype_name: PodIdsQueryOperator - subtype_model: UtilizationTypeQueryOperator subtype_name: UtilizationTypeQueryOperator - subtype_model: ResourceIdRegexQueryOperator subtype_name: ResourceIdRegexQueryOperator - subtype_model: ResourceNameRegexQueryOperator subtype_name: ResourceNameRegexQueryOperator - subtype_model: ExtrasValueRegexQueryOperator subtype_name: ExtrasValueRegexQueryOperator - subtype_model: TagKeyValueRegexQueryOperator subtype_name: TagKeyValueRegexQueryOperator - subtype_model: ResourceQueryTagKeyKind subtype_name: ResourceQueryTagKeyKind - subtype_model: ResourceQueryTagKeyValuesKind subtype_name: ResourceQueryTagKeyValuesKind - subtype_model: TagKeyStringValueRegexQueryOperator subtype_name: TagKeyStringValueRegexQueryOperator - subtype_model: TagKindStringKeyRegexQueryOperator subtype_name: TagKindStringKeyRegexQueryOperator - subtype_model: ServiceAccountNameRegexQueryOperator subtype_name: ServiceAccountNameRegexQueryOperator - subtype_model: TenantNameRegexQueryOperator subtype_name: TenantNameRegexQueryOperator - subtype_model: PlatFormAccountQueryOperator subtype_name: PlatFormAccountQueryOperator - subtype_model: BillingLineItemTypeQueryOperator subtype_name: BillingLineItemTypeQueryOperator - subtype_model: BillingEntityQueryOperator subtype_name: BillingEntityQueryOperator - subtype_model: LineItemDescriptionQueryOperator subtype_name: LineItemDescriptionQueryOperator - subtype_model: LineItemDescriptionRegexQueryOperator subtype_name: LineItemDescriptionRegexQueryOperator - subtype_model: MeterSubCategoryQueryOperator subtype_name: MeterSubCategoryQueryOperator - subtype_model: PricingCategoryQueryOperator subtype_name: PricingCategoryQueryOperator - subtype_model: PricingPurchaseOptionQueryOperator subtype_name: PricingPurchaseOptionQueryOperator - subtype_model: TagKeyRegexQueryOperator subtype_name: TagKeyRegexQueryOperator - subtype_model: BillingLineItemTypeRegexQueryOperator subtype_name: BillingLineItemTypeRegexQueryOperator - subtype_model: ResourceGroupRegexQueryOperator subtype_name: ResourceGroupRegexQueryOperator - subtype_model: ResourceCategoryRegexQueryOperator subtype_name: ResourceCategoryRegexQueryOperator - subtype_model: ProductCategoryRegexQueryOperator subtype_name: ProductCategoryRegexQueryOperator - subtype_model: BillingEntityRegexQueryOperator subtype_name: BillingEntityRegexQueryOperator - subtype_model: ResourceOperationRegexQueryOperator subtype_name: ResourceOperationRegexQueryOperator - subtype_model: ResourceQueryFieldPresence subtype_name: ResourceQueryFieldPresence - subtype_model: AssessmentRunReportDetailQuerySection subtype_name: AssessmentRunReportDetailQuerySection - subtype_model: AssessmentRunReportSummaryQuerySection subtype_name: AssessmentRunReportSummaryQuerySection - subtype_model: AssessmentQueryAssessmentName subtype_name: AssessmentQueryAssessmentName - subtype_model: AssessmentQueryAssessmentOwner subtype_name: AssessmentQueryAssessmentOwner - subtype_model: AssessmentQueryAssessmentApprover subtype_name: AssessmentQueryAssessmentApprover - subtype_model: AssessmentQueryWorkload subtype_name: AssessmentQueryWorkload - subtype_model: AssessmentQueryFramework subtype_name: AssessmentQueryFramework - subtype_model: AssessmentQueryPillar subtype_name: AssessmentQueryPillar - subtype_model: AssessmentViewQueryNature subtype_name: AssessmentViewQueryNature - subtype_model: AssessmentViewQueryQuestionRisk subtype_name: AssessmentViewQueryQuestionRisk - subtype_model: AssessmentViewQueryBestPracticeRisk subtype_name: AssessmentViewQueryBestPracticeRisk - subtype_model: AssessmentViewQueryQuestionStatus subtype_name: AssessmentViewQueryQuestionStatus - subtype_model: AssessmentViewQueryBestPracticeStatus subtype_name: AssessmentViewQueryBestPracticeStatus - subtype_model: AssessmentViewQueryOwner subtype_name: AssessmentViewQueryOwner - subtype_model: AssessmentViewQueryAssignedTo subtype_name: AssessmentViewQueryAssignedTo - subtype_model: AssessmentViewQueryComment subtype_name: AssessmentViewQueryComment - subtype_model: AssessmentReportQueryAssessmentName subtype_name: AssessmentReportQueryAssessmentName - subtype_model: AssessmentReportQueryFramework subtype_name: AssessmentReportQueryFramework - subtype_model: AssessmentReportQueryReportType subtype_name: AssessmentReportQueryReportType - subtype_model: AssessmentReportQueryWorkloadId subtype_name: AssessmentReportQueryWorkloadId - subtype_model: ScheduleQueryName subtype_name: ScheduleQueryName - subtype_model: ScheduleQueryCreatedBy subtype_name: ScheduleQueryCreatedBy - subtype_model: ScheduleQueryEmailRecipients subtype_name: ScheduleQueryEmailRecipients - subtype_model: ScheduleQueryRecurrence subtype_name: ScheduleQueryRecurrence - subtype_model: ScheduleQueryReportType subtype_name: ScheduleQueryReportType - subtype_model: ScheduleQueryNextGenReportType subtype_name: ScheduleQueryNextGenReportType - subtype_model: ScheduleQueryAssessmentAgentReportType subtype_name: ScheduleQueryAssessmentAgentReportType - subtype_model: AutomationTemplateQueryEngineType subtype_name: AutomationTemplateQueryEngineType - subtype_model: AutomationTemplateQueryRepoType subtype_name: AutomationTemplateQueryRepoType - subtype_model: AutomationTemplateQueryService subtype_name: AutomationTemplateQueryService - subtype_model: AutomationTemplateQueryTenant subtype_name: AutomationTemplateQueryTenant - subtype_model: AwsSecurityHubFindingQueryLocation subtype_name: AwsSecurityHubFindingQueryLocation - subtype_model: AwsSecurityHubFindingQuerySeverity subtype_name: AwsSecurityHubFindingQuerySeverity - subtype_model: AwsSecurityHubFindingQueryProductName subtype_name: AwsSecurityHubFindingQueryProductName - subtype_model: AwsSecurityHubFindingQueryResource subtype_name: AwsSecurityHubFindingQueryResource - subtype_model: AwsSecurityHubFindingQueryCloudAccount subtype_name: AwsSecurityHubFindingQueryCloudAccount - subtype_model: AwsSecurityHubFindingQueryRecordState subtype_name: AwsSecurityHubFindingQueryRecordState - subtype_model: AwsSsmDocumentQueryCloudAccount subtype_name: AwsSsmDocumentQueryCloudAccount - subtype_model: AwsSsmDocumentQueryRegion subtype_name: AwsSsmDocumentQueryRegion - subtype_model: AwsSsmDocumentQueryOwner subtype_name: AwsSsmDocumentQueryOwner - subtype_model: AwsSsmDocumentQueryCategory subtype_name: AwsSsmDocumentQueryCategory - subtype_model: AwsSsmDocumentQueryStatus subtype_name: AwsSsmDocumentQueryStatus - subtype_model: AwsSsmDocumentQueryName subtype_name: AwsSsmDocumentQueryName - subtype_model: AwsSsmDocumentQueryExecutedBy subtype_name: AwsSsmDocumentQueryExecutedBy - subtype_model: ComplianceURIQueryOperator subtype_name: ComplianceURIQueryOperator - subtype_model: DurationInMonthsQueryOperator subtype_name: DurationInMonthsQueryOperator - subtype_model: UniqueIdQueryOperator subtype_name: UniqueIdQueryOperator - subtype_model: ThreatVulnerabilityStatusQueryOperator subtype_name: ThreatVulnerabilityStatusQueryOperator - subtype_model: ThreatVulnerabilitySeverityQueryOperator subtype_name: ThreatVulnerabilitySeverityQueryOperator - subtype_model: ThreatVulnerabilityIssueTypeQueryOperator subtype_name: ThreatVulnerabilityIssueTypeQueryOperator - subtype_model: ThreatIntentQueryOperator subtype_name: ThreatIntentQueryOperator - subtype_model: VulnerabilityReferenceIdQueryOperator subtype_name: VulnerabilityReferenceIdQueryOperator - subtype_model: CostAnomalyStatusQueryOperator subtype_name: CostAnomalyStatusQueryOperator - subtype_model: CurrencyExchangeConfigurationQuerySourceCurrency subtype_name: CurrencyExchangeConfigurationQuerySourceCurrency - subtype_model: CurrencyExchangeConfigurationQueryTargetCurrency subtype_name: CurrencyExchangeConfigurationQueryTargetCurrency - subtype_model: CurrencyExchangeConfigurationQueryScope subtype_name: CurrencyExchangeConfigurationQueryScope - subtype_model: MetricValuesOperator subtype_name: MetricValuesOperator - subtype_model: PatchReadinessStatusQueryOperator subtype_name: PatchReadinessStatusQueryOperator - subtype_model: MasterAccountBillingQueryMasterAccounts subtype_name: MasterAccountBillingQueryMasterAccounts - subtype_model: MasterAccountBillingQueryTenants subtype_name: MasterAccountBillingQueryTenants - subtype_model: MasterAccountBillingQueryUsers subtype_name: MasterAccountBillingQueryUsers - subtype_model: MasterAccountBillingQueryConversations subtype_name: MasterAccountBillingQueryConversations - subtype_model: MasterAccountBillingQueryTransactionType subtype_name: MasterAccountBillingQueryTransactionType - subtype_model: PolicyResourceRecommendationStatusQueryOperator subtype_name: PolicyResourceRecommendationStatusQueryOperator - subtype_model: PolicyResourceRecommendationPolicyIdsQueryOperator subtype_name: PolicyResourceRecommendationPolicyIdsQueryOperator - subtype_model: PolicyResourceRecommendationSeverityQueryOperator subtype_name: PolicyResourceRecommendationSeverityQueryOperator - subtype_model: PolicyRecommendationClassificationQueryOperator subtype_name: PolicyRecommendationClassificationQueryOperator - subtype_model: InfraResourceTrendResourceChangeStatusQueryOperator subtype_name: InfraResourceTrendResourceChangeStatusQueryOperator - subtype_model: VmAgentsQueryOsTypes subtype_name: VmAgentsQueryOsTypes - subtype_model: VmAgentsQueryInstantState subtype_name: VmAgentsQueryInstantState - subtype_model: VmAgentsQueryQualysStatus subtype_name: VmAgentsQueryQualysStatus - subtype_model: VmAgentsQueryCrowdStrikeStatus subtype_name: VmAgentsQueryCrowdStrikeStatus - subtype_model: VmAgentsQuerySplunkStatus subtype_name: VmAgentsQuerySplunkStatus - subtype_model: StacksMarketplaceStackQueryArchived subtype_name: StacksMarketplaceStackQueryArchived - subtype_model: StacksMarketplaceStackQueryAutoApproved subtype_name: StacksMarketplaceStackQueryAutoApproved - subtype_model: StacksMarketplaceStackQueryOwner subtype_name: StacksMarketplaceStackQueryOwner - subtype_model: StacksMarketplaceStackQueryName subtype_name: StacksMarketplaceStackQueryName - subtype_model: StacksMarketplaceStackQueryProduct subtype_name: StacksMarketplaceStackQueryProduct - subtype_model: StacksMarketplaceDeploymentQueryName subtype_name: StacksMarketplaceDeploymentQueryName - subtype_model: StacksMarketplaceDeploymentQueryStack subtype_name: StacksMarketplaceDeploymentQueryStack - subtype_model: StacksMarketplaceDeploymentQueryAccount subtype_name: StacksMarketplaceDeploymentQueryAccount - subtype_model: StacksMarketplaceDeploymentQueryRegion subtype_name: StacksMarketplaceDeploymentQueryRegion - subtype_model: StacksMarketplaceStackDeploymentQueryExecutionStatus subtype_name: StacksMarketplaceStackDeploymentQueryExecutionStatus - subtype_model: MetricNameQueryOperator subtype_name: MetricNameQueryOperator - subtype_model: ResourceQueryCategory subtype_name: ResourceQueryCategory - subtype_model: ResourceQueryLocation subtype_name: ResourceQueryLocation - subtype_model: ResourceQueryResource subtype_name: ResourceQueryResource - subtype_model: ResourceQueryResourceGroup subtype_name: ResourceQueryResourceGroup - subtype_model: ResourceQueryResourceName subtype_name: ResourceQueryResourceName - subtype_model: ResourceQueryResourceType subtype_name: ResourceQueryResourceType - subtype_model: ResourceQueryTagPresence subtype_name: ResourceQueryTagPresence - subtype_model: ResourceQueryTagKey subtype_name: ResourceQueryTagKey - subtype_model: ResourceQueryTagKeyValue subtype_name: ResourceQueryTagKeyValue - subtype_model: WorkloadQueryWorkloadName subtype_name: WorkloadQueryWorkloadName - subtype_model: WorkloadQueryWorkloadOwner subtype_name: WorkloadQueryWorkloadOwner - subtype_model: WorkloadQueryCloud subtype_name: WorkloadQueryCloud - subtype_model: WorkloadQueryCloudAccount subtype_name: WorkloadQueryCloudAccount - subtype_model: WorkloadQueryWorkloadType subtype_name: WorkloadQueryWorkloadType - subtype_model: WorkloadQueryWorkloadId subtype_name: WorkloadQueryWorkloadId RecommendationExclusionRuleApplyRequest: required: - tenant_id properties: tenant_id: type: string description: Rules to apply on provided tenant. x-cs-type: ObjectId type: object BatchRequest: properties: ids: type: array description: Identifiers to fetch items: type: string type: object RecommendationExclusionRuleBase: required: - name - resource_scope - scope properties: name: type: string description: Recommendation Exclusion Rule Name activation_date: type: string format: date-time description: Rule Activation date description: type: string description: Rule Description expiry_date: type: string format: date-time description: Rule expiry date is_enabled: type: boolean description: Rule status scope: type: string description: Rule Scope example: account enum: - account - tenant x-cs-enum-type: RecommendationExclusionRuleScope resource_scope: description: Filter for the rule. $ref: '#/components/schemas/RecommendationResourceScopeBase' type: object ResourceCount: required: - open properties: open: type: integer description: The resources that are open based on the recommendation type: object ListResponse: properties: results: type: array description: List of result identifiers items: type: string next_list_context: description: List context $ref: '#/components/schemas/ListContext' type: object ListRecommendationFilters: allOf: - $ref: '#/components/schemas/RecommendationFilterBase' - properties: policy_classifications: description: Policy classification with sub-classifications. $ref: '#/components/schemas/PolicyClassificationWithSubClassifications' policy_ids: type: array description: List of policy ids to get the recommendations. items: type: string resource_ids: type: array description: List of resource ids to get the recommendations. items: type: string resource_types: type: array description: List of resource types to get the recommendations. items: type: string resources: type: array description: List of resources to get the recommendations. items: type: string service_names: type: array description: List of cloud service name items: type: string description: Cloud Provider to select example: AWS enum: - AWS - Azure - AzureStack - Azure_CSP - Azure_CSP-Direct - Azure_EA - Azure_MCA - Cloudstack - GCP - MS_VMM - OCI - Openstack - PrivateCloud - Rackspace - VMware - VMware_VCD - vCenter x-cs-enum-type: CloudServiceName sources: type: array description: List of recommendation source to filter the recommendations. items: type: string description: Recommendation source example: AWS-compute-optimizer enum: - AWS-compute-optimizer - AWS-ec2-compute-optimizer - AWS-lambda-compute-optimizer - AWS_advisor - Corestack-Profiler - Custom - GCP_advisor - OCI_advisor - activity_log - azure_advisor - policy - security_threats x-cs-enum-type: RecommendationSource statuses: type: array description: List of recommendation status to filter the recommendations. items: type: string description: Status of the policy resource recommendation example: error enum: - error - in_progress - open - resolved - skipped - system_skipped x-cs-enum-type: PolicyResourceRecommendationStatus type: object ResourceRecommendationITSMEvent: properties: service: type: string description: Name of the integrated ITSM service where the event was raised (e.g. ServiceNow, Jira) example: Anomaly_Detector enum: - Anomaly_Detector - AppDynamics - App_Insights - ArrowSphere - Azure_Devops - Azure_Security_Graph - Azure_Sentinel - Corestack - DockerHub - ElasticSearch - Freshservice - GitHub - JIRA_DataCenter - JIRA_ServiceDesk - JIRA_ServiceManagement - Jenkins - Logstash - Microsoft_Teams - Nagios - Newrelic - Prometheus - Qualys - RedHat_Satellite - ServiceNow - TCL_ITSM - Tenable_Nessus - ZOHO_ServiceDesk - Zabbix x-cs-enum-type: IntegratedToolName service_account_id: type: string description: Service account ID associated with the ITSM integration x-cs-type: ObjectId event_type: type: string description: Type of ITSM event raised for the remediation (e.g. incident creation) status: type: string description: Status of the ITSM event raised for the remediation (e.g. success, failure) example: success enum: - success - failed x-cs-enum-type: ITSMEventStatus incident_id: type: string description: Incident number created in the integrated ITSM tool for the resource type: object ResourceRecommendationsSortCriteria: required: - column properties: column: type: string example: resource_id enum: - resource_id - resource_name - resource_type - resource_category - resource x-cs-enum-type: ResourceRecommendationsSortColumn ascending: type: boolean type: object RecommendationExclusionRule: allOf: - $ref: '#/components/schemas/RecommendationExclusionRuleBase' - properties: policy_classification: $ref: '#/components/schemas/PolicyClassificationWithSubClassifications' rule_id: type: string description: ID of the Rule x-cs-type: ObjectId created_by: type: string description: Name of the user who created the rule. created_at: type: string format: date-time description: Recommendation exclusion rule created time updated_by: type: string description: Name of the user who recently updated the rule. updated_at: type: string format: date-time description: Recommendation exclusion rule updated time type: object ResourceCountByAccount: required: - open properties: open: type: integer description: Resource count that are open type: object CostSavingResourceDetails: properties: currency: type: string description: currency of the cost. Example 'currency':'USD' example: AED enum: - AED - ALL - ARS - AUD - BAM - BDT - BGN - BHD - BRL - CAD - CHF - CLP - CNY - COP - CRC - CZK - DKK - EGP - EUR - GBP - HKD - HRK - HUF - IDR - ILS - INR - ISK - JPY - KES - KRW - KWD - KZT - MOP - MVR - MXN - MYR - NOK - NZD - OMR - PEN - PHP - PKR - PLN - QAR - RON - RSD - RUB - SAR - SEK - SGD - THB - TRY - TWD - USD - VND - ZAR x-cs-enum-type: Currency saving_per_day: type: number description: Cost saving per day by resource saving_per_month: type: number description: Cost saving per day by resource saving_per_year: type: number description: Cost saving per year by resource updated_at: type: string format: date-time description: Recently Updated time type: object ListResourceRecommendationRequest: properties: list_context: description: Optional list context $ref: '#/components/schemas/ListContext' sort: type: array description: Sort criteria items: $ref: '#/components/schemas/ResourceRecommendationsSortCriteria' filters: description: Filters for the request $ref: '#/components/schemas/ListResourceRecommendationFilters' type: object ResourceRecommendationSkippedDetails: properties: action: type: string description: Action name for skipped resource id: type: string description: ID from where the resource is being skipped. type: object RecommendationExclusionRuleBatchResponse: properties: results: type: object description: Map from identifier to response model additionalProperties: $ref: '#/components/schemas/RecommendationExclusionRule' type: object ExecuteResolveActionRecommendationsRequest: required: - action_name - resources properties: action_name: type: string description: Action Name to resolve the recommendation resources: type: array description: Specify the Resource IDs. It will be fetched from list recommendation api items: type: string type: object RecommendationExclusionRuleRequest: allOf: - $ref: '#/components/schemas/RecommendationExclusionRuleBase' - required: - policy_classification properties: policy_classification: description: Policy classification with sub-classifications. $ref: '#/components/schemas/PolicyClassificationWithSubClassifications' type: object ListResourceRecommendationFilters: allOf: - $ref: '#/components/schemas/RecommendationFilterBase' - properties: recommendation_ids: type: array description: List of recommendation IDs to get the resource recommendations. items: type: string rule_ids: type: array description: List of exclusion rule Ids to get resources to exclude. items: type: string x-cs-type: ObjectId search: type: string description: Search based on resource_id, resource_name, resource, resource category, resource type and region/location. filters: description: Query based on Resource Group, Region, resource_id, resource_name and resource $ref: '#/components/schemas/QueryOperator' type: object RecommendationClassificationFilter: allOf: - $ref: '#/components/schemas/RecommendationFilterBase' - properties: policy_classifications: type: array description: List of Policy Classifications items: type: string description: Classification of the policy example: Access enum: - Access - Cost - Data - Network - Operation - Performance - Resource - Security x-cs-enum-type: PolicyClassification policy_sub_classifications: type: array description: List of Policy Sub Classifications items: type: string description: Sub-Classification of the policy example: Access enum: - Access - Anomaly - Application - Application_Integration - Availability - Backup - Billing - Budget - Config - Data - Databases - Encryption - End Point Protection - Governance - High - Host - Identity - Idle - Logging - Monitoring - Naming Standards - Network - Operation - Optimized - Orphaned - Performance - SNS - Security - Standards - Storage - Tags - Underutilized - Utilization - medium x-cs-enum-type: PolicySubClassification type: object RecommendationExclusionRuleGetResponse: allOf: - $ref: '#/components/schemas/RecommendationExclusionRule' - properties: {} type: object ListPolicyRecommendationsResponse: required: - actions - classification - cloud_account_id - cloud_account_name - created_at - description - impact - name - page_count - policy_description - policy_id - policy_name - resource_counts - resources - service_name - status - sub_classification - tenant_name - total_count properties: policy_id: type: array description: Policy ID items: type: string policy_name: type: string description: Policy Name policy_description: type: string description: Policy Description name: type: string description: Name of the policy recommendation status: type: string description: Status impact: type: string description: Impact classification: type: string description: Oscar Classification sub_classification: type: string description: Sub classification of the above classification cloud_account_id: type: string description: Cloud Account ID cloud_account_name: type: string description: Cloud Account Name service_name: type: string description: Cloud Service Name tenant_name: type: string description: Tenant Name created_at: type: string description: Time of creation resource_counts: description: Count of the resource that are open $ref: '#/components/schemas/ResourceCount' description: type: string description: Description of the policy actions: type: array description: Action to be taken for that policy recommendation items: $ref: '#/components/schemas/ActionDetails' total_count: type: integer description: Total count page_count: type: integer description: Page count resources: type: array description: Resources Details items: type: object type: object ExecuteResolveRecommendationsRequest: required: - action_name - apply_for_all - resources properties: action_name: type: string description: Action Name to resolve the recommendation resources: type: array description: Resource ID items: type: string apply_for_all: type: boolean description: Apply for all the resources.Allowed Values true or false type: object ResourceRecommendationResponse: properties: results: type: object description: Map from identifier to response model additionalProperties: $ref: '#/components/schemas/ResourceRecommendationsBatchResponse' type: object RecommendationDetailsBatchResponse: properties: results: type: object description: Map from identifier to response model additionalProperties: $ref: '#/components/schemas/RecommendationDetails' type: object securitySchemes: auth_token: type: apiKey in: header name: X-Auth-Token