From 267e06d719e7cdc49f0819205bfb98a7ae2ac75c Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 27 Oct 2025 20:30:40 +0000 Subject: [PATCH] Regenerate client from commit 3711875 of spec repo --- .generator/schemas/v2/openapi.yaml | 362 ++++++++++++++++++ docs/datadog_api_client.v2.model.rst | 161 ++++++++ .../v2/security-monitoring/GetSecretsRules.py | 14 + .../ListMultipleRulesets.py | 29 ++ src/datadog_api_client/configuration.py | 2 + .../v2/api/security_monitoring_api.py | 67 ++++ .../v2/model/get_multiple_rulesets_request.py | 42 ++ .../get_multiple_rulesets_request_data.py | 70 ++++ ...ltiple_rulesets_request_data_attributes.py | 56 +++ ...get_multiple_rulesets_request_data_type.py | 37 ++ .../model/get_multiple_rulesets_response.py | 42 ++ .../get_multiple_rulesets_response_data.py | 70 ++++ ...tiple_rulesets_response_data_attributes.py | 50 +++ ...response_data_attributes_rulesets_items.py | 88 +++++ ...nse_data_attributes_rulesets_items_data.py | 58 +++ ...ata_attributes_rulesets_items_data_type.py | 37 ++ ...a_attributes_rulesets_items_rules_items.py | 259 +++++++++++++ ...esets_items_rules_items_arguments_items.py | 43 +++ ...ributes_rulesets_items_rules_items_data.py | 58 +++ ...es_rulesets_items_rules_items_data_type.py | 37 ++ ..._rulesets_items_rules_items_tests_items.py | 63 +++ ...et_multiple_rulesets_response_data_type.py | 37 ++ .../v2/model/secret_rule_array.py | 40 ++ .../v2/model/secret_rule_data.py | 64 ++++ .../v2/model/secret_rule_data_attributes.py | 114 ++++++ ...t_rule_data_attributes_match_validation.py | 123 ++++++ ...lidation_invalid_http_status_code_items.py | 54 +++ ...validation_valid_http_status_code_items.py | 54 +++ .../v2/model/secret_rule_data_type.py | 35 ++ src/datadog_api_client/v2/models/__init__.py | 72 ++++ tests/v2/features/security_monitoring.feature | 19 +- tests/v2/features/undo.json | 14 + 32 files changed, 2269 insertions(+), 2 deletions(-) create mode 100644 examples/v2/security-monitoring/GetSecretsRules.py create mode 100644 examples/v2/security-monitoring/ListMultipleRulesets.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_request.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_request_data.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_type.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data_type.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items.py create mode 100644 src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_type.py create mode 100644 src/datadog_api_client/v2/model/secret_rule_array.py create mode 100644 src/datadog_api_client/v2/model/secret_rule_data.py create mode 100644 src/datadog_api_client/v2/model/secret_rule_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation.py create mode 100644 src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_invalid_http_status_code_items.py create mode 100644 src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_valid_http_status_code_items.py create mode 100644 src/datadog_api_client/v2/model/secret_rule_data_type.py diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 76247abeac..2f29c0ae8f 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -21612,6 +21612,207 @@ components: - ASSIGNEE - CASE - TEAM_OWNERS + GetMultipleRulesetsRequest: + properties: + data: + $ref: '#/components/schemas/GetMultipleRulesetsRequestData' + type: object + GetMultipleRulesetsRequestData: + properties: + attributes: + $ref: '#/components/schemas/GetMultipleRulesetsRequestDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsRequestDataType' + required: + - type + type: object + GetMultipleRulesetsRequestDataAttributes: + properties: + include_testing_rules: + type: boolean + include_tests: + type: boolean + rulesets: + items: + type: string + type: array + type: object + GetMultipleRulesetsRequestDataType: + default: get_multiple_rulesets_request + description: Get multiple rulesets request resource type. + enum: + - get_multiple_rulesets_request + example: get_multiple_rulesets_request + type: string + x-enum-varnames: + - GET_MULTIPLE_RULESETS_REQUEST + GetMultipleRulesetsResponse: + properties: + data: + $ref: '#/components/schemas/GetMultipleRulesetsResponseData' + type: object + GetMultipleRulesetsResponseData: + properties: + attributes: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataType' + required: + - type + type: object + GetMultipleRulesetsResponseDataAttributes: + properties: + rulesets: + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItems' + type: array + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItems: + properties: + data: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsData' + description: + type: string + name: + type: string + rules: + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems' + type: array + short_description: + type: string + required: + - data + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsData: + properties: + id: + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType' + required: + - type + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType: + default: rulesets + description: Rulesets resource type. + enum: + - rulesets + example: rulesets + type: string + x-enum-varnames: + - RULESETS + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems: + properties: + arguments: + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems' + type: array + category: + type: string + checksum: + type: string + code: + type: string + created_at: + format: date-time + type: string + created_by: + type: string + cve: + type: string + cwe: + type: string + data: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData' + description: + type: string + documentation_url: + type: string + entity_checked: + type: string + is_published: + type: boolean + is_testing: + type: boolean + language: + type: string + last_updated_at: + format: date-time + type: string + last_updated_by: + type: string + name: + type: string + regex: + type: string + severity: + type: string + short_description: + type: string + should_use_ai_fix: + type: boolean + tests: + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems' + type: array + tree_sitter_query: + type: string + type: + type: string + required: + - data + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems: + properties: + description: + type: string + name: + type: string + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData: + properties: + id: + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType' + required: + - type + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType: + default: rules + description: Rules resource type. + enum: + - rules + example: rules + type: string + x-enum-varnames: + - RULES + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems: + properties: + annotation_count: + format: int64 + maximum: 65535 + minimum: 0 + type: integer + code: + type: string + filename: + type: string + type: object + GetMultipleRulesetsResponseDataType: + default: get_multiple_rulesets_response + description: Get multiple rulesets response resource type. + enum: + - get_multiple_rulesets_response + example: get_multiple_rulesets_response + type: string + x-enum-varnames: + - GET_MULTIPLE_RULESETS_RESPONSE GetResourceEvaluationFiltersResponse: description: The definition of `GetResourceEvaluationFiltersResponse` object. properties: @@ -42844,6 +43045,116 @@ components: - ISSUE_ASSIGNEE - ISSUE_CASE - ISSUE_TEAM_OWNERS + SecretRuleArray: + properties: + data: + items: + $ref: '#/components/schemas/SecretRuleData' + type: array + required: + - data + type: object + SecretRuleData: + properties: + attributes: + $ref: '#/components/schemas/SecretRuleDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/SecretRuleDataType' + required: + - type + type: object + SecretRuleDataAttributes: + properties: + default_included_keywords: + items: + type: string + type: array + description: + type: string + license: + type: string + match_validation: + $ref: '#/components/schemas/SecretRuleDataAttributesMatchValidation' + name: + type: string + pattern: + type: string + priority: + type: string + sds_id: + type: string + validators: + items: + type: string + type: array + type: object + SecretRuleDataAttributesMatchValidation: + properties: + endpoint: + type: string + hosts: + items: + type: string + type: array + http_method: + type: string + invalid_http_status_code: + items: + $ref: '#/components/schemas/SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems' + type: array + request_headers: + additionalProperties: + type: string + type: object + timeout_seconds: + format: int64 + maximum: 1.8446744073709552e+19 + minimum: 0 + type: integer + type: + type: string + valid_http_status_code: + items: + $ref: '#/components/schemas/SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems' + type: array + type: object + SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems: + properties: + end: + format: int64 + maximum: 1.8446744073709552e+19 + minimum: 0 + type: integer + start: + format: int64 + maximum: 1.8446744073709552e+19 + minimum: 0 + type: integer + type: object + SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems: + properties: + end: + format: int64 + maximum: 1.8446744073709552e+19 + minimum: 0 + type: integer + start: + format: int64 + maximum: 1.8446744073709552e+19 + minimum: 0 + type: integer + type: object + SecretRuleDataType: + default: secret_rule + description: Secret rule resource type. + enum: + - secret_rule + example: secret_rule + type: string + x-enum-varnames: + - SECRET_RULE SecurityFilter: description: The security filter's properties. properties: @@ -77328,6 +77639,57 @@ paths: tags: - Static Analysis x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/static-analysis/rulesets: + post: + description: Get rules for multiple rulesets in batch. + operationId: ListMultipleRulesets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetMultipleRulesetsRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GetMultipleRulesetsResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Ruleset get multiple + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/static-analysis/secrets/rules: + get: + description: Returns list of Secrets rules with ID, Pattern, Description, Priority, + and SDS ID + operationId: GetSecretsRules + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecretRuleArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Returns list of Secrets rules + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint may be subject to changes.' /api/v2/synthetics/settings/on_demand_concurrency_cap: get: description: Get the on-demand concurrency cap. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 28df3405c2..0e86482225 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -8985,6 +8985,118 @@ datadog\_api\_client.v2.model.get\_issue\_include\_query\_parameter\_item module :members: :show-inheritance: +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_request module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_request\_data module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_request\_data\_attributes module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_request\_data\_type module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_request_data_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items\_data module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items\_data\_type module +--------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items\_rules\_items module +----------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items\_rules\_items\_arguments\_items module +----------------------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items\_rules\_items\_data module +----------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items\_rules\_items\_data\_type module +----------------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_attributes\_rulesets\_items\_rules\_items\_tests\_items module +------------------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.get\_multiple\_rulesets\_response\_data\_type module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.get_multiple_rulesets_response_data_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.get\_resource\_evaluation\_filters\_response module --------------------------------------------------------------------------------- @@ -18967,6 +19079,55 @@ datadog\_api\_client.v2.model.search\_issues\_include\_query\_parameter\_item mo :members: :show-inheritance: +datadog\_api\_client.v2.model.secret\_rule\_array module +-------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.secret_rule_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.secret\_rule\_data module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.secret_rule_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.secret\_rule\_data\_attributes module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.secret_rule_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.secret\_rule\_data\_attributes\_match\_validation module +-------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.secret_rule_data_attributes_match_validation + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.secret\_rule\_data\_attributes\_match\_validation\_invalid\_http\_status\_code\_items module +-------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_invalid_http_status_code_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.secret\_rule\_data\_attributes\_match\_validation\_valid\_http\_status\_code\_items module +------------------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_valid_http_status_code_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.secret\_rule\_data\_type module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.secret_rule_data_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.security\_filter module ----------------------------------------------------- diff --git a/examples/v2/security-monitoring/GetSecretsRules.py b/examples/v2/security-monitoring/GetSecretsRules.py new file mode 100644 index 0000000000..4a6bd62e45 --- /dev/null +++ b/examples/v2/security-monitoring/GetSecretsRules.py @@ -0,0 +1,14 @@ +""" +Returns list of Secrets rules returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi + +configuration = Configuration() +configuration.unstable_operations["get_secrets_rules"] = True +with ApiClient(configuration) as api_client: + api_instance = SecurityMonitoringApi(api_client) + response = api_instance.get_secrets_rules() + + print(response) diff --git a/examples/v2/security-monitoring/ListMultipleRulesets.py b/examples/v2/security-monitoring/ListMultipleRulesets.py new file mode 100644 index 0000000000..13bc7044d9 --- /dev/null +++ b/examples/v2/security-monitoring/ListMultipleRulesets.py @@ -0,0 +1,29 @@ +""" +Ruleset get multiple returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi +from datadog_api_client.v2.model.get_multiple_rulesets_request import GetMultipleRulesetsRequest +from datadog_api_client.v2.model.get_multiple_rulesets_request_data import GetMultipleRulesetsRequestData +from datadog_api_client.v2.model.get_multiple_rulesets_request_data_attributes import ( + GetMultipleRulesetsRequestDataAttributes, +) +from datadog_api_client.v2.model.get_multiple_rulesets_request_data_type import GetMultipleRulesetsRequestDataType + +body = GetMultipleRulesetsRequest( + data=GetMultipleRulesetsRequestData( + attributes=GetMultipleRulesetsRequestDataAttributes( + rulesets=[], + ), + type=GetMultipleRulesetsRequestDataType.GET_MULTIPLE_RULESETS_REQUEST, + ), +) + +configuration = Configuration() +configuration.unstable_operations["list_multiple_rulesets"] = True +with ApiClient(configuration) as api_client: + api_instance = SecurityMonitoringApi(api_client) + response = api_instance.list_multiple_rulesets(body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index a5eda201d1..e9b032eb33 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -251,11 +251,13 @@ def __init__( "v2.get_finding": False, "v2.get_rule_version_history": False, "v2.get_sbom": False, + "v2.get_secrets_rules": False, "v2.get_security_monitoring_histsignal": False, "v2.get_security_monitoring_histsignals_by_job_id": False, "v2.get_threat_hunting_job": False, "v2.list_assets_sbo_ms": False, "v2.list_findings": False, + "v2.list_multiple_rulesets": False, "v2.list_scanned_assets_metadata": False, "v2.list_security_monitoring_histsignals": False, "v2.list_threat_hunting_jobs": False, diff --git a/src/datadog_api_client/v2/api/security_monitoring_api.py b/src/datadog_api_client/v2/api/security_monitoring_api.py index 8167c65eee..a0214c65db 100644 --- a/src/datadog_api_client/v2/api/security_monitoring_api.py +++ b/src/datadog_api_client/v2/api/security_monitoring_api.py @@ -107,6 +107,9 @@ from datadog_api_client.v2.model.run_threat_hunting_job_request import RunThreatHuntingJobRequest from datadog_api_client.v2.model.convert_job_results_to_signals_request import ConvertJobResultsToSignalsRequest from datadog_api_client.v2.model.threat_hunting_job_response import ThreatHuntingJobResponse +from datadog_api_client.v2.model.get_multiple_rulesets_response import GetMultipleRulesetsResponse +from datadog_api_client.v2.model.get_multiple_rulesets_request import GetMultipleRulesetsRequest +from datadog_api_client.v2.model.secret_rule_array import SecretRuleArray class SecurityMonitoringApi: @@ -734,6 +737,22 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_secrets_rules_endpoint = _Endpoint( + settings={ + "response_type": (SecretRuleArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/static-analysis/secrets/rules", + "operation_id": "get_secrets_rules", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._get_security_filter_endpoint = _Endpoint( settings={ "response_type": (SecurityFilterResponse,), @@ -1209,6 +1228,26 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_multiple_rulesets_endpoint = _Endpoint( + settings={ + "response_type": (GetMultipleRulesetsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/static-analysis/rulesets", + "operation_id": "list_multiple_rulesets", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (GetMultipleRulesetsRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._list_scanned_assets_metadata_endpoint = _Endpoint( settings={ "response_type": (ScannedAssetsMetadata,), @@ -2668,6 +2707,18 @@ def get_sbom( return self._get_sbom_endpoint.call_with_http_info(**kwargs) + def get_secrets_rules( + self, + ) -> SecretRuleArray: + """Returns list of Secrets rules. + + Returns list of Secrets rules with ID, Pattern, Description, Priority, and SDS ID + + :rtype: SecretRuleArray + """ + kwargs: Dict[str, Any] = {} + return self._get_secrets_rules_endpoint.call_with_http_info(**kwargs) + def get_security_filter( self, security_filter_id: str, @@ -3259,6 +3310,22 @@ def list_findings_with_pagination( } return endpoint.call_with_http_info_paginated(pagination) + def list_multiple_rulesets( + self, + body: GetMultipleRulesetsRequest, + ) -> GetMultipleRulesetsResponse: + """Ruleset get multiple. + + Get rules for multiple rulesets in batch. + + :type body: GetMultipleRulesetsRequest + :rtype: GetMultipleRulesetsResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._list_multiple_rulesets_endpoint.call_with_http_info(**kwargs) + def list_scanned_assets_metadata( self, *, diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_request.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_request.py new file mode 100644 index 0000000000..2eb88d20ff --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_request.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_request_data import GetMultipleRulesetsRequestData + + +class GetMultipleRulesetsRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_request_data import GetMultipleRulesetsRequestData + + return { + "data": (GetMultipleRulesetsRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[GetMultipleRulesetsRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: GetMultipleRulesetsRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data.py new file mode 100644 index 0000000000..543423629a --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data.py @@ -0,0 +1,70 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_request_data_attributes import ( + GetMultipleRulesetsRequestDataAttributes, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_request_data_type import GetMultipleRulesetsRequestDataType + + +class GetMultipleRulesetsRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_request_data_attributes import ( + GetMultipleRulesetsRequestDataAttributes, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_request_data_type import ( + GetMultipleRulesetsRequestDataType, + ) + + return { + "attributes": (GetMultipleRulesetsRequestDataAttributes,), + "id": (str,), + "type": (GetMultipleRulesetsRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: GetMultipleRulesetsRequestDataType, + attributes: Union[GetMultipleRulesetsRequestDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: GetMultipleRulesetsRequestDataAttributes, optional + + :param id: + :type id: str, optional + + :param type: Get multiple rulesets request resource type. + :type type: GetMultipleRulesetsRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_attributes.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_attributes.py new file mode 100644 index 0000000000..519830e923 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_attributes.py @@ -0,0 +1,56 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class GetMultipleRulesetsRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "include_testing_rules": (bool,), + "include_tests": (bool,), + "rulesets": ([str],), + } + + attribute_map = { + "include_testing_rules": "include_testing_rules", + "include_tests": "include_tests", + "rulesets": "rulesets", + } + + def __init__( + self_, + include_testing_rules: Union[bool, UnsetType] = unset, + include_tests: Union[bool, UnsetType] = unset, + rulesets: Union[List[str], UnsetType] = unset, + **kwargs, + ): + """ + + + :param include_testing_rules: + :type include_testing_rules: bool, optional + + :param include_tests: + :type include_tests: bool, optional + + :param rulesets: + :type rulesets: [str], optional + """ + if include_testing_rules is not unset: + kwargs["include_testing_rules"] = include_testing_rules + if include_tests is not unset: + kwargs["include_tests"] = include_tests + if rulesets is not unset: + kwargs["rulesets"] = rulesets + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_type.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_type.py new file mode 100644 index 0000000000..027956b752 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_request_data_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class GetMultipleRulesetsRequestDataType(ModelSimple): + """ + Get multiple rulesets request resource type. + + :param value: If omitted defaults to "get_multiple_rulesets_request". Must be one of ["get_multiple_rulesets_request"]. + :type value: str + """ + + allowed_values = { + "get_multiple_rulesets_request", + } + GET_MULTIPLE_RULESETS_REQUEST: ClassVar["GetMultipleRulesetsRequestDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +GetMultipleRulesetsRequestDataType.GET_MULTIPLE_RULESETS_REQUEST = GetMultipleRulesetsRequestDataType( + "get_multiple_rulesets_request" +) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response.py new file mode 100644 index 0000000000..7b3d129e5a --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_response_data import GetMultipleRulesetsResponseData + + +class GetMultipleRulesetsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_response_data import GetMultipleRulesetsResponseData + + return { + "data": (GetMultipleRulesetsResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[GetMultipleRulesetsResponseData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: GetMultipleRulesetsResponseData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data.py new file mode 100644 index 0000000000..70eccbadba --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data.py @@ -0,0 +1,70 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes import ( + GetMultipleRulesetsResponseDataAttributes, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_type import GetMultipleRulesetsResponseDataType + + +class GetMultipleRulesetsResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes import ( + GetMultipleRulesetsResponseDataAttributes, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_type import ( + GetMultipleRulesetsResponseDataType, + ) + + return { + "attributes": (GetMultipleRulesetsResponseDataAttributes,), + "id": (str,), + "type": (GetMultipleRulesetsResponseDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: GetMultipleRulesetsResponseDataType, + attributes: Union[GetMultipleRulesetsResponseDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: GetMultipleRulesetsResponseDataAttributes, optional + + :param id: + :type id: str, optional + + :param type: Get multiple rulesets response resource type. + :type type: GetMultipleRulesetsResponseDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes.py new file mode 100644 index 0000000000..97a43e1ea9 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes.py @@ -0,0 +1,50 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItems, + ) + + +class GetMultipleRulesetsResponseDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItems, + ) + + return { + "rulesets": ([GetMultipleRulesetsResponseDataAttributesRulesetsItems],), + } + + attribute_map = { + "rulesets": "rulesets", + } + + def __init__( + self_, + rulesets: Union[List[GetMultipleRulesetsResponseDataAttributesRulesetsItems], UnsetType] = unset, + **kwargs, + ): + """ + + + :param rulesets: + :type rulesets: [GetMultipleRulesetsResponseDataAttributesRulesetsItems], optional + """ + if rulesets is not unset: + kwargs["rulesets"] = rulesets + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items.py new file mode 100644 index 0000000000..a4383173db --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items.py @@ -0,0 +1,88 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsData, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems, + ) + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsData, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems, + ) + + return { + "data": (GetMultipleRulesetsResponseDataAttributesRulesetsItemsData,), + "description": (str,), + "name": (str,), + "rules": ([GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems],), + "short_description": (str,), + } + + attribute_map = { + "data": "data", + "description": "description", + "name": "name", + "rules": "rules", + "short_description": "short_description", + } + + def __init__( + self_, + data: GetMultipleRulesetsResponseDataAttributesRulesetsItemsData, + description: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + rules: Union[List[GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems], UnsetType] = unset, + short_description: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: GetMultipleRulesetsResponseDataAttributesRulesetsItemsData + + :param description: + :type description: str, optional + + :param name: + :type name: str, optional + + :param rules: + :type rules: [GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems], optional + + :param short_description: + :type short_description: str, optional + """ + if description is not unset: + kwargs["description"] = description + if name is not unset: + kwargs["name"] = name + if rules is not unset: + kwargs["rules"] = rules + if short_description is not unset: + kwargs["short_description"] = short_description + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data.py new file mode 100644 index 0000000000..6764f5d7f3 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data.py @@ -0,0 +1,58 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data_type import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType, + ) + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItemsData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data_type import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType, + ) + + return { + "id": (str,), + "type": (GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: str, optional + + :param type: Rulesets resource type. + :type type: GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType + """ + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data_type.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data_type.py new file mode 100644 index 0000000000..9c3a977080 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_data_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType(ModelSimple): + """ + Rulesets resource type. + + :param value: If omitted defaults to "rulesets". Must be one of ["rulesets"]. + :type value: str + """ + + allowed_values = { + "rulesets", + } + RULESETS: ClassVar["GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType.RULESETS = ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType("rulesets") +) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items.py new file mode 100644 index 0000000000..38b25956c6 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items.py @@ -0,0 +1,259 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems, + ) + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData, + ) + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems, + ) + + return { + "arguments": ([GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems],), + "category": (str,), + "checksum": (str,), + "code": (str,), + "created_at": (datetime,), + "created_by": (str,), + "cve": (str,), + "cwe": (str,), + "data": (GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData,), + "description": (str,), + "documentation_url": (str,), + "entity_checked": (str,), + "is_published": (bool,), + "is_testing": (bool,), + "language": (str,), + "last_updated_at": (datetime,), + "last_updated_by": (str,), + "name": (str,), + "regex": (str,), + "severity": (str,), + "short_description": (str,), + "should_use_ai_fix": (bool,), + "tests": ([GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems],), + "tree_sitter_query": (str,), + "type": (str,), + } + + attribute_map = { + "arguments": "arguments", + "category": "category", + "checksum": "checksum", + "code": "code", + "created_at": "created_at", + "created_by": "created_by", + "cve": "cve", + "cwe": "cwe", + "data": "data", + "description": "description", + "documentation_url": "documentation_url", + "entity_checked": "entity_checked", + "is_published": "is_published", + "is_testing": "is_testing", + "language": "language", + "last_updated_at": "last_updated_at", + "last_updated_by": "last_updated_by", + "name": "name", + "regex": "regex", + "severity": "severity", + "short_description": "short_description", + "should_use_ai_fix": "should_use_ai_fix", + "tests": "tests", + "tree_sitter_query": "tree_sitter_query", + "type": "type", + } + + def __init__( + self_, + data: GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData, + arguments: Union[ + List[GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems], UnsetType + ] = unset, + category: Union[str, UnsetType] = unset, + checksum: Union[str, UnsetType] = unset, + code: Union[str, UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + created_by: Union[str, UnsetType] = unset, + cve: Union[str, UnsetType] = unset, + cwe: Union[str, UnsetType] = unset, + description: Union[str, UnsetType] = unset, + documentation_url: Union[str, UnsetType] = unset, + entity_checked: Union[str, UnsetType] = unset, + is_published: Union[bool, UnsetType] = unset, + is_testing: Union[bool, UnsetType] = unset, + language: Union[str, UnsetType] = unset, + last_updated_at: Union[datetime, UnsetType] = unset, + last_updated_by: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + regex: Union[str, UnsetType] = unset, + severity: Union[str, UnsetType] = unset, + short_description: Union[str, UnsetType] = unset, + should_use_ai_fix: Union[bool, UnsetType] = unset, + tests: Union[ + List[GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems], UnsetType + ] = unset, + tree_sitter_query: Union[str, UnsetType] = unset, + type: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param arguments: + :type arguments: [GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems], optional + + :param category: + :type category: str, optional + + :param checksum: + :type checksum: str, optional + + :param code: + :type code: str, optional + + :param created_at: + :type created_at: datetime, optional + + :param created_by: + :type created_by: str, optional + + :param cve: + :type cve: str, optional + + :param cwe: + :type cwe: str, optional + + :param data: + :type data: GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData + + :param description: + :type description: str, optional + + :param documentation_url: + :type documentation_url: str, optional + + :param entity_checked: + :type entity_checked: str, optional + + :param is_published: + :type is_published: bool, optional + + :param is_testing: + :type is_testing: bool, optional + + :param language: + :type language: str, optional + + :param last_updated_at: + :type last_updated_at: datetime, optional + + :param last_updated_by: + :type last_updated_by: str, optional + + :param name: + :type name: str, optional + + :param regex: + :type regex: str, optional + + :param severity: + :type severity: str, optional + + :param short_description: + :type short_description: str, optional + + :param should_use_ai_fix: + :type should_use_ai_fix: bool, optional + + :param tests: + :type tests: [GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems], optional + + :param tree_sitter_query: + :type tree_sitter_query: str, optional + + :param type: + :type type: str, optional + """ + if arguments is not unset: + kwargs["arguments"] = arguments + if category is not unset: + kwargs["category"] = category + if checksum is not unset: + kwargs["checksum"] = checksum + if code is not unset: + kwargs["code"] = code + if created_at is not unset: + kwargs["created_at"] = created_at + if created_by is not unset: + kwargs["created_by"] = created_by + if cve is not unset: + kwargs["cve"] = cve + if cwe is not unset: + kwargs["cwe"] = cwe + if description is not unset: + kwargs["description"] = description + if documentation_url is not unset: + kwargs["documentation_url"] = documentation_url + if entity_checked is not unset: + kwargs["entity_checked"] = entity_checked + if is_published is not unset: + kwargs["is_published"] = is_published + if is_testing is not unset: + kwargs["is_testing"] = is_testing + if language is not unset: + kwargs["language"] = language + if last_updated_at is not unset: + kwargs["last_updated_at"] = last_updated_at + if last_updated_by is not unset: + kwargs["last_updated_by"] = last_updated_by + if name is not unset: + kwargs["name"] = name + if regex is not unset: + kwargs["regex"] = regex + if severity is not unset: + kwargs["severity"] = severity + if short_description is not unset: + kwargs["short_description"] = short_description + if should_use_ai_fix is not unset: + kwargs["should_use_ai_fix"] = should_use_ai_fix + if tests is not unset: + kwargs["tests"] = tests + if tree_sitter_query is not unset: + kwargs["tree_sitter_query"] = tree_sitter_query + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items.py new file mode 100644 index 0000000000..5d2ae444a2 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items.py @@ -0,0 +1,43 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems(ModelNormal): + @cached_property + def openapi_types(_): + return { + "description": (str,), + "name": (str,), + } + + attribute_map = { + "description": "description", + "name": "name", + } + + def __init__(self_, description: Union[str, UnsetType] = unset, name: Union[str, UnsetType] = unset, **kwargs): + """ + + + :param description: + :type description: str, optional + + :param name: + :type name: str, optional + """ + if description is not unset: + kwargs["description"] = description + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data.py new file mode 100644 index 0000000000..2e04ceb620 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data.py @@ -0,0 +1,58 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType, + ) + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType, + ) + + return { + "id": (str,), + "type": (GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: str, optional + + :param type: Rules resource type. + :type type: GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType + """ + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type.py new file mode 100644 index 0000000000..7860b64cb7 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType(ModelSimple): + """ + Rules resource type. + + :param value: If omitted defaults to "rules". Must be one of ["rules"]. + :type value: str + """ + + allowed_values = { + "rules", + } + RULES: ClassVar["GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType.RULES = ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType("rules") +) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items.py new file mode 100644 index 0000000000..67b3f5fc68 --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems(ModelNormal): + validations = { + "annotation_count": { + "inclusive_maximum": 65535, + "inclusive_minimum": 0, + }, + } + + @cached_property + def openapi_types(_): + return { + "annotation_count": (int,), + "code": (str,), + "filename": (str,), + } + + attribute_map = { + "annotation_count": "annotation_count", + "code": "code", + "filename": "filename", + } + + def __init__( + self_, + annotation_count: Union[int, UnsetType] = unset, + code: Union[str, UnsetType] = unset, + filename: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param annotation_count: + :type annotation_count: int, optional + + :param code: + :type code: str, optional + + :param filename: + :type filename: str, optional + """ + if annotation_count is not unset: + kwargs["annotation_count"] = annotation_count + if code is not unset: + kwargs["code"] = code + if filename is not unset: + kwargs["filename"] = filename + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_type.py b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_type.py new file mode 100644 index 0000000000..fac43df10f --- /dev/null +++ b/src/datadog_api_client/v2/model/get_multiple_rulesets_response_data_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class GetMultipleRulesetsResponseDataType(ModelSimple): + """ + Get multiple rulesets response resource type. + + :param value: If omitted defaults to "get_multiple_rulesets_response". Must be one of ["get_multiple_rulesets_response"]. + :type value: str + """ + + allowed_values = { + "get_multiple_rulesets_response", + } + GET_MULTIPLE_RULESETS_RESPONSE: ClassVar["GetMultipleRulesetsResponseDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +GetMultipleRulesetsResponseDataType.GET_MULTIPLE_RULESETS_RESPONSE = GetMultipleRulesetsResponseDataType( + "get_multiple_rulesets_response" +) diff --git a/src/datadog_api_client/v2/model/secret_rule_array.py b/src/datadog_api_client/v2/model/secret_rule_array.py new file mode 100644 index 0000000000..cff8f64616 --- /dev/null +++ b/src/datadog_api_client/v2/model/secret_rule_array.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.secret_rule_data import SecretRuleData + + +class SecretRuleArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.secret_rule_data import SecretRuleData + + return { + "data": ([SecretRuleData],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[SecretRuleData], **kwargs): + """ + + + :param data: + :type data: [SecretRuleData] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/secret_rule_data.py b/src/datadog_api_client/v2/model/secret_rule_data.py new file mode 100644 index 0000000000..c9f3fc27c6 --- /dev/null +++ b/src/datadog_api_client/v2/model/secret_rule_data.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.secret_rule_data_attributes import SecretRuleDataAttributes + from datadog_api_client.v2.model.secret_rule_data_type import SecretRuleDataType + + +class SecretRuleData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.secret_rule_data_attributes import SecretRuleDataAttributes + from datadog_api_client.v2.model.secret_rule_data_type import SecretRuleDataType + + return { + "attributes": (SecretRuleDataAttributes,), + "id": (str,), + "type": (SecretRuleDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: SecretRuleDataType, + attributes: Union[SecretRuleDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: SecretRuleDataAttributes, optional + + :param id: + :type id: str, optional + + :param type: Secret rule resource type. + :type type: SecretRuleDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/secret_rule_data_attributes.py b/src/datadog_api_client/v2/model/secret_rule_data_attributes.py new file mode 100644 index 0000000000..661ffd472c --- /dev/null +++ b/src/datadog_api_client/v2/model/secret_rule_data_attributes.py @@ -0,0 +1,114 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation import ( + SecretRuleDataAttributesMatchValidation, + ) + + +class SecretRuleDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation import ( + SecretRuleDataAttributesMatchValidation, + ) + + return { + "default_included_keywords": ([str],), + "description": (str,), + "license": (str,), + "match_validation": (SecretRuleDataAttributesMatchValidation,), + "name": (str,), + "pattern": (str,), + "priority": (str,), + "sds_id": (str,), + "validators": ([str],), + } + + attribute_map = { + "default_included_keywords": "default_included_keywords", + "description": "description", + "license": "license", + "match_validation": "match_validation", + "name": "name", + "pattern": "pattern", + "priority": "priority", + "sds_id": "sds_id", + "validators": "validators", + } + + def __init__( + self_, + default_included_keywords: Union[List[str], UnsetType] = unset, + description: Union[str, UnsetType] = unset, + license: Union[str, UnsetType] = unset, + match_validation: Union[SecretRuleDataAttributesMatchValidation, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + pattern: Union[str, UnsetType] = unset, + priority: Union[str, UnsetType] = unset, + sds_id: Union[str, UnsetType] = unset, + validators: Union[List[str], UnsetType] = unset, + **kwargs, + ): + """ + + + :param default_included_keywords: + :type default_included_keywords: [str], optional + + :param description: + :type description: str, optional + + :param license: + :type license: str, optional + + :param match_validation: + :type match_validation: SecretRuleDataAttributesMatchValidation, optional + + :param name: + :type name: str, optional + + :param pattern: + :type pattern: str, optional + + :param priority: + :type priority: str, optional + + :param sds_id: + :type sds_id: str, optional + + :param validators: + :type validators: [str], optional + """ + if default_included_keywords is not unset: + kwargs["default_included_keywords"] = default_included_keywords + if description is not unset: + kwargs["description"] = description + if license is not unset: + kwargs["license"] = license + if match_validation is not unset: + kwargs["match_validation"] = match_validation + if name is not unset: + kwargs["name"] = name + if pattern is not unset: + kwargs["pattern"] = pattern + if priority is not unset: + kwargs["priority"] = priority + if sds_id is not unset: + kwargs["sds_id"] = sds_id + if validators is not unset: + kwargs["validators"] = validators + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation.py b/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation.py new file mode 100644 index 0000000000..ddadcd974a --- /dev/null +++ b/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation.py @@ -0,0 +1,123 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Dict, List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_invalid_http_status_code_items import ( + SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems, + ) + from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_valid_http_status_code_items import ( + SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems, + ) + + +class SecretRuleDataAttributesMatchValidation(ModelNormal): + validations = { + "timeout_seconds": { + "inclusive_maximum": 1.8446744073709552e19, + "inclusive_minimum": 0, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_invalid_http_status_code_items import ( + SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems, + ) + from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_valid_http_status_code_items import ( + SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems, + ) + + return { + "endpoint": (str,), + "hosts": ([str],), + "http_method": (str,), + "invalid_http_status_code": ([SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems],), + "request_headers": ({str: (str,)},), + "timeout_seconds": (int,), + "type": (str,), + "valid_http_status_code": ([SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems],), + } + + attribute_map = { + "endpoint": "endpoint", + "hosts": "hosts", + "http_method": "http_method", + "invalid_http_status_code": "invalid_http_status_code", + "request_headers": "request_headers", + "timeout_seconds": "timeout_seconds", + "type": "type", + "valid_http_status_code": "valid_http_status_code", + } + + def __init__( + self_, + endpoint: Union[str, UnsetType] = unset, + hosts: Union[List[str], UnsetType] = unset, + http_method: Union[str, UnsetType] = unset, + invalid_http_status_code: Union[ + List[SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems], UnsetType + ] = unset, + request_headers: Union[Dict[str, str], UnsetType] = unset, + timeout_seconds: Union[int, UnsetType] = unset, + type: Union[str, UnsetType] = unset, + valid_http_status_code: Union[ + List[SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems], UnsetType + ] = unset, + **kwargs, + ): + """ + + + :param endpoint: + :type endpoint: str, optional + + :param hosts: + :type hosts: [str], optional + + :param http_method: + :type http_method: str, optional + + :param invalid_http_status_code: + :type invalid_http_status_code: [SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems], optional + + :param request_headers: + :type request_headers: {str: (str,)}, optional + + :param timeout_seconds: + :type timeout_seconds: int, optional + + :param type: + :type type: str, optional + + :param valid_http_status_code: + :type valid_http_status_code: [SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems], optional + """ + if endpoint is not unset: + kwargs["endpoint"] = endpoint + if hosts is not unset: + kwargs["hosts"] = hosts + if http_method is not unset: + kwargs["http_method"] = http_method + if invalid_http_status_code is not unset: + kwargs["invalid_http_status_code"] = invalid_http_status_code + if request_headers is not unset: + kwargs["request_headers"] = request_headers + if timeout_seconds is not unset: + kwargs["timeout_seconds"] = timeout_seconds + if type is not unset: + kwargs["type"] = type + if valid_http_status_code is not unset: + kwargs["valid_http_status_code"] = valid_http_status_code + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_invalid_http_status_code_items.py b/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_invalid_http_status_code_items.py new file mode 100644 index 0000000000..ef8579db0a --- /dev/null +++ b/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_invalid_http_status_code_items.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems(ModelNormal): + validations = { + "end": { + "inclusive_maximum": 1.8446744073709552e19, + "inclusive_minimum": 0, + }, + "start": { + "inclusive_maximum": 1.8446744073709552e19, + "inclusive_minimum": 0, + }, + } + + @cached_property + def openapi_types(_): + return { + "end": (int,), + "start": (int,), + } + + attribute_map = { + "end": "end", + "start": "start", + } + + def __init__(self_, end: Union[int, UnsetType] = unset, start: Union[int, UnsetType] = unset, **kwargs): + """ + + + :param end: + :type end: int, optional + + :param start: + :type start: int, optional + """ + if end is not unset: + kwargs["end"] = end + if start is not unset: + kwargs["start"] = start + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_valid_http_status_code_items.py b/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_valid_http_status_code_items.py new file mode 100644 index 0000000000..4fa6ded114 --- /dev/null +++ b/src/datadog_api_client/v2/model/secret_rule_data_attributes_match_validation_valid_http_status_code_items.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems(ModelNormal): + validations = { + "end": { + "inclusive_maximum": 1.8446744073709552e19, + "inclusive_minimum": 0, + }, + "start": { + "inclusive_maximum": 1.8446744073709552e19, + "inclusive_minimum": 0, + }, + } + + @cached_property + def openapi_types(_): + return { + "end": (int,), + "start": (int,), + } + + attribute_map = { + "end": "end", + "start": "start", + } + + def __init__(self_, end: Union[int, UnsetType] = unset, start: Union[int, UnsetType] = unset, **kwargs): + """ + + + :param end: + :type end: int, optional + + :param start: + :type start: int, optional + """ + if end is not unset: + kwargs["end"] = end + if start is not unset: + kwargs["start"] = start + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/secret_rule_data_type.py b/src/datadog_api_client/v2/model/secret_rule_data_type.py new file mode 100644 index 0000000000..afb1d8efe3 --- /dev/null +++ b/src/datadog_api_client/v2/model/secret_rule_data_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class SecretRuleDataType(ModelSimple): + """ + Secret rule resource type. + + :param value: If omitted defaults to "secret_rule". Must be one of ["secret_rule"]. + :type value: str + """ + + allowed_values = { + "secret_rule", + } + SECRET_RULE: ClassVar["SecretRuleDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +SecretRuleDataType.SECRET_RULE = SecretRuleDataType("secret_rule") diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index b34ed37bbd..41b62c4db0 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -1697,6 +1697,42 @@ from datadog_api_client.v2.model.get_interfaces_data import GetInterfacesData from datadog_api_client.v2.model.get_interfaces_response import GetInterfacesResponse from datadog_api_client.v2.model.get_issue_include_query_parameter_item import GetIssueIncludeQueryParameterItem +from datadog_api_client.v2.model.get_multiple_rulesets_request import GetMultipleRulesetsRequest +from datadog_api_client.v2.model.get_multiple_rulesets_request_data import GetMultipleRulesetsRequestData +from datadog_api_client.v2.model.get_multiple_rulesets_request_data_attributes import ( + GetMultipleRulesetsRequestDataAttributes, +) +from datadog_api_client.v2.model.get_multiple_rulesets_request_data_type import GetMultipleRulesetsRequestDataType +from datadog_api_client.v2.model.get_multiple_rulesets_response import GetMultipleRulesetsResponse +from datadog_api_client.v2.model.get_multiple_rulesets_response_data import GetMultipleRulesetsResponseData +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes import ( + GetMultipleRulesetsResponseDataAttributes, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItems, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsData, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_data_type import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items import ( + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems, +) +from datadog_api_client.v2.model.get_multiple_rulesets_response_data_type import GetMultipleRulesetsResponseDataType from datadog_api_client.v2.model.get_resource_evaluation_filters_response import GetResourceEvaluationFiltersResponse from datadog_api_client.v2.model.get_resource_evaluation_filters_response_data import ( GetResourceEvaluationFiltersResponseData, @@ -3757,6 +3793,19 @@ from datadog_api_client.v2.model.schedule_user_type import ScheduleUserType from datadog_api_client.v2.model.scorecard_type import ScorecardType from datadog_api_client.v2.model.search_issues_include_query_parameter_item import SearchIssuesIncludeQueryParameterItem +from datadog_api_client.v2.model.secret_rule_array import SecretRuleArray +from datadog_api_client.v2.model.secret_rule_data import SecretRuleData +from datadog_api_client.v2.model.secret_rule_data_attributes import SecretRuleDataAttributes +from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation import ( + SecretRuleDataAttributesMatchValidation, +) +from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_invalid_http_status_code_items import ( + SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems, +) +from datadog_api_client.v2.model.secret_rule_data_attributes_match_validation_valid_http_status_code_items import ( + SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems, +) +from datadog_api_client.v2.model.secret_rule_data_type import SecretRuleDataType from datadog_api_client.v2.model.security_filter import SecurityFilter from datadog_api_client.v2.model.security_filter_attributes import SecurityFilterAttributes from datadog_api_client.v2.model.security_filter_create_attributes import SecurityFilterCreateAttributes @@ -5941,6 +5990,22 @@ "GetInterfacesData", "GetInterfacesResponse", "GetIssueIncludeQueryParameterItem", + "GetMultipleRulesetsRequest", + "GetMultipleRulesetsRequestData", + "GetMultipleRulesetsRequestDataAttributes", + "GetMultipleRulesetsRequestDataType", + "GetMultipleRulesetsResponse", + "GetMultipleRulesetsResponseData", + "GetMultipleRulesetsResponseDataAttributes", + "GetMultipleRulesetsResponseDataAttributesRulesetsItems", + "GetMultipleRulesetsResponseDataAttributesRulesetsItemsData", + "GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType", + "GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems", + "GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems", + "GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData", + "GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType", + "GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems", + "GetMultipleRulesetsResponseDataType", "GetResourceEvaluationFiltersResponse", "GetResourceEvaluationFiltersResponseData", "GetRuleVersionHistoryData", @@ -7375,6 +7440,13 @@ "ScheduleUserType", "ScorecardType", "SearchIssuesIncludeQueryParameterItem", + "SecretRuleArray", + "SecretRuleData", + "SecretRuleDataAttributes", + "SecretRuleDataAttributesMatchValidation", + "SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems", + "SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems", + "SecretRuleDataType", "SecurityFilter", "SecurityFilterAttributes", "SecurityFilterCreateAttributes", diff --git a/tests/v2/features/security_monitoring.feature b/tests/v2/features/security_monitoring.feature index 703fc3e460..2937151efb 100644 --- a/tests/v2/features/security_monitoring.feature +++ b/tests/v2/features/security_monitoring.feature @@ -5,9 +5,9 @@ Feature: Security Monitoring information. Background: - Given a valid "apiKeyAuth" key in the system + Given an instance of "SecurityMonitoring" API + And a valid "apiKeyAuth" key in the system And a valid "appKeyAuth" key in the system - And an instance of "SecurityMonitoring" API @team:DataDog/k9-cloud-security-platform Scenario: Cancel a historical job returns "Bad Request" response @@ -1295,6 +1295,21 @@ Feature: Security Monitoring When the request is sent Then the response status is 422 The server cannot process the request because it contains invalid data. + @generated @skip @team:DataDog/asm-vm + Scenario: Returns list of Secrets rules returns "OK" response + Given operation "GetSecretsRules" enabled + And new "GetSecretsRules" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/asm-vm + Scenario: Ruleset get multiple returns "OK" response + Given operation "ListMultipleRulesets" enabled + And new "ListMultipleRulesets" request + And body with value {"data": {"attributes": {"rulesets": []}, "type": "get_multiple_rulesets_request"}} + When the request is sent + Then the response status is 200 OK + @team:DataDog/k9-cloud-security-platform Scenario: Run a threat hunting job returns "Bad Request" response Given operation "RunThreatHuntingJob" enabled diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index eb1380ab6b..cd58e7f6da 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -4005,6 +4005,20 @@ "type": "safe" } }, + "ListMultipleRulesets": { + "tag": "Security Monitoring", + "undo": { + "operationId": "TODO", + "parameters": [], + "type": "unsafe" + } + }, + "GetSecretsRules": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, "GetOnDemandConcurrencyCap": { "tag": "Synthetics", "undo": {