From 1b359f378f7c22065c5560547dcca1f70effe926 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Tue, 20 Jan 2026 14:19:21 +0000 Subject: [PATCH] Regenerate client from commit 62c64be of spec repo --- .generator/schemas/v2/openapi.yaml | 2667 ++++++++++++++--- docs/datadog_api_client.v2.api.rst | 7 + docs/datadog_api_client.v2.model.rst | 943 +++++- ...curityMonitoringSuppressions_1315707136.py | 24 + ...curityMonitoringSuppressions_1741429096.py | 24 + ...curityMonitoringSuppressions_3985905558.py | 24 + examples/v2/status-pages/CreateComponent.py | 35 + examples/v2/status-pages/CreateDegradation.py | 52 + examples/v2/status-pages/CreateStatusPage.py | 54 + examples/v2/status-pages/DeleteComponent.py | 19 + examples/v2/status-pages/DeleteDegradation.py | 21 + examples/v2/status-pages/DeleteStatusPage.py | 17 + examples/v2/status-pages/GetComponent.py | 21 + examples/v2/status-pages/GetDegradation.py | 23 + examples/v2/status-pages/GetStatusPage.py | 19 + examples/v2/status-pages/ListComponents.py | 19 + examples/v2/status-pages/ListDegradations.py | 13 + examples/v2/status-pages/ListStatusPages.py | 13 + examples/v2/status-pages/UpdateComponent.py | 34 + examples/v2/status-pages/UpdateDegradation.py | 36 + examples/v2/status-pages/UpdateStatusPage.py | 31 + .../v2/synthetics/CreateSyntheticsSuite.py | 35 - .../v2/synthetics/DeleteSyntheticsSuites.py | 28 - examples/v2/synthetics/EditSyntheticsSuite.py | 44 - examples/v2/synthetics/GetSyntheticsSuite.py | 15 - examples/v2/synthetics/SearchSuites.py | 13 - .../v2/api/security_monitoring_api.py | 45 +- .../v2/api/status_pages_api.py | 955 ++++++ .../v2/api/synthetics_api.py | 248 +- src/datadog_api_client/v2/apis/__init__.py | 2 + ...esponse.py => create_component_request.py} | 14 +- .../v2/model/create_component_request_data.py | 74 + ...reate_component_request_data_attributes.py | 78 + ...equest_data_attributes_components_items.py | 58 + ...component_request_data_attributes_type.py} | 18 +- ...te_component_request_data_relationships.py | 46 + ...ponent_request_data_relationships_group.py | 45 + ...t_request_data_relationships_group_data.py | 49 + ...ponse.py => create_degradation_request.py} | 16 +- .../model/create_degradation_request_data.py | 60 + ...ate_degradation_request_data_attributes.py | 78 + ...ta_attributes_components_affected_items.py | 65 + ...radation_request_data_attributes_status.py | 46 + ...ponse.py => create_status_page_request.py} | 16 +- .../model/create_status_page_request_data.py | 60 + ...ate_status_page_request_data_attributes.py | 130 + ...equest_data_attributes_components_items.py | 107 + ...butes_components_items_components_items.py | 93 + ...tatus_page_request_data_attributes_type.py | 38 + ...uest_data_attributes_visualization_type.py | 47 + .../v2/model/degradation.py | 60 + .../v2/model/degradation_array.py | 73 + .../v2/model/degradation_array_included.py | 49 + .../v2/model/degradation_data.py | 75 + .../v2/model/degradation_data_attributes.py | 111 + ...ta_attributes_components_affected_items.py | 65 + ...gradation_data_attributes_updates_items.py | 105 + ...updates_items_components_affected_items.py | 65 + .../model/degradation_data_relationships.py | 78 + ...tion_data_relationships_created_by_user.py | 44 + ...data_relationships_created_by_user_data.py | 46 + ...ata_relationships_last_modified_by_user.py | 44 + ...elationships_last_modified_by_user_data.py | 46 + ...adation_data_relationships_status_page.py} | 16 +- ...ion_data_relationships_status_page_data.py | 47 + .../v2/model/deleted_suite_response_data.py | 66 - .../deleted_suite_response_data_attributes.py | 43 - .../v2/model/deleted_suites_request_delete.py | 68 - ...eleted_suites_request_delete_attributes.py | 43 - .../v2/model/patch_component_request.py | 42 + .../v2/model/patch_component_request_data.py | 67 + ...patch_component_request_data_attributes.py | 43 + .../v2/model/patch_degradation_request.py | 42 + .../model/patch_degradation_request_data.py | 69 + ...tch_degradation_request_data_attributes.py | 82 + ...ta_attributes_components_affected_items.py | 65 + ...radation_request_data_attributes_status.py | 44 + .../patch_degradation_request_data_type.py | 35 + .../v2/model/patch_status_page_request.py | 42 + .../model/patch_status_page_request_data.py | 69 + ...tch_status_page_request_data_attributes.py | 120 + ...itoring_paginated_suppressions_response.py | 56 + .../security_monitoring_suppression_sort.py | 62 + .../security_monitoring_suppressions_meta.py | 46 + ...urity_monitoring_suppressions_page_meta.py | 56 + .../v2/model/status_page.py | 57 + .../v2/model/status_page_array.py | 70 + .../v2/model/status_page_array_included.py | 44 + .../v2/model/status_page_as_included.py | 75 + .../status_page_as_included_attributes.py | 175 ++ ...as_included_attributes_components_items.py | 107 + ...butes_components_items_components_items.py | 93 + .../status_page_as_included_relationships.py | 64 + ..._included_relationships_created_by_user.py | 44 + ...uded_relationships_created_by_user_data.py | 46 + ...ded_relationships_last_modified_by_user.py | 44 + ...elationships_last_modified_by_user_data.py | 46 + .../v2/model/status_page_data.py | 75 + .../v2/model/status_page_data_attributes.py | 176 ++ ...s_page_data_attributes_components_items.py | 106 + ...butes_components_items_components_items.py | 92 + .../model/status_page_data_relationships.py | 64 + ...age_data_relationships_created_by_user.py} | 16 +- ...data_relationships_created_by_user_data.py | 46 + ...ata_relationships_last_modified_by_user.py | 44 + ...elationships_last_modified_by_user_data.py | 46 + ...uite_types.py => status_page_data_type.py} | 12 +- .../v2/model/status_pages_component.py | 66 + .../v2/model/status_pages_component_array.py | 66 + .../status_pages_component_array_included.py | 51 + .../v2/model/status_pages_component_data.py | 81 + .../status_pages_component_data_attributes.py | 111 + ...ponent_data_attributes_components_items.py | 93 + ..._pages_component_data_attributes_status.py | 44 + ...atus_pages_component_data_relationships.py | 92 + ...nent_data_relationships_created_by_user.py | 44 + ...data_relationships_created_by_user_data.py | 46 + ...ages_component_data_relationships_group.py | 45 + ...component_data_relationships_group_data.py | 49 + ...ata_relationships_last_modified_by_user.py | 44 + ...elationships_last_modified_by_user_data.py | 46 + ...omponent_data_relationships_status_page.py | 44 + ...ent_data_relationships_status_page_data.py | 47 + .../v2/model/status_pages_component_group.py | 81 + ...status_pages_component_group_attributes.py | 111 + ...onent_group_attributes_components_items.py | 93 + ...roup_attributes_components_items_status.py | 52 + ..._group_attributes_components_items_type.py | 37 + ...tus_pages_component_group_relationships.py | 92 + ...ent_group_relationships_created_by_user.py | 44 + ...roup_relationships_created_by_user_data.py | 46 + ...ges_component_group_relationships_group.py | 45 + ...omponent_group_relationships_group_data.py | 49 + ...oup_relationships_last_modified_by_user.py | 44 + ...elationships_last_modified_by_user_data.py | 46 + ...mponent_group_relationships_status_page.py | 44 + ...nt_group_relationships_status_page_data.py | 47 + ...y => status_pages_component_group_type.py} | 12 +- .../v2/model/status_pages_pagination.py | 103 + ...ype.py => status_pages_pagination_type.py} | 10 +- .../v2/model/status_pages_response_meta.py | 42 + .../v2/model/status_pages_user.py | 65 + .../v2/model/status_pages_user_attributes.py | 72 + ...uite_type.py => status_pages_user_type.py} | 12 +- .../v2/model/suite_create_edit.py | 48 - .../v2/model/synthetics_suite.py | 107 - .../v2/model/synthetics_suite_options.py | 43 - .../model/synthetics_suite_response_data.py | 67 - .../synthetics_suite_search_response_data.py | 69 - ...s_suite_search_response_data_attributes.py | 57 - .../v2/model/synthetics_suite_test.py | 58 - src/datadog_api_client/v2/models/__init__.py | 382 ++- ..._component_returns_created_response.frozen | 1 + ...te_component_returns_created_response.yaml | 68 + ...egradation_returns_created_response.frozen | 1 + ..._degradation_returns_created_response.yaml | 73 + ...tatus_page_returns_created_response.frozen | 1 + ..._status_page_returns_created_response.yaml | 36 + ...uppression_rule_returns_ok_response.frozen | 2 +- ..._suppression_rule_returns_ok_response.yaml | 14 +- ...mponent_returns_no_content_response.frozen | 1 + ...component_returns_no_content_response.yaml | 50 + ...adation_returns_no_content_response.frozen | 1 + ...gradation_returns_no_content_response.yaml | 89 + ...us_page_returns_no_content_response.frozen | 1 + ...atus_page_returns_no_content_response.yaml | 52 + ...uppression_rule_returns_ok_response.frozen | 2 +- ..._suppression_rule_returns_ok_response.yaml | 17 +- ...version_history_returns_ok_response.frozen | 2 +- ...s_version_history_returns_ok_response.yaml | 17 +- ...returns_ok_response_with_pagination.frozen | 1 + ...s_returns_ok_response_with_pagination.yaml | 87 + ...rns_ok_response_with_sort_ascending.frozen | 1 + ...turns_ok_response_with_sort_ascending.yaml | 88 + ...ns_ok_response_with_sort_descending.frozen | 1 + ...urns_ok_response_with_sort_descending.yaml | 88 + ...t_get_component_returns_ok_response.frozen | 1 + ...est_get_component_returns_ok_response.yaml | 52 + ...get_degradation_returns_ok_response.frozen | 1 + ...t_get_degradation_returns_ok_response.yaml | 92 + ...get_status_page_returns_ok_response.frozen | 1 + ...t_get_status_page_returns_ok_response.yaml | 53 + ...list_components_returns_ok_response.frozen | 1 + ...t_list_components_returns_ok_response.yaml | 52 + ...st_degradations_returns_ok_response.frozen | 1 + ...list_degradations_returns_ok_response.yaml | 92 + ...st_status_pages_returns_ok_response.frozen | 1 + ...list_status_pages_returns_ok_response.yaml | 53 + ...nthetics_suites_returns_ok_response.frozen | 1 - ...synthetics_suites_returns_ok_response.yaml | 79 - ...te_a_test_suite_returns_ok_response.frozen | 1 - ...eate_a_test_suite_returns_ok_response.yaml | 47 - ...uppression_rule_returns_ok_response.frozen | 2 +- ..._suppression_rule_returns_ok_response.yaml | 19 +- ...pdate_component_returns_ok_response.frozen | 1 + ..._update_component_returns_ok_response.yaml | 55 + ...ate_degradation_returns_ok_response.frozen | 1 + ...pdate_degradation_returns_ok_response.yaml | 94 + ...ate_status_page_returns_ok_response.frozen | 1 + ...pdate_status_page_returns_ok_response.yaml | 55 + tests/v2/features/given.json | 42 +- tests/v2/features/security_monitoring.feature | 34 + tests/v2/features/status_pages.feature | 148 + tests/v2/features/synthetics.feature | 70 - tests/v2/features/undo.json | 114 +- 205 files changed, 13119 insertions(+), 1931 deletions(-) create mode 100644 examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1315707136.py create mode 100644 examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1741429096.py create mode 100644 examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_3985905558.py create mode 100644 examples/v2/status-pages/CreateComponent.py create mode 100644 examples/v2/status-pages/CreateDegradation.py create mode 100644 examples/v2/status-pages/CreateStatusPage.py create mode 100644 examples/v2/status-pages/DeleteComponent.py create mode 100644 examples/v2/status-pages/DeleteDegradation.py create mode 100644 examples/v2/status-pages/DeleteStatusPage.py create mode 100644 examples/v2/status-pages/GetComponent.py create mode 100644 examples/v2/status-pages/GetDegradation.py create mode 100644 examples/v2/status-pages/GetStatusPage.py create mode 100644 examples/v2/status-pages/ListComponents.py create mode 100644 examples/v2/status-pages/ListDegradations.py create mode 100644 examples/v2/status-pages/ListStatusPages.py create mode 100644 examples/v2/status-pages/UpdateComponent.py create mode 100644 examples/v2/status-pages/UpdateDegradation.py create mode 100644 examples/v2/status-pages/UpdateStatusPage.py delete mode 100644 examples/v2/synthetics/CreateSyntheticsSuite.py delete mode 100644 examples/v2/synthetics/DeleteSyntheticsSuites.py delete mode 100644 examples/v2/synthetics/EditSyntheticsSuite.py delete mode 100644 examples/v2/synthetics/GetSyntheticsSuite.py delete mode 100644 examples/v2/synthetics/SearchSuites.py create mode 100644 src/datadog_api_client/v2/api/status_pages_api.py rename src/datadog_api_client/v2/model/{deleted_suites_response.py => create_component_request.py} (57%) create mode 100644 src/datadog_api_client/v2/model/create_component_request_data.py create mode 100644 src/datadog_api_client/v2/model/create_component_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/create_component_request_data_attributes_components_items.py rename src/datadog_api_client/v2/model/{synthetics_suite_test_alerting_criticality.py => create_component_request_data_attributes_type.py} (51%) create mode 100644 src/datadog_api_client/v2/model/create_component_request_data_relationships.py create mode 100644 src/datadog_api_client/v2/model/create_component_request_data_relationships_group.py create mode 100644 src/datadog_api_client/v2/model/create_component_request_data_relationships_group_data.py rename src/datadog_api_client/v2/model/{synthetics_suite_search_response.py => create_degradation_request.py} (53%) create mode 100644 src/datadog_api_client/v2/model/create_degradation_request_data.py create mode 100644 src/datadog_api_client/v2/model/create_degradation_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/create_degradation_request_data_attributes_components_affected_items.py create mode 100644 src/datadog_api_client/v2/model/create_degradation_request_data_attributes_status.py rename src/datadog_api_client/v2/model/{synthetics_suite_response.py => create_status_page_request.py} (58%) create mode 100644 src/datadog_api_client/v2/model/create_status_page_request_data.py create mode 100644 src/datadog_api_client/v2/model/create_status_page_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items.py create mode 100644 src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items_components_items.py create mode 100644 src/datadog_api_client/v2/model/create_status_page_request_data_attributes_type.py create mode 100644 src/datadog_api_client/v2/model/create_status_page_request_data_attributes_visualization_type.py create mode 100644 src/datadog_api_client/v2/model/degradation.py create mode 100644 src/datadog_api_client/v2/model/degradation_array.py create mode 100644 src/datadog_api_client/v2/model/degradation_array_included.py create mode 100644 src/datadog_api_client/v2/model/degradation_data.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_attributes_components_affected_items.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_attributes_updates_items_components_affected_items.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_relationships.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user_data.py rename src/datadog_api_client/v2/model/{suite_create_edit_request.py => degradation_data_relationships_status_page.py} (52%) create mode 100644 src/datadog_api_client/v2/model/degradation_data_relationships_status_page_data.py delete mode 100644 src/datadog_api_client/v2/model/deleted_suite_response_data.py delete mode 100644 src/datadog_api_client/v2/model/deleted_suite_response_data_attributes.py delete mode 100644 src/datadog_api_client/v2/model/deleted_suites_request_delete.py delete mode 100644 src/datadog_api_client/v2/model/deleted_suites_request_delete_attributes.py create mode 100644 src/datadog_api_client/v2/model/patch_component_request.py create mode 100644 src/datadog_api_client/v2/model/patch_component_request_data.py create mode 100644 src/datadog_api_client/v2/model/patch_component_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/patch_degradation_request.py create mode 100644 src/datadog_api_client/v2/model/patch_degradation_request_data.py create mode 100644 src/datadog_api_client/v2/model/patch_degradation_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_components_affected_items.py create mode 100644 src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_status.py create mode 100644 src/datadog_api_client/v2/model/patch_degradation_request_data_type.py create mode 100644 src/datadog_api_client/v2/model/patch_status_page_request.py create mode 100644 src/datadog_api_client/v2/model/patch_status_page_request_data.py create mode 100644 src/datadog_api_client/v2/model/patch_status_page_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/security_monitoring_paginated_suppressions_response.py create mode 100644 src/datadog_api_client/v2/model/security_monitoring_suppression_sort.py create mode 100644 src/datadog_api_client/v2/model/security_monitoring_suppressions_meta.py create mode 100644 src/datadog_api_client/v2/model/security_monitoring_suppressions_page_meta.py create mode 100644 src/datadog_api_client/v2/model/status_page.py create mode 100644 src/datadog_api_client/v2/model/status_page_array.py create mode 100644 src/datadog_api_client/v2/model/status_page_array_included.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_attributes.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items_components_items.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_relationships.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user.py create mode 100644 src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/status_page_data.py create mode 100644 src/datadog_api_client/v2/model/status_page_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/status_page_data_attributes_components_items.py create mode 100644 src/datadog_api_client/v2/model/status_page_data_attributes_components_items_components_items.py create mode 100644 src/datadog_api_client/v2/model/status_page_data_relationships.py rename src/datadog_api_client/v2/model/{deleted_suites_request_delete_request.py => status_page_data_relationships_created_by_user.py} (51%) create mode 100644 src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user.py create mode 100644 src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user_data.py rename src/datadog_api_client/v2/model/{synthetics_suite_types.py => status_page_data_type.py} (64%) create mode 100644 src/datadog_api_client/v2/model/status_pages_component.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_array.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_array_included.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_attributes_components_items.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_group.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_group_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_attributes.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_type.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_group.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_group_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page.py create mode 100644 src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page_data.py rename src/datadog_api_client/v2/model/{deleted_suites_request_type.py => status_pages_component_group_type.py} (61%) create mode 100644 src/datadog_api_client/v2/model/status_pages_pagination.py rename src/datadog_api_client/v2/model/{suite_search_response_type.py => status_pages_pagination_type.py} (65%) create mode 100644 src/datadog_api_client/v2/model/status_pages_response_meta.py create mode 100644 src/datadog_api_client/v2/model/status_pages_user.py create mode 100644 src/datadog_api_client/v2/model/status_pages_user_attributes.py rename src/datadog_api_client/v2/model/{synthetics_suite_type.py => status_pages_user_type.py} (67%) delete mode 100644 src/datadog_api_client/v2/model/suite_create_edit.py delete mode 100644 src/datadog_api_client/v2/model/synthetics_suite.py delete mode 100644 src/datadog_api_client/v2/model/synthetics_suite_options.py delete mode 100644 src/datadog_api_client/v2/model/synthetics_suite_response_data.py delete mode 100644 src/datadog_api_client/v2/model/synthetics_suite_search_response_data.py delete mode 100644 src/datadog_api_client/v2/model/synthetics_suite_search_response_data_attributes.py delete mode 100644 src/datadog_api_client/v2/model/synthetics_suite_test.py create mode 100644 tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.yaml delete mode 100644 tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.frozen delete mode 100644 tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.yaml delete mode 100644 tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.frozen delete mode 100644 tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.yaml create mode 100644 tests/v2/features/status_pages.feature diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index d649e72947..f7321bfc70 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -13108,6 +13108,123 @@ components: - findings - project type: object + CreateComponentRequest: + example: + data: + attributes: + name: Metrics Intake + position: 0 + type: component + relationships: + group: + data: null + type: components + properties: + data: + $ref: '#/components/schemas/CreateComponentRequestData' + type: object + CreateComponentRequestData: + properties: + attributes: + $ref: '#/components/schemas/CreateComponentRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateComponentRequestDataRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + CreateComponentRequestDataAttributes: + description: The supported attributes for creating a component. + properties: + components: + description: If creating a component of type `group`, the components to + create within the group. + example: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component + items: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesComponentsItems' + type: array + name: + description: The name of the component. + example: Web App + type: string + position: + description: The zero-indexed position of the component. + example: 0 + format: int64 + type: integer + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + description: The type of the component. + example: group + required: + - name + - position + - type + type: object + CreateComponentRequestDataAttributesComponentsItems: + properties: + name: + description: The name of the grouped component. + example: '' + type: string + position: + description: The zero-indexed position of the grouped component relative + to the other components in the group. + example: 0 + format: int64 + type: integer + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + required: + - name + - position + - type + type: object + CreateComponentRequestDataAttributesType: + description: The type of the component. + enum: + - component + - group + example: component + type: string + x-enum-varnames: + - COMPONENT + - GROUP + CreateComponentRequestDataRelationships: + description: The supported relationships for creating a component. + properties: + group: + $ref: '#/components/schemas/CreateComponentRequestDataRelationshipsGroup' + description: The group to create the component within. + type: object + CreateComponentRequestDataRelationshipsGroup: + properties: + data: + $ref: '#/components/schemas/CreateComponentRequestDataRelationshipsGroupData' + required: + - data + type: object + CreateComponentRequestDataRelationshipsGroupData: + nullable: true + properties: + id: + description: The ID of the group. + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id + type: object CreateConnectionRequest: example: data: @@ -13278,6 +13395,90 @@ components: meta: $ref: '#/components/schemas/DataDeletionResponseMeta' type: object + CreateDegradationRequest: + example: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + description: Our API is experiencing elevated latency. We are investigating + the issue. + status: investigating + title: Elevated API Latency + type: degradations + properties: + data: + $ref: '#/components/schemas/CreateDegradationRequestData' + type: object + CreateDegradationRequestData: + properties: + attributes: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributes' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + CreateDegradationRequestDataAttributes: + description: The supported attributes for creating a degradation. + properties: + components_affected: + description: The components affected by the degradation. + example: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + items: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesComponentsAffectedItems' + type: array + description: + description: The description of the degradation. + example: Our API is experiencing elevated latency. We are investigating + the issue. + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + description: The status of the degradation. + example: investigating + title: + description: The title of the degradation. + example: Elevated API Latency + type: string + required: + - components_affected + - status + - title + type: object + CreateDegradationRequestDataAttributesComponentsAffectedItems: + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: '' + format: uuid + type: string + name: + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status + type: object + CreateDegradationRequestDataAttributesStatus: + description: The status of the degradation. + enum: + - investigating + - identified + - monitoring + - resolved + example: investigating + type: string + x-enum-varnames: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED CreateDeploymentGateParams: description: Parameters for creating a deployment gate. properties: @@ -13931,6 +14132,186 @@ components: type: string x-enum-varnames: - CREATE_RULESET + CreateStatusPageRequest: + example: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + components: + - name: API + position: 0 + type: component + - components: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component + name: Web App + position: 1 + type: group + - name: Webhooks + position: 2 + type: component + domain_prefix: status-page-us1 + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + enabled: true + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 + subscriptions_enabled: true + type: public + visualization_type: bars_and_uptime_percentage + type: status_pages + properties: + data: + $ref: '#/components/schemas/CreateStatusPageRequestData' + type: object + CreateStatusPageRequestData: + properties: + attributes: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributes' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + CreateStatusPageRequestDataAttributes: + description: The supported attributes for creating a status page. + properties: + company_logo: + description: The base64-encoded image data displayed on the status page. + example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + type: string + components: + description: The components displayed on the status page. + example: + - components: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component + name: Web App + position: 0 + type: group + - name: API + position: 1 + type: component + - name: Webhooks + position: 2 + type: component + items: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesComponentsItems' + type: array + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. + Globally unique across Datadog Status Pages. + example: status-page-us1 + type: string + email_header_image: + description: Base64-encoded image data included in email notifications sent + to status page subscribers. + example: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + type: string + enabled: + description: Whether the status page is enabled. + example: true + type: boolean + favicon: + description: Base64-encoded image data displayed in the browser tab. + example: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + type: string + name: + description: The name of the status page. + example: Status Page US1 + type: string + subscriptions_enabled: + description: Whether users can subscribe to the status page. + example: true + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + example: public + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + example: bars_and_uptime_percentage + required: + - domain_prefix + - enabled + - name + - type + - visualization_type + type: object + CreateStatusPageRequestDataAttributesComponentsItems: + properties: + components: + description: If creating a component of type `group`, the components to + create within the group. + items: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems' + type: array + id: + description: The ID of the component. + format: uuid + readOnly: true + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + type: object + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems: + properties: + id: + description: The ID of the grouped component. + format: uuid + readOnly: true + type: string + name: + description: The name of the grouped component. + type: string + position: + description: The zero-indexed position of the grouped component. Relative + to the other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + CreateStatusPageRequestDataAttributesType: + description: The type of the status page controlling how the status page is + accessed. + enum: + - public + - internal + example: public + type: string + x-enum-varnames: + - PUBLIC + - INTERNAL + CreateStatusPageRequestDataAttributesVisualizationType: + description: The visualization type of the status page. + enum: + - bars_and_uptime_percentage + - bars_only + - component_name_only + example: bars_and_uptime_percentage + type: string + x-enum-varnames: + - BARS_AND_UPTIME_PERCENTAGE + - BARS_ONLY + - COMPONENT_NAME_ONLY CreateTableRequest: description: Request body for creating a new reference table from a local file or cloud storage. @@ -17300,6 +17681,217 @@ components: example: 1722439510282 format: int64 type: integer + Degradation: + properties: + data: + $ref: '#/components/schemas/DegradationData' + included: + description: The included related resources of a degradation. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationArrayIncluded' + type: array + type: object + DegradationArray: + properties: + data: + items: + $ref: '#/components/schemas/DegradationData' + type: array + included: + description: The included related resources of a degradation. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationArrayIncluded' + type: array + meta: + $ref: '#/components/schemas/StatusPagesResponseMeta' + required: + - data + type: object + DegradationArrayIncluded: + oneOf: + - $ref: '#/components/schemas/StatusPagesUser' + - $ref: '#/components/schemas/StatusPageAsIncluded' + DegradationData: + properties: + attributes: + $ref: '#/components/schemas/DegradationDataAttributes' + id: + description: The ID of the degradation. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/DegradationDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + DegradationDataAttributes: + description: The attributes of a degradation. + properties: + components_affected: + description: Components affected by the degradation. + items: + $ref: '#/components/schemas/DegradationDataAttributesComponentsAffectedItems' + type: array + created_at: + description: Timestamp of when the degradation was created. + format: date-time + type: string + description: + description: Description of the degradation. + type: string + modified_at: + description: Timestamp of when the degradation was last modified. + format: date-time + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + title: + description: Title of the degradation. + type: string + updates: + description: Past updates made to the degradation. + items: + $ref: '#/components/schemas/DegradationDataAttributesUpdatesItems' + type: array + type: object + DegradationDataAttributesComponentsAffectedItems: + properties: + id: + description: The ID of the component. + example: '' + format: uuid + type: string + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status + type: object + DegradationDataAttributesUpdatesItems: + properties: + components_affected: + description: The components affected at the time of the update. + items: + $ref: '#/components/schemas/DegradationDataAttributesUpdatesItemsComponentsAffectedItems' + type: array + created_at: + description: Timestamp of when the update was created. + format: date-time + readOnly: true + type: string + description: + description: Description of the update. + type: string + id: + description: Identifier of the update. + format: uuid + readOnly: true + type: string + modified_at: + description: Timestamp of when the update was last modified. + format: date-time + readOnly: true + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + type: object + DegradationDataAttributesUpdatesItemsComponentsAffectedItems: + properties: + id: + description: Identifier of the component affected at the time of the update. + example: '' + format: uuid + type: string + name: + description: The name of the component affected at the time of the update. + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + description: The status of the component affected at the time of the update. + required: + - id + - status + type: object + DegradationDataRelationships: + description: The relationships of a degradation. + properties: + created_by_user: + $ref: '#/components/schemas/DegradationDataRelationshipsCreatedByUser' + description: The Datadog user who created the degradation. + last_modified_by_user: + $ref: '#/components/schemas/DegradationDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the degradation. + status_page: + $ref: '#/components/schemas/DegradationDataRelationshipsStatusPage' + description: The status page the degradation belongs to. + type: object + DegradationDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/DegradationDataRelationshipsCreatedByUserData' + required: + - data + type: object + DegradationDataRelationshipsCreatedByUserData: + properties: + id: + description: The ID of the Datadog user who created the degradation. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + DegradationDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/DegradationDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + DegradationDataRelationshipsLastModifiedByUserData: + properties: + id: + description: The ID of the Datadog user who last modified the degradation. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + DegradationDataRelationshipsStatusPage: + properties: + data: + $ref: '#/components/schemas/DegradationDataRelationshipsStatusPageData' + required: + - data + type: object + DegradationDataRelationshipsStatusPageData: + properties: + id: + description: The ID of the status page. + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object DeleteAppResponse: description: The response object after an app is successfully deleted. properties: @@ -17446,70 +18038,6 @@ components: required: - data type: object - DeletedSuiteResponseData: - properties: - attributes: - $ref: '#/components/schemas/DeletedSuiteResponseDataAttributes' - id: - type: string - type: - $ref: '#/components/schemas/SyntheticsSuiteTypes' - type: object - DeletedSuiteResponseDataAttributes: - properties: - deleted_at: - description: Deletion timestamp of the Synthetic suite ID. - type: string - public_id: - description: The Synthetic suite ID deleted. - type: string - type: object - DeletedSuitesRequestDelete: - properties: - attributes: - $ref: '#/components/schemas/DeletedSuitesRequestDeleteAttributes' - id: - type: string - type: - $ref: '#/components/schemas/DeletedSuitesRequestType' - required: - - attributes - type: object - DeletedSuitesRequestDeleteAttributes: - properties: - force_delete_dependencies: - type: boolean - public_ids: - example: - - '' - items: - type: string - type: array - required: - - public_ids - type: object - DeletedSuitesRequestDeleteRequest: - properties: - data: - $ref: '#/components/schemas/DeletedSuitesRequestDelete' - required: - - data - type: object - DeletedSuitesRequestType: - default: delete_suites_request - enum: - - delete_suites_request - example: delete_suites_request - type: string - x-enum-varnames: - - DELETE_SUITES_REQUEST - DeletedSuitesResponse: - properties: - data: - items: - $ref: '#/components/schemas/DeletedSuiteResponseData' - type: array - type: object DependencyLocation: description: Static library vulnerability location. properties: @@ -41874,6 +42402,136 @@ components: title: type: string type: object + PatchComponentRequest: + example: + data: + attributes: + name: Metrics Intake Service + position: 4 + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: components + properties: + data: + $ref: '#/components/schemas/PatchComponentRequestData' + type: object + PatchComponentRequestData: + properties: + attributes: + $ref: '#/components/schemas/PatchComponentRequestDataAttributes' + id: + description: The ID of the component. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + PatchComponentRequestDataAttributes: + description: The supported attributes for updating a component. + properties: + name: + description: The name of the component. + example: Web App + type: string + position: + description: The position of the component. If the component belongs to + a group, the position is relative to the other components in the group. + example: 1 + format: int64 + type: integer + type: object + PatchDegradationRequest: + example: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: We've deployed a fix and latency has returned to normal. + This issue has been resolved. + status: resolved + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: degradations + properties: + data: + $ref: '#/components/schemas/PatchDegradationRequestData' + type: object + PatchDegradationRequestData: + properties: + attributes: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributes' + id: + description: The ID of the degradation. + format: uuid + type: string + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + PatchDegradationRequestDataAttributes: + description: The supported attributes for updating a degradation. + properties: + components_affected: + description: The components affected by the degradation. + example: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + items: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributesComponentsAffectedItems' + type: array + description: + description: The description of the degradation. + example: We've deployed a fix and latency has returned to normal. This issue + has been resolved. + type: string + status: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributesStatus' + example: resolved + title: + description: The title of the degradation. + example: Elevated API Latency + type: string + type: object + PatchDegradationRequestDataAttributesComponentsAffectedItems: + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: '' + format: uuid + type: string + name: + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status + type: object + PatchDegradationRequestDataAttributesStatus: + description: The status of the degradation. + enum: + - investigating + - identified + - monitoring + - resolved + type: string + x-enum-varnames: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + PatchDegradationRequestDataType: + default: degradations + description: Degradations resource type. + enum: + - degradations + example: degradations + type: string + x-enum-varnames: + - DEGRADATIONS PatchIncidentNotificationTemplateRequest: description: Update request for a notification template. properties: @@ -41920,6 +42578,78 @@ components: version: $ref: '#/components/schemas/Version' type: object + PatchStatusPageRequest: + example: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + domain_prefix: status-page-us1-east + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + enabled: false + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 East + subscriptions_enabled: false + type: internal + visualization_type: bars_only + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: status_pages + properties: + data: + $ref: '#/components/schemas/PatchStatusPageRequestData' + type: object + PatchStatusPageRequestData: + properties: + attributes: + $ref: '#/components/schemas/PatchStatusPageRequestDataAttributes' + id: + description: The ID of the status page. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + PatchStatusPageRequestDataAttributes: + description: The supported attributes for updating a status page. + properties: + company_logo: + description: The base64-encoded image data displayed on the status page. + example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + type: string + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. + Globally unique across Datadog Status Pages. + example: status-page-us1 + type: string + email_header_image: + description: The base64-encoded image data displayed in email notifications + sent to status page subscribers. + example: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + type: string + enabled: + description: Whether the status page is enabled. + example: true + type: boolean + favicon: + description: The base64-encoded image data displayed in the browser tab. + example: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + type: string + name: + description: The name of the status page. + example: Status Page US1 + type: string + subscriptions_enabled: + description: Whether users can subscribe to the status page. + example: true + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + example: public + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + example: bars_and_uptime_percentage + type: object PatchTableRequest: description: Request body for updating an existing reference table. example: @@ -49570,6 +50300,18 @@ components: meta: $ref: '#/components/schemas/ResponseMetaAttributes' type: object + SecurityMonitoringPaginatedSuppressionsResponse: + description: Response object containing the available suppression rules with + pagination metadata. + properties: + data: + description: A list of suppressions objects. + items: + $ref: '#/components/schemas/SecurityMonitoringSuppression' + type: array + meta: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsMeta' + type: object SecurityMonitoringReferenceTable: description: Reference tables used in the queries. properties: @@ -51719,6 +52461,31 @@ components: data: $ref: '#/components/schemas/SecurityMonitoringSuppression' type: object + SecurityMonitoringSuppressionSort: + description: The sort parameters used for querying suppression rules. + enum: + - name + - start_date + - expiration_date + - update_date + - enabled + - -name + - -start_date + - -expiration_date + - -update_date + - -enabled + type: string + x-enum-varnames: + - NAME + - START_DATE + - EXPIRATION_DATE + - UPDATE_DATE + - ENABLED + - NAME_DESCENDING + - START_DATE_DESCENDING + - EXPIRATION_DATE_DESCENDING + - UPDATE_DATE_DESCENDING + - ENABLED_DESCENDING SecurityMonitoringSuppressionType: default: suppressions description: The type of the resource. The value should always be `suppressions`. @@ -51814,6 +52581,31 @@ components: required: - data type: object + SecurityMonitoringSuppressionsMeta: + description: Metadata for the suppression list response. + properties: + page: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsPageMeta' + type: object + SecurityMonitoringSuppressionsPageMeta: + description: Pagination metadata. + properties: + pageNumber: + description: Current page number. + example: 0 + format: int64 + type: integer + pageSize: + description: Current page size. + example: 2 + format: int64 + type: integer + totalCount: + description: Total count of suppressions. + example: 2 + format: int64 + type: integer + type: object SecurityMonitoringSuppressionsResponse: description: Response object containing the available suppression rules. properties: @@ -55439,6 +56231,871 @@ components: required: - type type: object + StatusPage: + properties: + data: + $ref: '#/components/schemas/StatusPageData' + included: + description: The included related resources of a status page. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPageArrayIncluded' + type: array + type: object + StatusPageArray: + properties: + data: + items: + $ref: '#/components/schemas/StatusPageData' + type: array + included: + description: The included related resources of a status page. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPageArrayIncluded' + type: array + meta: + $ref: '#/components/schemas/StatusPagesResponseMeta' + required: + - data + type: object + StatusPageArrayIncluded: + oneOf: + - $ref: '#/components/schemas/StatusPagesUser' + StatusPageAsIncluded: + description: The included status page resource. + properties: + attributes: + $ref: '#/components/schemas/StatusPageAsIncludedAttributes' + id: + description: The ID of the status page. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPageAsIncludedRelationships' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + StatusPageAsIncludedAttributes: + description: The attributes of a status page. + properties: + company_logo: + description: The base64-encoded image data displayed in the company logo. + type: string + components: + description: Components displayed on the status page. + items: + $ref: '#/components/schemas/StatusPageAsIncludedAttributesComponentsItems' + type: array + created_at: + description: Timestamp of when the status page was created. + format: date-time + type: string + custom_domain: + description: If configured, the url that the status page is accessible at. + type: string + custom_domain_enabled: + description: Whether the custom domain is configured. + type: boolean + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. + Globally unique across Datadog Status Pages. + type: string + email_header_image: + description: Base64-encoded image data included in email notifications sent + to status page subscribers. + type: string + enabled: + description: Whether the status page is enabled. + type: boolean + favicon: + description: Base64-encoded image data displayed in the browser tab. + type: string + modified_at: + description: Timestamp of when the status page was last modified. + format: date-time + type: string + name: + description: The name of the status page. + type: string + page_url: + description: The url that the status page is accessible at. + type: string + subscriptions_enabled: + description: Whether users can subscribe to the status page. + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + type: object + StatusPageAsIncludedAttributesComponentsItems: + properties: + components: + items: + $ref: '#/components/schemas/StatusPageAsIncludedAttributesComponentsItemsComponentsItems' + type: array + id: + description: The ID of the component. + format: uuid + readOnly: true + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + type: object + StatusPageAsIncludedAttributesComponentsItemsComponentsItems: + properties: + id: + description: The ID of the grouped component. + format: uuid + readOnly: true + type: string + name: + description: The name of the grouped component. + type: string + position: + description: The zero-indexed position of the grouped component. Relative + to the other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPageAsIncludedRelationships: + description: The relationships of a status page. + properties: + created_by_user: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsCreatedByUser' + description: The Datadog user who created the status page. + last_modified_by_user: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the status page. + type: object + StatusPageAsIncludedRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPageAsIncludedRelationshipsCreatedByUserData: + properties: + id: + description: The ID of the Datadog user who created the status page. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageAsIncludedRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPageAsIncludedRelationshipsLastModifiedByUserData: + properties: + id: + description: The ID of the Datadog user who last modified the status page. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageData: + properties: + attributes: + $ref: '#/components/schemas/StatusPageDataAttributes' + id: + description: The ID of the status page. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPageDataRelationships' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + StatusPageDataAttributes: + description: The attributes of a status page. + properties: + company_logo: + description: Base64-encoded image data displayed on the status page. + nullable: true + type: string + components: + description: Components displayed on the status page. + items: + $ref: '#/components/schemas/StatusPageDataAttributesComponentsItems' + type: array + created_at: + description: Timestamp of when the status page was created. + format: date-time + type: string + custom_domain: + description: If configured, the url that the status page is accessible at. + nullable: true + type: string + custom_domain_enabled: + description: Whether the custom domain is configured. + type: boolean + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. + Globally unique across Datadog Status Pages. + type: string + email_header_image: + description: Base64-encoded image data included in email notifications sent + to status page subscribers. + nullable: true + type: string + enabled: + description: Whether the status page is enabled. + type: boolean + favicon: + description: Base64-encoded image data displayed in the browser tab. + nullable: true + type: string + modified_at: + description: Timestamp of when the status page was last modified. + format: date-time + type: string + name: + description: The name of the status page. + type: string + page_url: + description: The url that the status page is accessible at. + type: string + subscriptions_enabled: + description: Whether users can subscribe to the status page. + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + type: object + StatusPageDataAttributesComponentsItems: + properties: + components: + description: If the component is of type `group`, the components within + the group. + items: + $ref: '#/components/schemas/StatusPageDataAttributesComponentsItemsComponentsItems' + type: array + id: + description: The ID of the component. + format: uuid + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + type: object + StatusPageDataAttributesComponentsItemsComponentsItems: + properties: + id: + description: The ID of the component. + format: uuid + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. Relative to the + other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPageDataRelationships: + description: The relationships of a status page. + properties: + created_by_user: + $ref: '#/components/schemas/StatusPageDataRelationshipsCreatedByUser' + description: The Datadog user who created the status page. + last_modified_by_user: + $ref: '#/components/schemas/StatusPageDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the status page. + type: object + StatusPageDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageDataRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPageDataRelationshipsCreatedByUserData: + properties: + id: + description: The ID of the Datadog user who created the status page. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPageDataRelationshipsLastModifiedByUserData: + properties: + id: + description: The ID of the Datadog user who last modified the status page. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageDataType: + default: status_pages + description: Status pages resource type. + enum: + - status_pages + example: status_pages + type: string + x-enum-varnames: + - STATUS_PAGES + StatusPagesComponent: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentData' + included: + description: The included related resources of a component. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPagesComponentArrayIncluded' + type: array + type: object + StatusPagesComponentArray: + properties: + data: + items: + $ref: '#/components/schemas/StatusPagesComponentData' + type: array + included: + description: The included related resources of a component. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPagesComponentArrayIncluded' + type: array + required: + - data + type: object + StatusPagesComponentArrayIncluded: + oneOf: + - $ref: '#/components/schemas/StatusPagesUser' + - $ref: '#/components/schemas/StatusPageAsIncluded' + - $ref: '#/components/schemas/StatusPagesComponentGroup' + StatusPagesComponentData: + properties: + attributes: + $ref: '#/components/schemas/StatusPagesComponentDataAttributes' + id: + description: The ID of the component. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPagesComponentDataRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + StatusPagesComponentDataAttributes: + description: The attributes of a component. + properties: + components: + description: If the component is of type `group`, the components within + the group. + items: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesComponentsItems' + type: array + created_at: + description: Timestamp of when the component was created. + format: date-time + type: string + modified_at: + description: Timestamp of when the component was last modified. + format: date-time + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + required: + - type + type: object + StatusPagesComponentDataAttributesComponentsItems: + properties: + id: + format: uuid + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPagesComponentDataAttributesStatus: + description: The status of the component. + enum: + - operational + - degraded + - partial_outage + - major_outage + example: operational + type: string + x-enum-varnames: + - OPERATIONAL + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + StatusPagesComponentDataRelationships: + description: The relationships of a component. + properties: + created_by_user: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsCreatedByUser' + description: The Datadog user who created the component. + group: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsGroup' + description: The group the component belongs to. + last_modified_by_user: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the component. + status_page: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsStatusPage' + description: The status page the component belongs to. + type: object + StatusPagesComponentDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsCreatedByUserData: + properties: + id: + description: The ID of the Datadog user who created the component. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentDataRelationshipsGroup: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsGroupData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsGroupData: + nullable: true + properties: + id: + description: The ID of the group the component belongs to. + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id + type: object + StatusPagesComponentDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsLastModifiedByUserData: + properties: + id: + description: The ID of the Datadog user who last modified the component. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentDataRelationshipsStatusPage: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsStatusPageData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsStatusPageData: + properties: + id: + description: The ID of the status page the component belongs to. + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object + StatusPagesComponentGroup: + description: The included component group resource. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributes' + id: + description: The ID of the component. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + StatusPagesComponentGroupAttributes: + description: The attributes of a component group. + properties: + components: + description: If the component is of type `group`, the components within + the group. + items: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItems' + type: array + created_at: + description: Timestamp of when the component was created. + format: date-time + type: string + modified_at: + description: Timestamp of when the component was last modified. + format: date-time + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + required: + - type + type: object + StatusPagesComponentGroupAttributesComponentsItems: + properties: + id: + description: The ID of the grouped component. + format: uuid + readOnly: true + type: string + name: + description: The name of the grouped component. + type: string + position: + description: The zero-indexed position of the grouped component. Relative + to the other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPagesComponentGroupAttributesComponentsItemsStatus: + description: The status of the component. + enum: + - operational + - degraded + - partial_outage + - major_outage + readOnly: true + type: string + x-enum-varnames: + - OPERATIONAL + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + StatusPagesComponentGroupAttributesComponentsItemsType: + description: The type of the component. + enum: + - component + example: component + type: string + x-enum-varnames: + - COMPONENT + StatusPagesComponentGroupRelationships: + description: The relationships of a component group. + properties: + created_by_user: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsCreatedByUser' + group: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsGroup' + last_modified_by_user: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsLastModifiedByUser' + status_page: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsStatusPage' + type: object + StatusPagesComponentGroupRelationshipsCreatedByUser: + description: The Datadog user who created the component group. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsCreatedByUserData: + properties: + id: + description: The ID of the Datadog user who created the component group. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsGroup: + description: The group the component group belongs to. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsGroupData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsGroupData: + nullable: true + properties: + id: + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the component group. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsLastModifiedByUserData: + properties: + id: + description: The ID of the Datadog user who last modified the component + group. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsStatusPage: + description: The status page the component group belongs to. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsStatusPageData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsStatusPageData: + properties: + id: + description: The ID of the status page. + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object + StatusPagesComponentGroupType: + default: components + description: Components resource type. + enum: + - components + example: components + type: string + x-enum-varnames: + - COMPONENTS + StatusPagesPagination: + description: Offset-based pagination schema. + properties: + first_offset: + description: Integer representing the offset to fetch the first page of + results. + example: 0 + format: int64 + type: integer + last_offset: + description: Integer representing the offset to fetch the last page of results. + example: 900 + format: int64 + nullable: true + type: integer + limit: + description: Integer representing the number of elements to returned in + the results. + example: 100 + format: int64 + type: integer + next_offset: + description: Integer representing the index of the first element in the + next page of results. Equal to page size added to the current offset. + example: 100 + format: int64 + nullable: true + type: integer + offset: + description: Integer representing the index of the first element in the + results. + example: 0 + format: int64 + type: integer + prev_offset: + description: Integer representing the index of the first element in the + previous page of results. + example: 100 + format: int64 + nullable: true + type: integer + total: + description: Integer representing the total number of elements available. + example: 1000 + format: int64 + nullable: true + type: integer + type: + $ref: '#/components/schemas/StatusPagesPaginationType' + type: object + StatusPagesPaginationType: + default: offset_limit + enum: + - offset_limit + example: offset_limit + type: string + x-enum-varnames: + - OFFSET_LIMIT + StatusPagesResponseMeta: + description: Response metadata. + properties: + page: + $ref: '#/components/schemas/StatusPagesPagination' + readOnly: true + type: object + StatusPagesUser: + description: The included Datadog user resource. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesUserAttributes' + id: + description: The ID of the Datadog user. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + type: object + StatusPagesUserAttributes: + description: Attributes of the Datadog user. + properties: + email: + description: The email of the Datadog user. + type: string + handle: + description: The handle of the Datadog user. + type: string + icon: + description: The icon of the Datadog user. + type: string + name: + description: The name of the Datadog user. + type: string + uuid: + description: The UUID of the Datadog user. + type: string + type: object + StatusPagesUserType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS Step: description: A Step is a sub-component of a workflow. Each Step performs an action. @@ -55497,31 +57154,6 @@ components: format: double type: number type: object - SuiteCreateEdit: - properties: - attributes: - $ref: '#/components/schemas/SyntheticsSuite' - type: - $ref: '#/components/schemas/SyntheticsSuiteTypes' - required: - - attributes - - type - type: object - SuiteCreateEditRequest: - properties: - data: - $ref: '#/components/schemas/SuiteCreateEdit' - required: - - data - type: object - SuiteSearchResponseType: - default: suites_search - enum: - - suites_search - example: suites_search - type: string - x-enum-varnames: - - SUITES_SEARCH SuppressionVersionHistory: description: Response object containing the version history of a suppression. properties: @@ -55705,149 +57337,6 @@ components: example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx type: string type: array - SyntheticsSuite: - description: Object containing details about a Synthetic suite. - properties: - message: - description: Notification message associated with the suite. - example: Notification message - type: string - monitor_id: - description: The associated monitor ID. - example: 12345678 - format: int64 - readOnly: true - type: integer - name: - description: Name of the suite. - example: Example suite name - type: string - options: - $ref: '#/components/schemas/SyntheticsSuiteOptions' - public_id: - description: The public ID for the test. - example: 123-abc-456 - readOnly: true - type: string - tags: - description: Array of tags attached to the suite. - example: - - env:production - items: - description: A tag attached to the suite. - type: string - type: array - tests: - items: - $ref: '#/components/schemas/SyntheticsSuiteTest' - type: array - type: - $ref: '#/components/schemas/SyntheticsSuiteType' - required: - - name - - type - - tests - - options - type: object - SyntheticsSuiteOptions: - description: Object describing the extra options for a Synthetic suite. - properties: - alerting_threshold: - description: Percentage of critical tests failure needed for a suite to - fail. - format: double - maximum: 1 - minimum: 0 - type: number - type: object - SyntheticsSuiteResponse: - description: Synthetics suite response - properties: - data: - $ref: '#/components/schemas/SyntheticsSuiteResponseData' - type: object - SyntheticsSuiteResponseData: - description: Synthetics suite response data - properties: - attributes: - $ref: '#/components/schemas/SyntheticsSuite' - id: - description: The public ID for the suite. - example: 123-abc-456 - readOnly: true - type: string - type: - $ref: '#/components/schemas/SyntheticsSuiteTypes' - type: object - SyntheticsSuiteSearchResponse: - description: Synthetics suite search response - properties: - data: - $ref: '#/components/schemas/SyntheticsSuiteSearchResponseData' - type: object - SyntheticsSuiteSearchResponseData: - description: Synthetics suite search response data - properties: - attributes: - $ref: '#/components/schemas/SyntheticsSuiteSearchResponseDataAttributes' - id: - format: uuid - type: string - type: - $ref: '#/components/schemas/SuiteSearchResponseType' - type: object - SyntheticsSuiteSearchResponseDataAttributes: - description: Synthetics suite search response data attributes - properties: - suites: - items: - $ref: '#/components/schemas/SyntheticsSuite' - type: array - total: - format: int32 - maximum: 2147483647 - type: integer - type: object - SyntheticsSuiteTest: - description: Object containing details about a Synthetic test included in a - Synthetic suite. - properties: - alerting_criticality: - $ref: '#/components/schemas/SyntheticsSuiteTestAlertingCriticality' - public_id: - example: '' - type: string - required: - - public_id - type: object - SyntheticsSuiteTestAlertingCriticality: - description: Alerting criticality for each the test. - enum: - - ignore - - critical - example: critical - type: string - x-enum-varnames: - - IGNORE - - CRITICAL - SyntheticsSuiteType: - default: suite - description: Type of the Synthetic suite, `suite`. - enum: - - suite - example: suite - type: string - x-enum-varnames: - - SUITE - SyntheticsSuiteTypes: - default: suites - description: Type for the Synthetics suites responses, `suites`. - enum: - - suites - example: suites - type: string - x-enum-varnames: - - SUITES SyntheticsVariableParser: description: Details of the parser to use for the global variable. example: @@ -86359,12 +87848,29 @@ paths: required: false schema: type: string + - description: Attribute used to sort the list of suppression rules. Prefix + with `-` to sort in descending order. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionSort' + - description: Size for a given page. Use `-1` to return all items. + in: query + name: page[size] + required: false + schema: + default: -1 + example: 10 + format: int64 + type: integer + - $ref: '#/components/parameters/PageNumber' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' + $ref: '#/components/schemas/SecurityMonitoringPaginatedSuppressionsResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' @@ -89281,202 +90787,588 @@ paths: tags: - Security Monitoring x-unstable: '**Note**: This endpoint may be subject to changes.' - /api/v2/synthetics/settings/on_demand_concurrency_cap: + /api/v2/statuspages: get: - description: Get the on-demand concurrency cap. - operationId: GetOnDemandConcurrencyCap + description: Lists all status pages for the organization. + operationId: ListStatusPages + parameters: + - description: Offset to use as the start of the page. + in: query + name: page[offset] + schema: + default: 0 + type: integer + - description: The number of status pages to return per page. + in: query + name: page[limit] + schema: + default: 50 + type: integer + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + $ref: '#/components/schemas/StatusPageArray' description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the on-demand concurrency cap + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List status pages tags: - - Synthetics + - Status Pages x-permission: - operator: OR + operator: AND permissions: - - billing_read + - status_pages_settings_read post: - description: Save new value for on-demand concurrency cap. - operationId: SetOnDemandConcurrencyCap + description: Creates a new status page. + operationId: CreateStatusPage + parameters: + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/OnDemandConcurrencyCapAttributes' - description: . + $ref: '#/components/schemas/CreateStatusPageRequest' required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/degradations: + get: + description: Lists all degradations for the organization. Optionally filter + by status and page. + operationId: ListDegradations + parameters: + - description: Optional page id filter. + in: query + name: filter[page_id] + schema: + type: string + - description: Offset to use as the start of the page. + in: query + name: page[offset] + schema: + default: 0 + type: integer + - description: The number of degradations to return per page. + in: query + name: page[limit] + schema: + default: 50 + type: integer + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: 'Optional degradation status filter. Supported values: investigating, + identified, monitoring, resolved.' + in: query + name: filter[status] + schema: + type: string responses: '200': content: application/json: schema: - $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + $ref: '#/components/schemas/DegradationArray' description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Save new value for on-demand concurrency cap + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List degradations tags: - - Synthetics - x-codegen-request-body-name: body + - Status Pages x-permission: - operator: OR + operator: AND permissions: - - billing_edit - /api/v2/synthetics/suites: - post: - operationId: CreateSyntheticsSuite + - status_pages_settings_read + /api/v2/statuspages/{page_id}: + delete: + description: Deletes a status page by its ID. + operationId: DeleteStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + get: + description: Retrieves a specific status page by its ID. + operationId: GetStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing status page's attributes. + operationId: UpdateStatusPage + parameters: + - description: Whether to delete existing subscribers when updating a status + page's type. + in: query + name: delete_subscribers + schema: + default: false + type: boolean + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/SuiteCreateEditRequest' + $ref: '#/components/schemas/PatchStatusPageRequest' required: true responses: '200': content: application/json: schema: - $ref: '#/components/schemas/SyntheticsSuiteResponse' + $ref: '#/components/schemas/StatusPage' description: OK - '400': + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/components: + get: + description: Lists all components for a status page. + operationId: ListComponents + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + responses: + '200': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/StatusPagesComponentArray' + description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - synthetics_write - summary: 'Synthetics: Create a test suite' + - AuthZ: [] + summary: List components tags: - - Synthetics + - Status Pages x-permission: - operator: OR + operator: AND permissions: - - synthetics_write - - synthetics_create_edit_trigger - /api/v2/synthetics/suites/bulk-delete: + - status_pages_settings_read post: - operationId: DeleteSyntheticsSuites + description: Creates a new component. + operationId: CreateComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/DeletedSuitesRequestDeleteRequest' + $ref: '#/components/schemas/CreateComponentRequest' required: true responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/DeletedSuitesResponse' - description: OK - '400': + '201': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/StatusPagesComponent' + description: Created '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - synthetics_write - summary: 'Synthetics: Bulk delete suites' + - AuthZ: [] + summary: Create component tags: - - Synthetics + - Status Pages x-permission: - operator: OR + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/components/{component_id}: + delete: + description: Deletes a component by its ID. + operationId: DeleteComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete component + tags: + - Status Pages + x-permission: + operator: AND permissions: - - synthetics_write - /api/v2/synthetics/suites/search: + - status_pages_settings_write get: - description: Search for Synthetics suites. - operationId: SearchSuites + description: Retrieves a specific component by its ID. + operationId: GetComponent parameters: - - description: The search query. - in: query - name: query - required: false + - description: The ID of the status page. + in: path + name: page_id + required: true schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string - - description: The sort order for the results (e.g., `name,asc` or `name,desc`). - in: query - name: sort - required: false + - description: The ID of the component. + in: path + name: component_id + required: true schema: - default: name,asc + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string - - description: If true, return only facets instead of full test details. + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' in: query - name: facets_only - required: false + name: include schema: - default: false - type: boolean - - description: The offset from which to start returning results. - in: query - name: start - required: false + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesComponent' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing component's attributes. + operationId: UpdateComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true schema: - default: 0 - format: int64 - type: integer - - description: The maximum number of results to return. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' in: query - name: count - required: false + name: include schema: - default: 50 - format: int64 - type: integer + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchComponentRequest' + required: true responses: '200': content: application/json: schema: - $ref: '#/components/schemas/SyntheticsSuiteSearchResponse' + $ref: '#/components/schemas/StatusPagesComponent' description: OK - '400': + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/degradations: + post: + description: Creates a new degradation. + operationId: CreateDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: Whether to notify page subscribers of the degradation. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDegradationRequest' + required: true + responses: + '201': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/Degradation' + description: Created '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - synthetics_read - summary: Search Synthetics suites + - AuthZ: [] + summary: Create degradation tags: - - Synthetics + - Status Pages x-permission: - operator: OR + operator: AND permissions: - - synthetics_read - /api/v2/synthetics/suites/{public_id}: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/degradations/{degradation_id}: + delete: + description: Deletes a degradation by its ID. + operationId: DeleteDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write get: - operationId: GetSyntheticsSuite + description: Retrieves a specific degradation by its ID. + operationId: GetDegradation parameters: - - description: The public ID of the suite to get details from. + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the degradation. in: path - name: public_id + name: degradation_id required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include schema: type: string responses: @@ -89484,71 +91376,126 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SyntheticsSuiteResponse' + $ref: '#/components/schemas/Degradation' description: OK - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - synthetics_read - summary: 'Synthetics: Get a suite' + - AuthZ: [] + summary: Get degradation tags: - - Synthetics + - Status Pages x-permission: - operator: OR + operator: AND permissions: - - synthetics_read - put: - operationId: EditSyntheticsSuite + - status_pages_settings_read + patch: + description: Updates an existing degradation's attributes. + operationId: UpdateDegradation parameters: - - description: The public ID of the suite to edit. + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: Whether to notify page subscribers of the degradation. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: The ID of the degradation. in: path - name: public_id + name: degradation_id required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include schema: type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/SuiteCreateEditRequest' - description: New suite details to be saved. + $ref: '#/components/schemas/PatchDegradationRequest' required: true responses: '200': content: application/json: schema: - $ref: '#/components/schemas/SyntheticsSuiteResponse' + $ref: '#/components/schemas/Degradation' description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - synthetics_write - summary: 'Synthetics: Edit a test suite' + - AuthZ: [] + summary: Update degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/synthetics/settings/on_demand_concurrency_cap: + get: + description: Get the on-demand concurrency cap. + operationId: GetOnDemandConcurrencyCap + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the on-demand concurrency cap tags: - Synthetics x-permission: operator: OR permissions: - - synthetics_write + - billing_read + post: + description: Save new value for on-demand concurrency cap. + operationId: SetOnDemandConcurrencyCap + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OnDemandConcurrencyCapAttributes' + description: . + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Save new value for on-demand concurrency cap + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - billing_edit /api/v2/synthetics/variables/{variable_id}/jsonpatch: patch: description: 'Patch a global variable using JSON Patch (RFC 6902). @@ -93777,6 +95724,10 @@ tags: name: Spans Metrics - description: API for static analysis name: Static Analysis +- description: Manage your status pages and communicate service disruptions to stakeholders + via Datadog's API. See the [Status Pages documentation](https://docs.datadoghq.com/incident_response/status_pages/) + for more information. + name: Status Pages - description: "Datadog Synthetics uses simulated user requests and browser rendering to help you ensure uptime,\nidentify regional issues, and track your application performance. Datadog Synthetics tests come in\ntwo different flavors, [API tests](https://docs.datadoghq.com/synthetics/api_tests/)\nand diff --git a/docs/datadog_api_client.v2.api.rst b/docs/datadog_api_client.v2.api.rst index ab4a9b67d1..a67215fdb8 100644 --- a/docs/datadog_api_client.v2.api.rst +++ b/docs/datadog_api_client.v2.api.rst @@ -571,6 +571,13 @@ datadog\_api\_client.v2.api.static\_analysis\_api module :members: :show-inheritance: +datadog\_api\_client.v2.api.status\_pages\_api module +----------------------------------------------------- + +.. automodule:: datadog_api_client.v2.api.status_pages_api + :members: + :show-inheritance: + datadog\_api\_client.v2.api.synthetics\_api module -------------------------------------------------- diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 74c5ed156f..4db8fe71ca 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -5254,6 +5254,62 @@ datadog\_api\_client.v2.model.create\_case\_request\_data\_relationships module :members: :show-inheritance: +datadog\_api\_client.v2.model.create\_component\_request module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_attributes module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_attributes\_components\_items module +---------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_attributes\_type module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_attributes_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_relationships module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_relationships\_group module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_relationships_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_relationships\_group\_data module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_relationships_group_data + :members: + :show-inheritance: + datadog\_api\_client.v2.model.create\_connection\_request module ---------------------------------------------------------------- @@ -5331,6 +5387,41 @@ datadog\_api\_client.v2.model.create\_data\_deletion\_response\_body module :members: :show-inheritance: +datadog\_api\_client.v2.model.create\_degradation\_request module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data\_attributes module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data\_attributes\_components\_affected\_items module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data\_attributes\_status module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data_attributes_status + :members: + :show-inheritance: + datadog\_api\_client.v2.model.create\_deployment\_gate\_params module --------------------------------------------------------------------- @@ -5660,6 +5751,55 @@ datadog\_api\_client.v2.model.create\_ruleset\_request\_data\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.create\_status\_page\_request module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_components\_items module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_components\_items\_components\_items module +-------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_type module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_visualization\_type module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.create\_table\_request module ----------------------------------------------------------- @@ -6836,6 +6976,111 @@ datadog\_api\_client.v2.model.datastore\_trigger\_wrapper module :members: :show-inheritance: +datadog\_api\_client.v2.model.degradation module +------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.degradation + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_array module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_array\_included module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_array_included + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data module +------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.degradation_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes\_components\_affected\_items module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes\_updates\_items module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_updates_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes\_updates\_items\_components\_affected\_items module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_created\_by\_user module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_created\_by\_user\_data module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_last\_modified\_by\_user module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_last\_modified\_by\_user\_data module +----------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_status\_page module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_status\_page\_data module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_status_page_data + :members: + :show-inheritance: + datadog\_api\_client.v2.model.delete\_app\_response module ---------------------------------------------------------- @@ -6927,55 +7172,6 @@ datadog\_api\_client.v2.model.delete\_custom\_framework\_response module :members: :show-inheritance: -datadog\_api\_client.v2.model.deleted\_suite\_response\_data module -------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.deleted_suite_response_data - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.deleted\_suite\_response\_data\_attributes module -------------------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.deleted_suite_response_data_attributes - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.deleted\_suites\_request\_delete module ---------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.deleted_suites_request_delete - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.deleted\_suites\_request\_delete\_attributes module ---------------------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.deleted_suites_request_delete_attributes - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.deleted\_suites\_request\_delete\_request module ------------------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.deleted_suites_request_delete_request - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.deleted\_suites\_request\_type module -------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.deleted_suites_request_type - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.deleted\_suites\_response module --------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.deleted_suites_response - :members: - :show-inheritance: - datadog\_api\_client.v2.model.dependency\_location module --------------------------------------------------------- @@ -18218,80 +18414,164 @@ datadog\_api\_client.v2.model.patch\_attachment\_request\_data\_attributes\_atta :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_incident\_notification\_template\_request module -------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_component\_request module +-------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_incident_notification_template_request +.. automodule:: datadog_api_client.v2.model.patch_component_request :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters module --------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_component\_request\_data module +-------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_notification_rule_parameters +.. automodule:: datadog_api_client.v2.model.patch_component_request_data :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters\_data module +datadog\_api\_client.v2.model.patch\_component\_request\_data\_attributes module -------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_notification_rule_parameters_data +.. automodule:: datadog_api_client.v2.model.patch_component_request_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters\_data\_attributes module --------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_degradation\_request module +---------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_notification_rule_parameters_data_attributes +.. automodule:: datadog_api_client.v2.model.patch_degradation_request :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_table\_request module ----------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_degradation\_request\_data module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_table_request +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_table\_request\_data module ----------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_attributes module +---------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_table_request_data +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes module ----------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_attributes\_components\_affected\_items module +--------------------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_attributes_components_affected_items :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata module --------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_attributes\_status module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_attributes_status :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata\_cloud\_storage module ------------------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_type module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata_cloud_storage +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_type :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata\_local\_file module ---------------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_incident\_notification\_template\_request module +------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata_local_file +.. automodule:: datadog_api_client.v2.model.patch_incident_notification_template_request :members: :show-inheritance: -datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata\_one\_of\_access\_details module ----------------------------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters module +-------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata_one_of_access_details +.. automodule:: datadog_api_client.v2.model.patch_notification_rule_parameters + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters\_data module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_notification_rule_parameters_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters\_data\_attributes module +-------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_notification_rule_parameters_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_status\_page\_request module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_status_page_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_status\_page\_request\_data module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_status_page_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_status\_page\_request\_data\_attributes module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_status_page_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_table\_request module +---------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_table_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_table\_request\_data module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_table_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata module +-------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata\_cloud\_storage module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata_cloud_storage + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata\_local\_file module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata_local_file + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_table\_request\_data\_attributes\_file\_metadata\_one\_of\_access\_details module +---------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_table_request_data_attributes_file_metadata_one_of_access_details :members: :show-inheritance: @@ -21921,6 +22201,13 @@ datadog\_api\_client.v2.model.security\_monitoring\_list\_rules\_response module :members: :show-inheritance: +datadog\_api\_client.v2.model.security\_monitoring\_paginated\_suppressions\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.security_monitoring_paginated_suppressions_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.security\_monitoring\_reference\_table module --------------------------------------------------------------------------- @@ -22558,6 +22845,13 @@ datadog\_api\_client.v2.model.security\_monitoring\_suppression\_response module :members: :show-inheritance: +datadog\_api\_client.v2.model.security\_monitoring\_suppression\_sort module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.security_monitoring_suppression_sort + :members: + :show-inheritance: + datadog\_api\_client.v2.model.security\_monitoring\_suppression\_type module ---------------------------------------------------------------------------- @@ -22586,6 +22880,20 @@ datadog\_api\_client.v2.model.security\_monitoring\_suppression\_update\_request :members: :show-inheritance: +datadog\_api\_client.v2.model.security\_monitoring\_suppressions\_meta module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.security_monitoring_suppressions_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.security\_monitoring\_suppressions\_page\_meta module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.security_monitoring_suppressions_page_meta + :members: + :show-inheritance: + datadog\_api\_client.v2.model.security\_monitoring\_suppressions\_response module --------------------------------------------------------------------------------- @@ -24392,192 +24700,507 @@ datadog\_api\_client.v2.model.statsig\_integration\_update module :members: :show-inheritance: -datadog\_api\_client.v2.model.step module ------------------------------------------ +datadog\_api\_client.v2.model.status\_page module +------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.step +.. automodule:: datadog_api_client.v2.model.status_page :members: :show-inheritance: -datadog\_api\_client.v2.model.step\_display module --------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_array module +-------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.step_display +.. automodule:: datadog_api_client.v2.model.status_page_array :members: :show-inheritance: -datadog\_api\_client.v2.model.step\_display\_bounds module ----------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_array\_included module +------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.step_display_bounds +.. automodule:: datadog_api_client.v2.model.status_page_array_included :members: :show-inheritance: -datadog\_api\_client.v2.model.suite\_create\_edit module --------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_as\_included module +--------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.suite_create_edit +.. automodule:: datadog_api_client.v2.model.status_page_as_included :members: :show-inheritance: -datadog\_api\_client.v2.model.suite\_create\_edit\_request module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.status\_page\_as\_included\_attributes module +--------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.suite_create_edit_request +.. automodule:: datadog_api_client.v2.model.status_page_as_included_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.suite\_search\_response\_type module ------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_as\_included\_attributes\_components\_items module +---------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.suite_search_response_type +.. automodule:: datadog_api_client.v2.model.status_page_as_included_attributes_components_items :members: :show-inheritance: -datadog\_api\_client.v2.model.suppression\_version\_history module ------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_as\_included\_attributes\_components\_items\_components\_items module +----------------------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.suppression_version_history +.. automodule:: datadog_api_client.v2.model.status_page_as_included_attributes_components_items_components_items :members: :show-inheritance: -datadog\_api\_client.v2.model.suppression\_versions module ----------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships module +------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.suppression_versions +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_created\_by\_user module +------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable\_attributes module ------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_created\_by\_user\_data module +------------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_attributes +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user_data :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable\_options module --------------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_last\_modified\_by\_user module +-------------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_options +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable\_parse\_test\_options module ---------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_last\_modified\_by\_user\_data module +-------------------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_parse_test_options +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user_data :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable\_parse\_test\_options\_type module ---------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data module +------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_parse_test_options_type +.. automodule:: datadog_api_client.v2.model.status_page_data :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable\_parser\_type module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data\_attributes module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_parser_type +.. automodule:: datadog_api_client.v2.model.status_page_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable\_totp\_parameters module ------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.status\_page\_data\_attributes\_components\_items module +-------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_totp_parameters +.. automodule:: datadog_api_client.v2.model.status_page_data_attributes_components_items :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_global\_variable\_value module ------------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data\_attributes\_components\_items\_components\_items module +--------------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_value +.. automodule:: datadog_api_client.v2.model.status_page_data_attributes_components_items_components_items :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite module ------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data\_relationships module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_suite +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_options module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_created\_by\_user module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_suite_options +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_created_by_user :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_response module ----------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_created\_by\_user\_data module +----------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_suite_response +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_created_by_user_data :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_response\_data module ----------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_last\_modified\_by\_user module +------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.synthetics_suite_response_data +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_search\_response module ------------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_last\_modified\_by\_user\_data module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_type module +------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_suite_search_response +.. automodule:: datadog_api_client.v2.model.status_page_data_type :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_search\_response\_data module +datadog\_api\_client.v2.model.status\_pages\_component module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_array module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_array\_included module ------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.synthetics_suite_search_response_data +.. automodule:: datadog_api_client.v2.model.status_pages_component_array_included :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_search\_response\_data\_attributes module ------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_pages\_component\_data module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_suite_search_response_data_attributes +.. automodule:: datadog_api_client.v2.model.status_pages_component_data :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_test module ------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_pages\_component\_data\_attributes module +------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_suite_test +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_test\_alerting\_criticality module +datadog\_api\_client.v2.model.status\_pages\_component\_data\_attributes\_components\_items module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_attributes\_status module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_attributes_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_created\_by\_user module +----------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_created\_by\_user\_data module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_group module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_group\_data module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_group_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_last\_modified\_by\_user module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_last\_modified\_by\_user\_data module +------------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_status\_page module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_status\_page\_data module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_status_page_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes\_components\_items module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes\_components\_items\_status module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes\_components\_items\_type module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships module ----------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.synthetics_suite_test_alerting_criticality +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_type module ------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_created\_by\_user module +------------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.synthetics_suite_type +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user :members: :show-inheritance: -datadog\_api\_client.v2.model.synthetics\_suite\_types module -------------------------------------------------------------- +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_created\_by\_user\_data module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_group module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_group\_data module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_group_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_last\_modified\_by\_user module +------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_last\_modified\_by\_user\_data module +------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_status\_page module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_status\_page\_data module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_status_page_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_type module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_pagination module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_pagination + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_pagination\_type module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_pagination_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_response\_meta module +------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.synthetics_suite_types +.. automodule:: datadog_api_client.v2.model.status_pages_response_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_user module +-------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_user\_attributes module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_user_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_user\_type module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_user_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.step module +----------------------------------------- + +.. automodule:: datadog_api_client.v2.model.step + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.step\_display module +-------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.step_display + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.step\_display\_bounds module +---------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.step_display_bounds + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.suppression\_version\_history module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.suppression_version_history + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.suppression\_versions module +---------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.suppression_versions + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable\_attributes module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable\_options module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_options + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable\_parse\_test\_options module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_parse_test_options + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable\_parse\_test\_options\_type module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_parse_test_options_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable\_parser\_type module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_parser_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable\_totp\_parameters module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_totp_parameters + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.synthetics\_global\_variable\_value module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.synthetics_global_variable_value :members: :show-inheritance: diff --git a/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1315707136.py b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1315707136.py new file mode 100644 index 0000000000..2c0dabeea2 --- /dev/null +++ b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1315707136.py @@ -0,0 +1,24 @@ +""" +Get all suppression rules returns "OK" response with sort ascending +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi +from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort + +# there is a valid "suppression" in the system +SUPPRESSION_DATA_ID = environ["SUPPRESSION_DATA_ID"] + +# there is a valid "suppression2" in the system +SUPPRESSION2_DATA_ID = environ["SUPPRESSION2_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = SecurityMonitoringApi(api_client) + response = api_instance.list_security_monitoring_suppressions( + query="id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0", + sort=SecurityMonitoringSuppressionSort.NAME, + ) + + print(response) diff --git a/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1741429096.py b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1741429096.py new file mode 100644 index 0000000000..e191bc1787 --- /dev/null +++ b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1741429096.py @@ -0,0 +1,24 @@ +""" +Get all suppression rules returns "OK" response with sort descending +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi +from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort + +# there is a valid "suppression" in the system +SUPPRESSION_DATA_ID = environ["SUPPRESSION_DATA_ID"] + +# there is a valid "suppression2" in the system +SUPPRESSION2_DATA_ID = environ["SUPPRESSION2_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = SecurityMonitoringApi(api_client) + response = api_instance.list_security_monitoring_suppressions( + query="id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0", + sort=SecurityMonitoringSuppressionSort.NAME_DESCENDING, + ) + + print(response) diff --git a/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_3985905558.py b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_3985905558.py new file mode 100644 index 0000000000..c038f600a5 --- /dev/null +++ b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_3985905558.py @@ -0,0 +1,24 @@ +""" +Get all suppression rules returns "OK" response with pagination +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi + +# there is a valid "suppression" in the system +SUPPRESSION_DATA_ID = environ["SUPPRESSION_DATA_ID"] + +# there is a valid "suppression2" in the system +SUPPRESSION2_DATA_ID = environ["SUPPRESSION2_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = SecurityMonitoringApi(api_client) + response = api_instance.list_security_monitoring_suppressions( + query="id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0", + page_size=1, + page_number=0, + ) + + print(response) diff --git a/examples/v2/status-pages/CreateComponent.py b/examples/v2/status-pages/CreateComponent.py new file mode 100644 index 0000000000..71f9c1d027 --- /dev/null +++ b/examples/v2/status-pages/CreateComponent.py @@ -0,0 +1,35 @@ +""" +Create component returns "Created" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.create_component_request import CreateComponentRequest +from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData +from datadog_api_client.v2.model.create_component_request_data_attributes import CreateComponentRequestDataAttributes +from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, +) +from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = CreateComponentRequest( + data=CreateComponentRequestData( + attributes=CreateComponentRequestDataAttributes( + name="Logs", + position=0, + type=CreateComponentRequestDataAttributesType.COMPONENT, + ), + type=StatusPagesComponentGroupType.COMPONENTS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_component(page_id=STATUS_PAGE_DATA_ID, body=body) + + print(response) diff --git a/examples/v2/status-pages/CreateDegradation.py b/examples/v2/status-pages/CreateDegradation.py new file mode 100644 index 0000000000..ab6a48283b --- /dev/null +++ b/examples/v2/status-pages/CreateDegradation.py @@ -0,0 +1,52 @@ +""" +Create degradation returns "Created" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.create_degradation_request import CreateDegradationRequest +from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData +from datadog_api_client.v2.model.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, +) +from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType +from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, +) + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = environ[ + "STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID" +] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = CreateDegradationRequest( + data=CreateDegradationRequestData( + attributes=CreateDegradationRequestDataAttributes( + components_affected=[ + CreateDegradationRequestDataAttributesComponentsAffectedItems( + id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID, + status=StatusPagesComponentDataAttributesStatus.MAJOR_OUTAGE, + ), + ], + description="Our API is experiencing elevated latency. We are investigating the issue.", + status=CreateDegradationRequestDataAttributesStatus.INVESTIGATING, + title="Elevated API Latency", + ), + type=PatchDegradationRequestDataType.DEGRADATIONS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_degradation(page_id=STATUS_PAGE_DATA_ID, body=body) + + print(response) diff --git a/examples/v2/status-pages/CreateStatusPage.py b/examples/v2/status-pages/CreateStatusPage.py new file mode 100644 index 0000000000..d79995cd86 --- /dev/null +++ b/examples/v2/status-pages/CreateStatusPage.py @@ -0,0 +1,54 @@ +""" +Create status page returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, +) +from datadog_api_client.v2.model.create_status_page_request import CreateStatusPageRequest +from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData +from datadog_api_client.v2.model.create_status_page_request_data_attributes import CreateStatusPageRequestDataAttributes +from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, +) +from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + +body = CreateStatusPageRequest( + data=CreateStatusPageRequestData( + attributes=CreateStatusPageRequestDataAttributes( + name="A Status Page", + domain_prefix="status-page-5e2fd69be33e79aa", + components=[ + CreateStatusPageRequestDataAttributesComponentsItems( + name="Login", + type=CreateComponentRequestDataAttributesType.COMPONENT, + position=0, + ), + CreateStatusPageRequestDataAttributesComponentsItems( + name="Settings", + type=CreateComponentRequestDataAttributesType.COMPONENT, + position=1, + ), + ], + enabled=True, + type=CreateStatusPageRequestDataAttributesType.INTERNAL, + visualization_type=CreateStatusPageRequestDataAttributesVisualizationType.BARS_AND_UPTIME_PERCENTAGE, + ), + type=StatusPageDataType.STATUS_PAGES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_status_page(body=body) + + print(response) diff --git a/examples/v2/status-pages/DeleteComponent.py b/examples/v2/status-pages/DeleteComponent.py new file mode 100644 index 0000000000..f621b4afd5 --- /dev/null +++ b/examples/v2/status-pages/DeleteComponent.py @@ -0,0 +1,19 @@ +""" +Delete component returns "No Content" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID = environ["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID"] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + api_instance.delete_component( + page_id=STATUS_PAGE_DATA_ID, + component_id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, + ) diff --git a/examples/v2/status-pages/DeleteDegradation.py b/examples/v2/status-pages/DeleteDegradation.py new file mode 100644 index 0000000000..3842d3b0a0 --- /dev/null +++ b/examples/v2/status-pages/DeleteDegradation.py @@ -0,0 +1,21 @@ +""" +Delete degradation returns "No Content" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +# there is a valid "degradation" in the system +DEGRADATION_DATA_ID = environ["DEGRADATION_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + api_instance.delete_degradation( + page_id=STATUS_PAGE_DATA_ID, + degradation_id=DEGRADATION_DATA_ID, + ) diff --git a/examples/v2/status-pages/DeleteStatusPage.py b/examples/v2/status-pages/DeleteStatusPage.py new file mode 100644 index 0000000000..13d0106083 --- /dev/null +++ b/examples/v2/status-pages/DeleteStatusPage.py @@ -0,0 +1,17 @@ +""" +Delete status page returns "No Content" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + api_instance.delete_status_page( + page_id=STATUS_PAGE_DATA_ID, + ) diff --git a/examples/v2/status-pages/GetComponent.py b/examples/v2/status-pages/GetComponent.py new file mode 100644 index 0000000000..d4ddbccb56 --- /dev/null +++ b/examples/v2/status-pages/GetComponent.py @@ -0,0 +1,21 @@ +""" +Get component returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID = environ["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID"] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.get_component( + page_id=STATUS_PAGE_DATA_ID, + component_id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/GetDegradation.py b/examples/v2/status-pages/GetDegradation.py new file mode 100644 index 0000000000..423e2a5cea --- /dev/null +++ b/examples/v2/status-pages/GetDegradation.py @@ -0,0 +1,23 @@ +""" +Get degradation returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +# there is a valid "degradation" in the system +DEGRADATION_DATA_ID = environ["DEGRADATION_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.get_degradation( + page_id=STATUS_PAGE_DATA_ID, + degradation_id=DEGRADATION_DATA_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/GetStatusPage.py b/examples/v2/status-pages/GetStatusPage.py new file mode 100644 index 0000000000..81e7244d36 --- /dev/null +++ b/examples/v2/status-pages/GetStatusPage.py @@ -0,0 +1,19 @@ +""" +Get status page returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.get_status_page( + page_id=STATUS_PAGE_DATA_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/ListComponents.py b/examples/v2/status-pages/ListComponents.py new file mode 100644 index 0000000000..db63373f0e --- /dev/null +++ b/examples/v2/status-pages/ListComponents.py @@ -0,0 +1,19 @@ +""" +List components returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.list_components( + page_id=STATUS_PAGE_DATA_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/ListDegradations.py b/examples/v2/status-pages/ListDegradations.py new file mode 100644 index 0000000000..807a9b8d8e --- /dev/null +++ b/examples/v2/status-pages/ListDegradations.py @@ -0,0 +1,13 @@ +""" +List degradations returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.list_degradations() + + print(response) diff --git a/examples/v2/status-pages/ListStatusPages.py b/examples/v2/status-pages/ListStatusPages.py new file mode 100644 index 0000000000..92c132ee26 --- /dev/null +++ b/examples/v2/status-pages/ListStatusPages.py @@ -0,0 +1,13 @@ +""" +List status pages returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.list_status_pages() + + print(response) diff --git a/examples/v2/status-pages/UpdateComponent.py b/examples/v2/status-pages/UpdateComponent.py new file mode 100644 index 0000000000..6d55dc1b77 --- /dev/null +++ b/examples/v2/status-pages/UpdateComponent.py @@ -0,0 +1,34 @@ +""" +Update component returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.patch_component_request import PatchComponentRequest +from datadog_api_client.v2.model.patch_component_request_data import PatchComponentRequestData +from datadog_api_client.v2.model.patch_component_request_data_attributes import PatchComponentRequestDataAttributes +from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID = environ["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID"] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = PatchComponentRequest( + data=PatchComponentRequestData( + attributes=PatchComponentRequestDataAttributes( + name="Logs Indexing", + ), + id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, + type=StatusPagesComponentGroupType.COMPONENTS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.update_component( + page_id=STATUS_PAGE_DATA_ID, component_id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, body=body + ) + + print(response) diff --git a/examples/v2/status-pages/UpdateDegradation.py b/examples/v2/status-pages/UpdateDegradation.py new file mode 100644 index 0000000000..9bb0ec55f3 --- /dev/null +++ b/examples/v2/status-pages/UpdateDegradation.py @@ -0,0 +1,36 @@ +""" +Update degradation returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.patch_degradation_request import PatchDegradationRequest +from datadog_api_client.v2.model.patch_degradation_request_data import PatchDegradationRequestData +from datadog_api_client.v2.model.patch_degradation_request_data_attributes import PatchDegradationRequestDataAttributes +from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +# there is a valid "degradation" in the system +DEGRADATION_DATA_ID = environ["DEGRADATION_DATA_ID"] + +body = PatchDegradationRequest( + data=PatchDegradationRequestData( + attributes=PatchDegradationRequestDataAttributes( + title="Elevated API Latency in US1", + ), + id=DEGRADATION_DATA_ID, + type=PatchDegradationRequestDataType.DEGRADATIONS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.update_degradation( + page_id=STATUS_PAGE_DATA_ID, degradation_id=DEGRADATION_DATA_ID, body=body + ) + + print(response) diff --git a/examples/v2/status-pages/UpdateStatusPage.py b/examples/v2/status-pages/UpdateStatusPage.py new file mode 100644 index 0000000000..d4fef87afd --- /dev/null +++ b/examples/v2/status-pages/UpdateStatusPage.py @@ -0,0 +1,31 @@ +""" +Update status page returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.patch_status_page_request import PatchStatusPageRequest +from datadog_api_client.v2.model.patch_status_page_request_data import PatchStatusPageRequestData +from datadog_api_client.v2.model.patch_status_page_request_data_attributes import PatchStatusPageRequestDataAttributes +from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = PatchStatusPageRequest( + data=PatchStatusPageRequestData( + attributes=PatchStatusPageRequestDataAttributes( + name="A Status Page in US1", + ), + id=STATUS_PAGE_DATA_ID, + type=StatusPageDataType.STATUS_PAGES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.update_status_page(page_id=STATUS_PAGE_DATA_ID, body=body) + + print(response) diff --git a/examples/v2/synthetics/CreateSyntheticsSuite.py b/examples/v2/synthetics/CreateSyntheticsSuite.py deleted file mode 100644 index b2b6fe48d5..0000000000 --- a/examples/v2/synthetics/CreateSyntheticsSuite.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Synthetics: Create a test suite returns "OK" response -""" - -from datadog_api_client import ApiClient, Configuration -from datadog_api_client.v2.api.synthetics_api import SyntheticsApi -from datadog_api_client.v2.model.suite_create_edit import SuiteCreateEdit -from datadog_api_client.v2.model.suite_create_edit_request import SuiteCreateEditRequest -from datadog_api_client.v2.model.synthetics_suite import SyntheticsSuite -from datadog_api_client.v2.model.synthetics_suite_options import SyntheticsSuiteOptions -from datadog_api_client.v2.model.synthetics_suite_type import SyntheticsSuiteType -from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - -body = SuiteCreateEditRequest( - data=SuiteCreateEdit( - attributes=SyntheticsSuite( - message="Notification message", - name="Example suite name", - options=SyntheticsSuiteOptions(), - tags=[ - "env:production", - ], - tests=[], - type=SyntheticsSuiteType.SUITE, - ), - type=SyntheticsSuiteTypes.SUITES, - ), -) - -configuration = Configuration() -with ApiClient(configuration) as api_client: - api_instance = SyntheticsApi(api_client) - response = api_instance.create_synthetics_suite(body=body) - - print(response) diff --git a/examples/v2/synthetics/DeleteSyntheticsSuites.py b/examples/v2/synthetics/DeleteSyntheticsSuites.py deleted file mode 100644 index e0967da2f0..0000000000 --- a/examples/v2/synthetics/DeleteSyntheticsSuites.py +++ /dev/null @@ -1,28 +0,0 @@ -""" -Synthetics: Bulk delete suites returns "OK" response -""" - -from datadog_api_client import ApiClient, Configuration -from datadog_api_client.v2.api.synthetics_api import SyntheticsApi -from datadog_api_client.v2.model.deleted_suites_request_delete import DeletedSuitesRequestDelete -from datadog_api_client.v2.model.deleted_suites_request_delete_attributes import DeletedSuitesRequestDeleteAttributes -from datadog_api_client.v2.model.deleted_suites_request_delete_request import DeletedSuitesRequestDeleteRequest -from datadog_api_client.v2.model.deleted_suites_request_type import DeletedSuitesRequestType - -body = DeletedSuitesRequestDeleteRequest( - data=DeletedSuitesRequestDelete( - attributes=DeletedSuitesRequestDeleteAttributes( - public_ids=[ - "", - ], - ), - type=DeletedSuitesRequestType.DELETE_SUITES_REQUEST, - ), -) - -configuration = Configuration() -with ApiClient(configuration) as api_client: - api_instance = SyntheticsApi(api_client) - response = api_instance.delete_synthetics_suites(body=body) - - print(response) diff --git a/examples/v2/synthetics/EditSyntheticsSuite.py b/examples/v2/synthetics/EditSyntheticsSuite.py deleted file mode 100644 index 4a9a5d365a..0000000000 --- a/examples/v2/synthetics/EditSyntheticsSuite.py +++ /dev/null @@ -1,44 +0,0 @@ -""" -Synthetics: Edit a test suite returns "OK" response -""" - -from datadog_api_client import ApiClient, Configuration -from datadog_api_client.v2.api.synthetics_api import SyntheticsApi -from datadog_api_client.v2.model.suite_create_edit import SuiteCreateEdit -from datadog_api_client.v2.model.suite_create_edit_request import SuiteCreateEditRequest -from datadog_api_client.v2.model.synthetics_suite import SyntheticsSuite -from datadog_api_client.v2.model.synthetics_suite_options import SyntheticsSuiteOptions -from datadog_api_client.v2.model.synthetics_suite_test import SyntheticsSuiteTest -from datadog_api_client.v2.model.synthetics_suite_test_alerting_criticality import ( - SyntheticsSuiteTestAlertingCriticality, -) -from datadog_api_client.v2.model.synthetics_suite_type import SyntheticsSuiteType -from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - -body = SuiteCreateEditRequest( - data=SuiteCreateEdit( - attributes=SyntheticsSuite( - message="Notification message", - name="Example suite name", - options=SyntheticsSuiteOptions(), - tags=[ - "env:production", - ], - tests=[ - SyntheticsSuiteTest( - alerting_criticality=SyntheticsSuiteTestAlertingCriticality.CRITICAL, - public_id="", - ), - ], - type=SyntheticsSuiteType.SUITE, - ), - type=SyntheticsSuiteTypes.SUITES, - ), -) - -configuration = Configuration() -with ApiClient(configuration) as api_client: - api_instance = SyntheticsApi(api_client) - response = api_instance.edit_synthetics_suite(public_id="public_id", body=body) - - print(response) diff --git a/examples/v2/synthetics/GetSyntheticsSuite.py b/examples/v2/synthetics/GetSyntheticsSuite.py deleted file mode 100644 index 25371dfe80..0000000000 --- a/examples/v2/synthetics/GetSyntheticsSuite.py +++ /dev/null @@ -1,15 +0,0 @@ -""" -Synthetics: Get a suite returns "OK" response -""" - -from datadog_api_client import ApiClient, Configuration -from datadog_api_client.v2.api.synthetics_api import SyntheticsApi - -configuration = Configuration() -with ApiClient(configuration) as api_client: - api_instance = SyntheticsApi(api_client) - response = api_instance.get_synthetics_suite( - public_id="public_id", - ) - - print(response) diff --git a/examples/v2/synthetics/SearchSuites.py b/examples/v2/synthetics/SearchSuites.py deleted file mode 100644 index 564fdbd3ce..0000000000 --- a/examples/v2/synthetics/SearchSuites.py +++ /dev/null @@ -1,13 +0,0 @@ -""" -Search Synthetics suites returns "OK" response -""" - -from datadog_api_client import ApiClient, Configuration -from datadog_api_client.v2.api.synthetics_api import SyntheticsApi - -configuration = Configuration() -with ApiClient(configuration) as api_client: - api_instance = SyntheticsApi(api_client) - response = api_instance.search_suites() - - print(response) 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 5f23e8da82..1905f89201 100644 --- a/src/datadog_api_client/v2/api/security_monitoring_api.py +++ b/src/datadog_api_client/v2/api/security_monitoring_api.py @@ -80,11 +80,15 @@ from datadog_api_client.v2.model.security_filter_response import SecurityFilterResponse from datadog_api_client.v2.model.security_filter_create_request import SecurityFilterCreateRequest from datadog_api_client.v2.model.security_filter_update_request import SecurityFilterUpdateRequest -from datadog_api_client.v2.model.security_monitoring_suppressions_response import SecurityMonitoringSuppressionsResponse +from datadog_api_client.v2.model.security_monitoring_paginated_suppressions_response import ( + SecurityMonitoringPaginatedSuppressionsResponse, +) +from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort from datadog_api_client.v2.model.security_monitoring_suppression_response import SecurityMonitoringSuppressionResponse from datadog_api_client.v2.model.security_monitoring_suppression_create_request import ( SecurityMonitoringSuppressionCreateRequest, ) +from datadog_api_client.v2.model.security_monitoring_suppressions_response import SecurityMonitoringSuppressionsResponse from datadog_api_client.v2.model.security_monitoring_rule_create_payload import SecurityMonitoringRuleCreatePayload from datadog_api_client.v2.model.security_monitoring_standard_rule_create_payload import ( SecurityMonitoringStandardRuleCreatePayload, @@ -1763,7 +1767,7 @@ def __init__(self, api_client=None): self._list_security_monitoring_suppressions_endpoint = _Endpoint( settings={ - "response_type": (SecurityMonitoringSuppressionsResponse,), + "response_type": (SecurityMonitoringPaginatedSuppressionsResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], "endpoint_path": "/api/v2/security_monitoring/configuration/suppressions", "operation_id": "list_security_monitoring_suppressions", @@ -1776,6 +1780,21 @@ def __init__(self, api_client=None): "attribute": "query", "location": "query", }, + "sort": { + "openapi_types": (SecurityMonitoringSuppressionSort,), + "attribute": "sort", + "location": "query", + }, + "page_size": { + "openapi_types": (int,), + "attribute": "page[size]", + "location": "query", + }, + "page_number": { + "openapi_types": (int,), + "attribute": "page[number]", + "location": "query", + }, }, headers_map={ "accept": ["application/json"], @@ -4335,19 +4354,37 @@ def list_security_monitoring_suppressions( self, *, query: Union[str, UnsetType] = unset, - ) -> SecurityMonitoringSuppressionsResponse: + sort: Union[SecurityMonitoringSuppressionSort, UnsetType] = unset, + page_size: Union[int, UnsetType] = unset, + page_number: Union[int, UnsetType] = unset, + ) -> SecurityMonitoringPaginatedSuppressionsResponse: """Get all suppression rules. Get the list of all suppression rules. :param query: Query string. :type query: str, optional - :rtype: SecurityMonitoringSuppressionsResponse + :param sort: Attribute used to sort the list of suppression rules. Prefix with ``-`` to sort in descending order. + :type sort: SecurityMonitoringSuppressionSort, optional + :param page_size: Size for a given page. Use ``-1`` to return all items. + :type page_size: int, optional + :param page_number: Specific page number to return. + :type page_number: int, optional + :rtype: SecurityMonitoringPaginatedSuppressionsResponse """ kwargs: Dict[str, Any] = {} if query is not unset: kwargs["query"] = query + if sort is not unset: + kwargs["sort"] = sort + + if page_size is not unset: + kwargs["page_size"] = page_size + + if page_number is not unset: + kwargs["page_number"] = page_number + return self._list_security_monitoring_suppressions_endpoint.call_with_http_info(**kwargs) def list_threat_hunting_jobs( diff --git a/src/datadog_api_client/v2/api/status_pages_api.py b/src/datadog_api_client/v2/api/status_pages_api.py new file mode 100644 index 0000000000..4f4024f2c3 --- /dev/null +++ b/src/datadog_api_client/v2/api/status_pages_api.py @@ -0,0 +1,955 @@ +# 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 Any, Dict, Union + +from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint +from datadog_api_client.configuration import Configuration +from datadog_api_client.model_utils import ( + UnsetType, + unset, + UUID, +) +from datadog_api_client.v2.model.status_page_array import StatusPageArray +from datadog_api_client.v2.model.status_page import StatusPage +from datadog_api_client.v2.model.create_status_page_request import CreateStatusPageRequest +from datadog_api_client.v2.model.degradation_array import DegradationArray +from datadog_api_client.v2.model.patch_status_page_request import PatchStatusPageRequest +from datadog_api_client.v2.model.status_pages_component_array import StatusPagesComponentArray +from datadog_api_client.v2.model.status_pages_component import StatusPagesComponent +from datadog_api_client.v2.model.create_component_request import CreateComponentRequest +from datadog_api_client.v2.model.patch_component_request import PatchComponentRequest +from datadog_api_client.v2.model.degradation import Degradation +from datadog_api_client.v2.model.create_degradation_request import CreateDegradationRequest +from datadog_api_client.v2.model.patch_degradation_request import PatchDegradationRequest + + +class StatusPagesApi: + """ + Manage your status pages and communicate service disruptions to stakeholders via Datadog's API. See the `Status Pages documentation `_ for more information. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient(Configuration()) + self.api_client = api_client + + self._create_component_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponent,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components", + "operation_id": "create_component", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (CreateComponentRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_degradation_endpoint = _Endpoint( + settings={ + "response_type": (Degradation,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations", + "operation_id": "create_degradation", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "notify_subscribers": { + "openapi_types": (bool,), + "attribute": "notify_subscribers", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (CreateDegradationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_status_page_endpoint = _Endpoint( + settings={ + "response_type": (StatusPage,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages", + "operation_id": "create_status_page", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (CreateStatusPageRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._delete_component_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components/{component_id}", + "operation_id": "delete_component", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "component_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "component_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_degradation_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations/{degradation_id}", + "operation_id": "delete_degradation", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "degradation_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "degradation_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_status_page_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}", + "operation_id": "delete_status_page", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._get_component_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponent,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components/{component_id}", + "operation_id": "get_component", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "component_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "component_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_degradation_endpoint = _Endpoint( + settings={ + "response_type": (Degradation,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations/{degradation_id}", + "operation_id": "get_degradation", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "degradation_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "degradation_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_status_page_endpoint = _Endpoint( + settings={ + "response_type": (StatusPage,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}", + "operation_id": "get_status_page", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_components_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponentArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components", + "operation_id": "list_components", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_degradations_endpoint = _Endpoint( + settings={ + "response_type": (DegradationArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/degradations", + "operation_id": "list_degradations", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "filter_page_id": { + "openapi_types": (str,), + "attribute": "filter[page_id]", + "location": "query", + }, + "page_offset": { + "openapi_types": (int,), + "attribute": "page[offset]", + "location": "query", + }, + "page_limit": { + "openapi_types": (int,), + "attribute": "page[limit]", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "filter_status": { + "openapi_types": (str,), + "attribute": "filter[status]", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_status_pages_endpoint = _Endpoint( + settings={ + "response_type": (StatusPageArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages", + "operation_id": "list_status_pages", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_offset": { + "openapi_types": (int,), + "attribute": "page[offset]", + "location": "query", + }, + "page_limit": { + "openapi_types": (int,), + "attribute": "page[limit]", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._update_component_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponent,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components/{component_id}", + "operation_id": "update_component", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "component_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "component_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchComponentRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_degradation_endpoint = _Endpoint( + settings={ + "response_type": (Degradation,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations/{degradation_id}", + "operation_id": "update_degradation", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "notify_subscribers": { + "openapi_types": (bool,), + "attribute": "notify_subscribers", + "location": "query", + }, + "degradation_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "degradation_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchDegradationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_status_page_endpoint = _Endpoint( + settings={ + "response_type": (StatusPage,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}", + "operation_id": "update_status_page", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "delete_subscribers": { + "openapi_types": (bool,), + "attribute": "delete_subscribers", + "location": "query", + }, + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchStatusPageRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def create_component( + self, + page_id: UUID, + body: CreateComponentRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponent: + """Create component. + + Creates a new component. + + :param page_id: The ID of the status page. + :type page_id: UUID + :type body: CreateComponentRequest + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponent + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_component_endpoint.call_with_http_info(**kwargs) + + def create_degradation( + self, + page_id: UUID, + body: CreateDegradationRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> Degradation: + """Create degradation. + + Creates a new degradation. + + :param page_id: The ID of the status page. + :type page_id: UUID + :type body: CreateDegradationRequest + :param notify_subscribers: Whether to notify page subscribers of the degradation. + :type notify_subscribers: bool, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :rtype: Degradation + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if notify_subscribers is not unset: + kwargs["notify_subscribers"] = notify_subscribers + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_degradation_endpoint.call_with_http_info(**kwargs) + + def create_status_page( + self, + body: CreateStatusPageRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPage: + """Create status page. + + Creates a new status page. + + :type body: CreateStatusPageRequest + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPage + """ + kwargs: Dict[str, Any] = {} + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_status_page_endpoint.call_with_http_info(**kwargs) + + def delete_component( + self, + page_id: UUID, + component_id: UUID, + ) -> None: + """Delete component. + + Deletes a component by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param component_id: The ID of the component. + :type component_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["component_id"] = component_id + + return self._delete_component_endpoint.call_with_http_info(**kwargs) + + def delete_degradation( + self, + page_id: UUID, + degradation_id: UUID, + ) -> None: + """Delete degradation. + + Deletes a degradation by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param degradation_id: The ID of the degradation. + :type degradation_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["degradation_id"] = degradation_id + + return self._delete_degradation_endpoint.call_with_http_info(**kwargs) + + def delete_status_page( + self, + page_id: UUID, + ) -> None: + """Delete status page. + + Deletes a status page by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + return self._delete_status_page_endpoint.call_with_http_info(**kwargs) + + def get_component( + self, + page_id: UUID, + component_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponent: + """Get component. + + Retrieves a specific component by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param component_id: The ID of the component. + :type component_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponent + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["component_id"] = component_id + + if include is not unset: + kwargs["include"] = include + + return self._get_component_endpoint.call_with_http_info(**kwargs) + + def get_degradation( + self, + page_id: UUID, + degradation_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> Degradation: + """Get degradation. + + Retrieves a specific degradation by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param degradation_id: The ID of the degradation. + :type degradation_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :rtype: Degradation + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["degradation_id"] = degradation_id + + if include is not unset: + kwargs["include"] = include + + return self._get_degradation_endpoint.call_with_http_info(**kwargs) + + def get_status_page( + self, + page_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPage: + """Get status page. + + Retrieves a specific status page by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPage + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + return self._get_status_page_endpoint.call_with_http_info(**kwargs) + + def list_components( + self, + page_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponentArray: + """List components. + + Lists all components for a status page. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponentArray + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + return self._list_components_endpoint.call_with_http_info(**kwargs) + + def list_degradations( + self, + *, + filter_page_id: Union[str, UnsetType] = unset, + page_offset: Union[int, UnsetType] = unset, + page_limit: Union[int, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + filter_status: Union[str, UnsetType] = unset, + ) -> DegradationArray: + """List degradations. + + Lists all degradations for the organization. Optionally filter by status and page. + + :param filter_page_id: Optional page id filter. + :type filter_page_id: str, optional + :param page_offset: Offset to use as the start of the page. + :type page_offset: int, optional + :param page_limit: The number of degradations to return per page. + :type page_limit: int, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :param filter_status: Optional degradation status filter. Supported values: investigating, identified, monitoring, resolved. + :type filter_status: str, optional + :rtype: DegradationArray + """ + kwargs: Dict[str, Any] = {} + if filter_page_id is not unset: + kwargs["filter_page_id"] = filter_page_id + + if page_offset is not unset: + kwargs["page_offset"] = page_offset + + if page_limit is not unset: + kwargs["page_limit"] = page_limit + + if include is not unset: + kwargs["include"] = include + + if filter_status is not unset: + kwargs["filter_status"] = filter_status + + return self._list_degradations_endpoint.call_with_http_info(**kwargs) + + def list_status_pages( + self, + *, + page_offset: Union[int, UnsetType] = unset, + page_limit: Union[int, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> StatusPageArray: + """List status pages. + + Lists all status pages for the organization. + + :param page_offset: Offset to use as the start of the page. + :type page_offset: int, optional + :param page_limit: The number of status pages to return per page. + :type page_limit: int, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPageArray + """ + kwargs: Dict[str, Any] = {} + if page_offset is not unset: + kwargs["page_offset"] = page_offset + + if page_limit is not unset: + kwargs["page_limit"] = page_limit + + if include is not unset: + kwargs["include"] = include + + return self._list_status_pages_endpoint.call_with_http_info(**kwargs) + + def update_component( + self, + page_id: UUID, + component_id: UUID, + body: PatchComponentRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponent: + """Update component. + + Updates an existing component's attributes. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param component_id: The ID of the component. + :type component_id: UUID + :type body: PatchComponentRequest + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponent + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["component_id"] = component_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_component_endpoint.call_with_http_info(**kwargs) + + def update_degradation( + self, + page_id: UUID, + degradation_id: UUID, + body: PatchDegradationRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> Degradation: + """Update degradation. + + Updates an existing degradation's attributes. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param degradation_id: The ID of the degradation. + :type degradation_id: UUID + :type body: PatchDegradationRequest + :param notify_subscribers: Whether to notify page subscribers of the degradation. + :type notify_subscribers: bool, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :rtype: Degradation + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if notify_subscribers is not unset: + kwargs["notify_subscribers"] = notify_subscribers + + kwargs["degradation_id"] = degradation_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_degradation_endpoint.call_with_http_info(**kwargs) + + def update_status_page( + self, + page_id: UUID, + body: PatchStatusPageRequest, + *, + delete_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> StatusPage: + """Update status page. + + Updates an existing status page's attributes. + + :param page_id: The ID of the status page. + :type page_id: UUID + :type body: PatchStatusPageRequest + :param delete_subscribers: Whether to delete existing subscribers when updating a status page's type. + :type delete_subscribers: bool, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPage + """ + kwargs: Dict[str, Any] = {} + if delete_subscribers is not unset: + kwargs["delete_subscribers"] = delete_subscribers + + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_status_page_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/api/synthetics_api.py b/src/datadog_api_client/v2/api/synthetics_api.py index f9562aba63..263a5fb12d 100644 --- a/src/datadog_api_client/v2/api/synthetics_api.py +++ b/src/datadog_api_client/v2/api/synthetics_api.py @@ -3,21 +3,12 @@ # Copyright 2019-Present Datadog, Inc. from __future__ import annotations -from typing import Any, Dict, Union +from typing import Any, Dict from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint from datadog_api_client.configuration import Configuration -from datadog_api_client.model_utils import ( - UnsetType, - unset, -) from datadog_api_client.v2.model.on_demand_concurrency_cap_response import OnDemandConcurrencyCapResponse from datadog_api_client.v2.model.on_demand_concurrency_cap_attributes import OnDemandConcurrencyCapAttributes -from datadog_api_client.v2.model.synthetics_suite_response import SyntheticsSuiteResponse -from datadog_api_client.v2.model.suite_create_edit_request import SuiteCreateEditRequest -from datadog_api_client.v2.model.deleted_suites_response import DeletedSuitesResponse -from datadog_api_client.v2.model.deleted_suites_request_delete_request import DeletedSuitesRequestDeleteRequest -from datadog_api_client.v2.model.synthetics_suite_search_response import SyntheticsSuiteSearchResponse from datadog_api_client.v2.model.global_variable_response import GlobalVariableResponse from datadog_api_client.v2.model.global_variable_json_patch_request import GlobalVariableJsonPatchRequest @@ -38,72 +29,6 @@ def __init__(self, api_client=None): api_client = ApiClient(Configuration()) self.api_client = api_client - self._create_synthetics_suite_endpoint = _Endpoint( - settings={ - "response_type": (SyntheticsSuiteResponse,), - "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/synthetics/suites", - "operation_id": "create_synthetics_suite", - "http_method": "POST", - "version": "v2", - }, - params_map={ - "body": { - "required": True, - "openapi_types": (SuiteCreateEditRequest,), - "location": "body", - }, - }, - headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, - api_client=api_client, - ) - - self._delete_synthetics_suites_endpoint = _Endpoint( - settings={ - "response_type": (DeletedSuitesResponse,), - "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/synthetics/suites/bulk-delete", - "operation_id": "delete_synthetics_suites", - "http_method": "POST", - "version": "v2", - }, - params_map={ - "body": { - "required": True, - "openapi_types": (DeletedSuitesRequestDeleteRequest,), - "location": "body", - }, - }, - headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, - api_client=api_client, - ) - - self._edit_synthetics_suite_endpoint = _Endpoint( - settings={ - "response_type": (SyntheticsSuiteResponse,), - "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/synthetics/suites/{public_id}", - "operation_id": "edit_synthetics_suite", - "http_method": "PUT", - "version": "v2", - }, - params_map={ - "public_id": { - "required": True, - "openapi_types": (str,), - "attribute": "public_id", - "location": "path", - }, - "body": { - "required": True, - "openapi_types": (SuiteCreateEditRequest,), - "location": "body", - }, - }, - headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, - api_client=api_client, - ) - self._get_on_demand_concurrency_cap_endpoint = _Endpoint( settings={ "response_type": (OnDemandConcurrencyCapResponse,), @@ -120,29 +45,6 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._get_synthetics_suite_endpoint = _Endpoint( - settings={ - "response_type": (SyntheticsSuiteResponse,), - "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/synthetics/suites/{public_id}", - "operation_id": "get_synthetics_suite", - "http_method": "GET", - "version": "v2", - }, - params_map={ - "public_id": { - "required": True, - "openapi_types": (str,), - "attribute": "public_id", - "location": "path", - }, - }, - headers_map={ - "accept": ["application/json"], - }, - api_client=api_client, - ) - self._patch_global_variable_endpoint = _Endpoint( settings={ "response_type": (GlobalVariableResponse,), @@ -169,48 +71,6 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._search_suites_endpoint = _Endpoint( - settings={ - "response_type": (SyntheticsSuiteSearchResponse,), - "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/synthetics/suites/search", - "operation_id": "search_suites", - "http_method": "GET", - "version": "v2", - }, - params_map={ - "query": { - "openapi_types": (str,), - "attribute": "query", - "location": "query", - }, - "sort": { - "openapi_types": (str,), - "attribute": "sort", - "location": "query", - }, - "facets_only": { - "openapi_types": (bool,), - "attribute": "facets_only", - "location": "query", - }, - "start": { - "openapi_types": (int,), - "attribute": "start", - "location": "query", - }, - "count": { - "openapi_types": (int,), - "attribute": "count", - "location": "query", - }, - }, - headers_map={ - "accept": ["application/json"], - }, - api_client=api_client, - ) - self._set_on_demand_concurrency_cap_endpoint = _Endpoint( settings={ "response_type": (OnDemandConcurrencyCapResponse,), @@ -231,54 +91,6 @@ def __init__(self, api_client=None): api_client=api_client, ) - def create_synthetics_suite( - self, - body: SuiteCreateEditRequest, - ) -> SyntheticsSuiteResponse: - """Synthetics: Create a test suite. - - :type body: SuiteCreateEditRequest - :rtype: SyntheticsSuiteResponse - """ - kwargs: Dict[str, Any] = {} - kwargs["body"] = body - - return self._create_synthetics_suite_endpoint.call_with_http_info(**kwargs) - - def delete_synthetics_suites( - self, - body: DeletedSuitesRequestDeleteRequest, - ) -> DeletedSuitesResponse: - """Synthetics: Bulk delete suites. - - :type body: DeletedSuitesRequestDeleteRequest - :rtype: DeletedSuitesResponse - """ - kwargs: Dict[str, Any] = {} - kwargs["body"] = body - - return self._delete_synthetics_suites_endpoint.call_with_http_info(**kwargs) - - def edit_synthetics_suite( - self, - public_id: str, - body: SuiteCreateEditRequest, - ) -> SyntheticsSuiteResponse: - """Synthetics: Edit a test suite. - - :param public_id: The public ID of the suite to edit. - :type public_id: str - :param body: New suite details to be saved. - :type body: SuiteCreateEditRequest - :rtype: SyntheticsSuiteResponse - """ - kwargs: Dict[str, Any] = {} - kwargs["public_id"] = public_id - - kwargs["body"] = body - - return self._edit_synthetics_suite_endpoint.call_with_http_info(**kwargs) - def get_on_demand_concurrency_cap( self, ) -> OnDemandConcurrencyCapResponse: @@ -291,21 +103,6 @@ def get_on_demand_concurrency_cap( kwargs: Dict[str, Any] = {} return self._get_on_demand_concurrency_cap_endpoint.call_with_http_info(**kwargs) - def get_synthetics_suite( - self, - public_id: str, - ) -> SyntheticsSuiteResponse: - """Synthetics: Get a suite. - - :param public_id: The public ID of the suite to get details from. - :type public_id: str - :rtype: SyntheticsSuiteResponse - """ - kwargs: Dict[str, Any] = {} - kwargs["public_id"] = public_id - - return self._get_synthetics_suite_endpoint.call_with_http_info(**kwargs) - def patch_global_variable( self, variable_id: str, @@ -336,49 +133,6 @@ def patch_global_variable( return self._patch_global_variable_endpoint.call_with_http_info(**kwargs) - def search_suites( - self, - *, - query: Union[str, UnsetType] = unset, - sort: Union[str, UnsetType] = unset, - facets_only: Union[bool, UnsetType] = unset, - start: Union[int, UnsetType] = unset, - count: Union[int, UnsetType] = unset, - ) -> SyntheticsSuiteSearchResponse: - """Search Synthetics suites. - - Search for Synthetics suites. - - :param query: The search query. - :type query: str, optional - :param sort: The sort order for the results (e.g., ``name,asc`` or ``name,desc`` ). - :type sort: str, optional - :param facets_only: If true, return only facets instead of full test details. - :type facets_only: bool, optional - :param start: The offset from which to start returning results. - :type start: int, optional - :param count: The maximum number of results to return. - :type count: int, optional - :rtype: SyntheticsSuiteSearchResponse - """ - kwargs: Dict[str, Any] = {} - if query is not unset: - kwargs["query"] = query - - if sort is not unset: - kwargs["sort"] = sort - - if facets_only is not unset: - kwargs["facets_only"] = facets_only - - if start is not unset: - kwargs["start"] = start - - if count is not unset: - kwargs["count"] = count - - return self._search_suites_endpoint.call_with_http_info(**kwargs) - def set_on_demand_concurrency_cap( self, body: OnDemandConcurrencyCapAttributes, diff --git a/src/datadog_api_client/v2/apis/__init__.py b/src/datadog_api_client/v2/apis/__init__.py index fcd2b05446..4420aa42c1 100644 --- a/src/datadog_api_client/v2/apis/__init__.py +++ b/src/datadog_api_client/v2/apis/__init__.py @@ -79,6 +79,7 @@ from datadog_api_client.v2.api.spans_api import SpansApi from datadog_api_client.v2.api.spans_metrics_api import SpansMetricsApi from datadog_api_client.v2.api.static_analysis_api import StaticAnalysisApi +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi from datadog_api_client.v2.api.synthetics_api import SyntheticsApi from datadog_api_client.v2.api.teams_api import TeamsApi from datadog_api_client.v2.api.test_optimization_api import TestOptimizationApi @@ -169,6 +170,7 @@ "SpansApi", "SpansMetricsApi", "StaticAnalysisApi", + "StatusPagesApi", "SyntheticsApi", "TeamsApi", "TestOptimizationApi", diff --git a/src/datadog_api_client/v2/model/deleted_suites_response.py b/src/datadog_api_client/v2/model/create_component_request.py similarity index 57% rename from src/datadog_api_client/v2/model/deleted_suites_response.py rename to src/datadog_api_client/v2/model/create_component_request.py index 637ebf027d..36bd3b050d 100644 --- a/src/datadog_api_client/v2/model/deleted_suites_response.py +++ b/src/datadog_api_client/v2/model/create_component_request.py @@ -3,7 +3,7 @@ # Copyright 2019-Present Datadog, Inc. from __future__ import annotations -from typing import List, Union, TYPE_CHECKING +from typing import Union, TYPE_CHECKING from datadog_api_client.model_utils import ( ModelNormal, @@ -14,28 +14,28 @@ if TYPE_CHECKING: - from datadog_api_client.v2.model.deleted_suite_response_data import DeletedSuiteResponseData + from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData -class DeletedSuitesResponse(ModelNormal): +class CreateComponentRequest(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.deleted_suite_response_data import DeletedSuiteResponseData + from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData return { - "data": ([DeletedSuiteResponseData],), + "data": (CreateComponentRequestData,), } attribute_map = { "data": "data", } - def __init__(self_, data: Union[List[DeletedSuiteResponseData], UnsetType] = unset, **kwargs): + def __init__(self_, data: Union[CreateComponentRequestData, UnsetType] = unset, **kwargs): """ :param data: - :type data: [DeletedSuiteResponseData], optional + :type data: CreateComponentRequestData, optional """ if data is not unset: kwargs["data"] = data diff --git a/src/datadog_api_client/v2/model/create_component_request_data.py b/src/datadog_api_client/v2/model/create_component_request_data.py new file mode 100644 index 0000000000..a4ace364ed --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data.py @@ -0,0 +1,74 @@ +# 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.create_component_request_data_attributes import ( + CreateComponentRequestDataAttributes, + ) + from datadog_api_client.v2.model.create_component_request_data_relationships import ( + CreateComponentRequestDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class CreateComponentRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_attributes import ( + CreateComponentRequestDataAttributes, + ) + from datadog_api_client.v2.model.create_component_request_data_relationships import ( + CreateComponentRequestDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (CreateComponentRequestDataAttributes,), + "relationships": (CreateComponentRequestDataRelationships,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[CreateComponentRequestDataAttributes, UnsetType] = unset, + relationships: Union[CreateComponentRequestDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The supported attributes for creating a component. + :type attributes: CreateComponentRequestDataAttributes, optional + + :param relationships: The supported relationships for creating a component. + :type relationships: CreateComponentRequestDataRelationships, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_component_request_data_attributes.py b/src/datadog_api_client/v2/model/create_component_request_data_attributes.py new file mode 100644 index 0000000000..d29209cad7 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_attributes.py @@ -0,0 +1,78 @@ +# 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.create_component_request_data_attributes_components_items import ( + CreateComponentRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class CreateComponentRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_attributes_components_items import ( + CreateComponentRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([CreateComponentRequestDataAttributesComponentsItems],), + "name": (str,), + "position": (int,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "name": "name", + "position": "position", + "type": "type", + } + + def __init__( + self_, + name: str, + position: int, + type: CreateComponentRequestDataAttributesType, + components: Union[List[CreateComponentRequestDataAttributesComponentsItems], UnsetType] = unset, + **kwargs, + ): + """ + The supported attributes for creating a component. + + :param components: If creating a component of type ``group`` , the components to create within the group. + :type components: [CreateComponentRequestDataAttributesComponentsItems], optional + + :param name: The name of the component. + :type name: str + + :param position: The zero-indexed position of the component. + :type position: int + + :param type: The type of the component. + :type type: CreateComponentRequestDataAttributesType + """ + if components is not unset: + kwargs["components"] = components + super().__init__(kwargs) + + self_.name = name + self_.position = position + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_component_request_data_attributes_components_items.py b/src/datadog_api_client/v2/model/create_component_request_data_attributes_components_items.py new file mode 100644 index 0000000000..cb261f1f0a --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_attributes_components_items.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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class CreateComponentRequestDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "name": (str,), + "position": (int,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "name": "name", + "position": "position", + "type": "type", + } + + def __init__( + self_, name: str, position: int, type: StatusPagesComponentGroupAttributesComponentsItemsType, **kwargs + ): + """ + + + :param name: The name of the grouped component. + :type name: str + + :param position: The zero-indexed position of the grouped component relative to the other components in the group. + :type position: int + + :param type: The type of the component. + :type type: StatusPagesComponentGroupAttributesComponentsItemsType + """ + super().__init__(kwargs) + + self_.name = name + self_.position = position + self_.type = type diff --git a/src/datadog_api_client/v2/model/synthetics_suite_test_alerting_criticality.py b/src/datadog_api_client/v2/model/create_component_request_data_attributes_type.py similarity index 51% rename from src/datadog_api_client/v2/model/synthetics_suite_test_alerting_criticality.py rename to src/datadog_api_client/v2/model/create_component_request_data_attributes_type.py index 5bf3ac8f2e..789b6fc640 100644 --- a/src/datadog_api_client/v2/model/synthetics_suite_test_alerting_criticality.py +++ b/src/datadog_api_client/v2/model/create_component_request_data_attributes_type.py @@ -12,20 +12,20 @@ from typing import ClassVar -class SyntheticsSuiteTestAlertingCriticality(ModelSimple): +class CreateComponentRequestDataAttributesType(ModelSimple): """ - Alerting criticality for each the test. + The type of the component. - :param value: Must be one of ["ignore", "critical"]. + :param value: Must be one of ["component", "group"]. :type value: str """ allowed_values = { - "ignore", - "critical", + "component", + "group", } - IGNORE: ClassVar["SyntheticsSuiteTestAlertingCriticality"] - CRITICAL: ClassVar["SyntheticsSuiteTestAlertingCriticality"] + COMPONENT: ClassVar["CreateComponentRequestDataAttributesType"] + GROUP: ClassVar["CreateComponentRequestDataAttributesType"] @cached_property def openapi_types(_): @@ -34,5 +34,5 @@ def openapi_types(_): } -SyntheticsSuiteTestAlertingCriticality.IGNORE = SyntheticsSuiteTestAlertingCriticality("ignore") -SyntheticsSuiteTestAlertingCriticality.CRITICAL = SyntheticsSuiteTestAlertingCriticality("critical") +CreateComponentRequestDataAttributesType.COMPONENT = CreateComponentRequestDataAttributesType("component") +CreateComponentRequestDataAttributesType.GROUP = CreateComponentRequestDataAttributesType("group") diff --git a/src/datadog_api_client/v2/model/create_component_request_data_relationships.py b/src/datadog_api_client/v2/model/create_component_request_data_relationships.py new file mode 100644 index 0000000000..73aaf7d506 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_relationships.py @@ -0,0 +1,46 @@ +# 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.create_component_request_data_relationships_group import ( + CreateComponentRequestDataRelationshipsGroup, + ) + + +class CreateComponentRequestDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_relationships_group import ( + CreateComponentRequestDataRelationshipsGroup, + ) + + return { + "group": (CreateComponentRequestDataRelationshipsGroup,), + } + + attribute_map = { + "group": "group", + } + + def __init__(self_, group: Union[CreateComponentRequestDataRelationshipsGroup, UnsetType] = unset, **kwargs): + """ + The supported relationships for creating a component. + + :param group: + :type group: CreateComponentRequestDataRelationshipsGroup, optional + """ + if group is not unset: + kwargs["group"] = group + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_component_request_data_relationships_group.py b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group.py new file mode 100644 index 0000000000..7df2c392b0 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group.py @@ -0,0 +1,45 @@ +# 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, + none_type, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_component_request_data_relationships_group_data import ( + CreateComponentRequestDataRelationshipsGroupData, + ) + + +class CreateComponentRequestDataRelationshipsGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_relationships_group_data import ( + CreateComponentRequestDataRelationshipsGroupData, + ) + + return { + "data": (CreateComponentRequestDataRelationshipsGroupData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[CreateComponentRequestDataRelationshipsGroupData, none_type], **kwargs): + """ + + + :param data: + :type data: CreateComponentRequestDataRelationshipsGroupData, none_type + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/create_component_request_data_relationships_group_data.py b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group_data.py new file mode 100644 index 0000000000..de3b395b3d --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group_data.py @@ -0,0 +1,49 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class CreateComponentRequestDataRelationshipsGroupData(ModelNormal): + _nullable = True + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "id": (UUID,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPagesComponentGroupType, **kwargs): + """ + + + :param id: The ID of the group. + :type id: UUID + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/synthetics_suite_search_response.py b/src/datadog_api_client/v2/model/create_degradation_request.py similarity index 53% rename from src/datadog_api_client/v2/model/synthetics_suite_search_response.py rename to src/datadog_api_client/v2/model/create_degradation_request.py index 67340a1f80..dabff86c80 100644 --- a/src/datadog_api_client/v2/model/synthetics_suite_search_response.py +++ b/src/datadog_api_client/v2/model/create_degradation_request.py @@ -14,28 +14,28 @@ if TYPE_CHECKING: - from datadog_api_client.v2.model.synthetics_suite_search_response_data import SyntheticsSuiteSearchResponseData + from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData -class SyntheticsSuiteSearchResponse(ModelNormal): +class CreateDegradationRequest(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite_search_response_data import SyntheticsSuiteSearchResponseData + from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData return { - "data": (SyntheticsSuiteSearchResponseData,), + "data": (CreateDegradationRequestData,), } attribute_map = { "data": "data", } - def __init__(self_, data: Union[SyntheticsSuiteSearchResponseData, UnsetType] = unset, **kwargs): + def __init__(self_, data: Union[CreateDegradationRequestData, UnsetType] = unset, **kwargs): """ - Synthetics suite search response - :param data: Synthetics suite search response data - :type data: SyntheticsSuiteSearchResponseData, optional + + :param data: + :type data: CreateDegradationRequestData, optional """ if data is not unset: kwargs["data"] = data diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data.py b/src/datadog_api_client/v2/model/create_degradation_request_data.py new file mode 100644 index 0000000000..a930122ead --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_data.py @@ -0,0 +1,60 @@ +# 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.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + +class CreateDegradationRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + return { + "attributes": (CreateDegradationRequestDataAttributes,), + "type": (PatchDegradationRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + type: PatchDegradationRequestDataType, + attributes: Union[CreateDegradationRequestDataAttributes, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The supported attributes for creating a degradation. + :type attributes: CreateDegradationRequestDataAttributes, optional + + :param type: Degradations resource type. + :type type: PatchDegradationRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data_attributes.py b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes.py new file mode 100644 index 0000000000..a1ec844a09 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes.py @@ -0,0 +1,78 @@ +# 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.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + +class CreateDegradationRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + return { + "components_affected": ([CreateDegradationRequestDataAttributesComponentsAffectedItems],), + "description": (str,), + "status": (CreateDegradationRequestDataAttributesStatus,), + "title": (str,), + } + + attribute_map = { + "components_affected": "components_affected", + "description": "description", + "status": "status", + "title": "title", + } + + def __init__( + self_, + components_affected: List[CreateDegradationRequestDataAttributesComponentsAffectedItems], + status: CreateDegradationRequestDataAttributesStatus, + title: str, + description: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + The supported attributes for creating a degradation. + + :param components_affected: The components affected by the degradation. + :type components_affected: [CreateDegradationRequestDataAttributesComponentsAffectedItems] + + :param description: The description of the degradation. + :type description: str, optional + + :param status: The status of the degradation. + :type status: CreateDegradationRequestDataAttributesStatus + + :param title: The title of the degradation. + :type title: str + """ + if description is not unset: + kwargs["description"] = description + super().__init__(kwargs) + + self_.components_affected = components_affected + self_.status = status + self_.title = title diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..675885d541 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_components_affected_items.py @@ -0,0 +1,65 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class CreateDegradationRequestDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: UUID, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: The ID of the component. Must be a component of type ``component``. + :type id: UUID + + :param name: + :type name: str, optional + + :param status: The status of the component. + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_status.py b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_status.py new file mode 100644 index 0000000000..6bf5ae88bf --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_status.py @@ -0,0 +1,46 @@ +# 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 CreateDegradationRequestDataAttributesStatus(ModelSimple): + """ + The status of the degradation. + + :param value: Must be one of ["investigating", "identified", "monitoring", "resolved"]. + :type value: str + """ + + allowed_values = { + "investigating", + "identified", + "monitoring", + "resolved", + } + INVESTIGATING: ClassVar["CreateDegradationRequestDataAttributesStatus"] + IDENTIFIED: ClassVar["CreateDegradationRequestDataAttributesStatus"] + MONITORING: ClassVar["CreateDegradationRequestDataAttributesStatus"] + RESOLVED: ClassVar["CreateDegradationRequestDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +CreateDegradationRequestDataAttributesStatus.INVESTIGATING = CreateDegradationRequestDataAttributesStatus( + "investigating" +) +CreateDegradationRequestDataAttributesStatus.IDENTIFIED = CreateDegradationRequestDataAttributesStatus("identified") +CreateDegradationRequestDataAttributesStatus.MONITORING = CreateDegradationRequestDataAttributesStatus("monitoring") +CreateDegradationRequestDataAttributesStatus.RESOLVED = CreateDegradationRequestDataAttributesStatus("resolved") diff --git a/src/datadog_api_client/v2/model/synthetics_suite_response.py b/src/datadog_api_client/v2/model/create_status_page_request.py similarity index 58% rename from src/datadog_api_client/v2/model/synthetics_suite_response.py rename to src/datadog_api_client/v2/model/create_status_page_request.py index 548f00063d..ec77fbd710 100644 --- a/src/datadog_api_client/v2/model/synthetics_suite_response.py +++ b/src/datadog_api_client/v2/model/create_status_page_request.py @@ -14,28 +14,28 @@ if TYPE_CHECKING: - from datadog_api_client.v2.model.synthetics_suite_response_data import SyntheticsSuiteResponseData + from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData -class SyntheticsSuiteResponse(ModelNormal): +class CreateStatusPageRequest(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite_response_data import SyntheticsSuiteResponseData + from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData return { - "data": (SyntheticsSuiteResponseData,), + "data": (CreateStatusPageRequestData,), } attribute_map = { "data": "data", } - def __init__(self_, data: Union[SyntheticsSuiteResponseData, UnsetType] = unset, **kwargs): + def __init__(self_, data: Union[CreateStatusPageRequestData, UnsetType] = unset, **kwargs): """ - Synthetics suite response - :param data: Synthetics suite response data - :type data: SyntheticsSuiteResponseData, optional + + :param data: + :type data: CreateStatusPageRequestData, optional """ if data is not unset: kwargs["data"] = data diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data.py b/src/datadog_api_client/v2/model/create_status_page_request_data.py new file mode 100644 index 0000000000..6fe4fb7719 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data.py @@ -0,0 +1,60 @@ +# 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.create_status_page_request_data_attributes import ( + CreateStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class CreateStatusPageRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes import ( + CreateStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (CreateStatusPageRequestDataAttributes,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[CreateStatusPageRequestDataAttributes, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The supported attributes for creating a status page. + :type attributes: CreateStatusPageRequestDataAttributes, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes.py new file mode 100644 index 0000000000..a4618a84e0 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes.py @@ -0,0 +1,130 @@ +# 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.create_status_page_request_data_attributes_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class CreateStatusPageRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str,), + "components": ([CreateStatusPageRequestDataAttributesComponentsItems],), + "domain_prefix": (str,), + "email_header_image": (str,), + "enabled": (bool,), + "favicon": (str,), + "name": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "components": "components", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "name": "name", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + domain_prefix: str, + enabled: bool, + name: str, + type: CreateStatusPageRequestDataAttributesType, + visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, + company_logo: Union[str, UnsetType] = unset, + components: Union[List[CreateStatusPageRequestDataAttributesComponentsItems], UnsetType] = unset, + email_header_image: Union[str, UnsetType] = unset, + favicon: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + The supported attributes for creating a status page. + + :param company_logo: The base64-encoded image data displayed on the status page. + :type company_logo: str, optional + + :param components: The components displayed on the status page. + :type components: [CreateStatusPageRequestDataAttributesComponentsItems], optional + + :param domain_prefix: The subdomain of the status page's url taking the form ``https://{domain_prefix}.statuspage.datadoghq.com``. Globally unique across Datadog Status Pages. + :type domain_prefix: str + + :param email_header_image: Base64-encoded image data included in email notifications sent to status page subscribers. + :type email_header_image: str, optional + + :param enabled: Whether the status page is enabled. + :type enabled: bool + + :param favicon: Base64-encoded image data displayed in the browser tab. + :type favicon: str, optional + + :param name: The name of the status page. + :type name: str + + :param subscriptions_enabled: Whether users can subscribe to the status page. + :type subscriptions_enabled: bool, optional + + :param type: The type of the status page controlling how the status page is accessed. + :type type: CreateStatusPageRequestDataAttributesType + + :param visualization_type: The visualization type of the status page. + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if components is not unset: + kwargs["components"] = components + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if favicon is not unset: + kwargs["favicon"] = favicon + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + super().__init__(kwargs) + + self_.domain_prefix = domain_prefix + self_.enabled = enabled + self_.name = name + self_.type = type + self_.visualization_type = visualization_type diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items.py new file mode 100644 index 0000000000..703bbcdf2e --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items.py @@ -0,0 +1,107 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class CreateStatusPageRequestDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems],), + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + components: Union[List[CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems], UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[CreateComponentRequestDataAttributesType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: If creating a component of type ``group`` , the components to create within the group. + :type components: [CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems], optional + + :param id: The ID of the component. + :type id: UUID, optional + + :param name: The name of the component. + :type name: str, optional + + :param position: The zero-indexed position of the component. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: CreateComponentRequestDataAttributesType, optional + """ + if components is not unset: + kwargs["components"] = components + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items_components_items.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items_components_items.py new file mode 100644 index 0000000000..c5e47092cd --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items_components_items.py @@ -0,0 +1,93 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: The ID of the grouped component. + :type id: UUID, optional + + :param name: The name of the grouped component. + :type name: str, optional + + :param position: The zero-indexed position of the grouped component. Relative to the other components in the group. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_type.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_type.py new file mode 100644 index 0000000000..20ba0e8a2d --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_type.py @@ -0,0 +1,38 @@ +# 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 CreateStatusPageRequestDataAttributesType(ModelSimple): + """ + The type of the status page controlling how the status page is accessed. + + :param value: Must be one of ["public", "internal"]. + :type value: str + """ + + allowed_values = { + "public", + "internal", + } + PUBLIC: ClassVar["CreateStatusPageRequestDataAttributesType"] + INTERNAL: ClassVar["CreateStatusPageRequestDataAttributesType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +CreateStatusPageRequestDataAttributesType.PUBLIC = CreateStatusPageRequestDataAttributesType("public") +CreateStatusPageRequestDataAttributesType.INTERNAL = CreateStatusPageRequestDataAttributesType("internal") diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_visualization_type.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_visualization_type.py new file mode 100644 index 0000000000..660efe87c7 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_visualization_type.py @@ -0,0 +1,47 @@ +# 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 CreateStatusPageRequestDataAttributesVisualizationType(ModelSimple): + """ + The visualization type of the status page. + + :param value: Must be one of ["bars_and_uptime_percentage", "bars_only", "component_name_only"]. + :type value: str + """ + + allowed_values = { + "bars_and_uptime_percentage", + "bars_only", + "component_name_only", + } + BARS_AND_UPTIME_PERCENTAGE: ClassVar["CreateStatusPageRequestDataAttributesVisualizationType"] + BARS_ONLY: ClassVar["CreateStatusPageRequestDataAttributesVisualizationType"] + COMPONENT_NAME_ONLY: ClassVar["CreateStatusPageRequestDataAttributesVisualizationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +CreateStatusPageRequestDataAttributesVisualizationType.BARS_AND_UPTIME_PERCENTAGE = ( + CreateStatusPageRequestDataAttributesVisualizationType("bars_and_uptime_percentage") +) +CreateStatusPageRequestDataAttributesVisualizationType.BARS_ONLY = ( + CreateStatusPageRequestDataAttributesVisualizationType("bars_only") +) +CreateStatusPageRequestDataAttributesVisualizationType.COMPONENT_NAME_ONLY = ( + CreateStatusPageRequestDataAttributesVisualizationType("component_name_only") +) diff --git a/src/datadog_api_client/v2/model/degradation.py b/src/datadog_api_client/v2/model/degradation.py new file mode 100644 index 0000000000..8cfe1918aa --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation.py @@ -0,0 +1,60 @@ +# 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.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + +class Degradation(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + + return { + "data": (DegradationData,), + "included": ([DegradationArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: Union[DegradationData, UnsetType] = unset, + included: Union[ + List[Union[DegradationArrayIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType + ] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: DegradationData, optional + + :param included: The included related resources of a degradation. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [DegradationArrayIncluded], optional + """ + if data is not unset: + kwargs["data"] = data + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_array.py b/src/datadog_api_client/v2/model/degradation_array.py new file mode 100644 index 0000000000..6f838f40e6 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_array.py @@ -0,0 +1,73 @@ +# 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.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + +class DegradationArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta + + return { + "data": ([DegradationData],), + "included": ([DegradationArrayIncluded],), + "meta": (StatusPagesResponseMeta,), + } + + attribute_map = { + "data": "data", + "included": "included", + "meta": "meta", + } + read_only_vars = { + "meta", + } + + def __init__( + self_, + data: List[DegradationData], + included: Union[ + List[Union[DegradationArrayIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType + ] = unset, + meta: Union[StatusPagesResponseMeta, UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: [DegradationData] + + :param included: The included related resources of a degradation. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [DegradationArrayIncluded], optional + + :param meta: Response metadata. + :type meta: StatusPagesResponseMeta, optional + """ + if included is not unset: + kwargs["included"] = included + if meta is not unset: + kwargs["meta"] = meta + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/degradation_array_included.py b/src/datadog_api_client/v2/model/degradation_array_included.py new file mode 100644 index 0000000000..d128527578 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_array_included.py @@ -0,0 +1,49 @@ +# 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 ( + ModelComposed, + cached_property, +) + + +class DegradationArrayIncluded(ModelComposed): + def __init__(self, **kwargs): + """ + + + :param attributes: Attributes of the Datadog user. + :type attributes: StatusPagesUserAttributes, optional + + :param id: The ID of the Datadog user. + :type id: UUID, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + + :param relationships: The relationships of a status page. + :type relationships: StatusPageAsIncludedRelationships, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + return { + "oneOf": [ + StatusPagesUser, + StatusPageAsIncluded, + ], + } diff --git a/src/datadog_api_client/v2/model/degradation_data.py b/src/datadog_api_client/v2/model/degradation_data.py new file mode 100644 index 0000000000..d074a34027 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data.py @@ -0,0 +1,75 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.degradation_data_attributes import DegradationDataAttributes + from datadog_api_client.v2.model.degradation_data_relationships import DegradationDataRelationships + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + +class DegradationData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_attributes import DegradationDataAttributes + from datadog_api_client.v2.model.degradation_data_relationships import DegradationDataRelationships + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + return { + "attributes": (DegradationDataAttributes,), + "id": (UUID,), + "relationships": (DegradationDataRelationships,), + "type": (PatchDegradationRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: PatchDegradationRequestDataType, + attributes: Union[DegradationDataAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + relationships: Union[DegradationDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The attributes of a degradation. + :type attributes: DegradationDataAttributes, optional + + :param id: The ID of the degradation. + :type id: UUID, optional + + :param relationships: The relationships of a degradation. + :type relationships: DegradationDataRelationships, optional + + :param type: Degradations resource type. + :type type: PatchDegradationRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes.py b/src/datadog_api_client/v2/model/degradation_data_attributes.py new file mode 100644 index 0000000000..b781b9ad5b --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes.py @@ -0,0 +1,111 @@ +# 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.degradation_data_attributes_components_affected_items import ( + DegradationDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + from datadog_api_client.v2.model.degradation_data_attributes_updates_items import ( + DegradationDataAttributesUpdatesItems, + ) + + +class DegradationDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_attributes_components_affected_items import ( + DegradationDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + from datadog_api_client.v2.model.degradation_data_attributes_updates_items import ( + DegradationDataAttributesUpdatesItems, + ) + + return { + "components_affected": ([DegradationDataAttributesComponentsAffectedItems],), + "created_at": (datetime,), + "description": (str,), + "modified_at": (datetime,), + "status": (CreateDegradationRequestDataAttributesStatus,), + "title": (str,), + "updates": ([DegradationDataAttributesUpdatesItems],), + } + + attribute_map = { + "components_affected": "components_affected", + "created_at": "created_at", + "description": "description", + "modified_at": "modified_at", + "status": "status", + "title": "title", + "updates": "updates", + } + + def __init__( + self_, + components_affected: Union[List[DegradationDataAttributesComponentsAffectedItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + description: Union[str, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + status: Union[CreateDegradationRequestDataAttributesStatus, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + updates: Union[List[DegradationDataAttributesUpdatesItems], UnsetType] = unset, + **kwargs, + ): + """ + The attributes of a degradation. + + :param components_affected: Components affected by the degradation. + :type components_affected: [DegradationDataAttributesComponentsAffectedItems], optional + + :param created_at: Timestamp of when the degradation was created. + :type created_at: datetime, optional + + :param description: Description of the degradation. + :type description: str, optional + + :param modified_at: Timestamp of when the degradation was last modified. + :type modified_at: datetime, optional + + :param status: The status of the degradation. + :type status: CreateDegradationRequestDataAttributesStatus, optional + + :param title: Title of the degradation. + :type title: str, optional + + :param updates: Past updates made to the degradation. + :type updates: [DegradationDataAttributesUpdatesItems], optional + """ + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if created_at is not unset: + kwargs["created_at"] = created_at + if description is not unset: + kwargs["description"] = description + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if status is not unset: + kwargs["status"] = status + if title is not unset: + kwargs["title"] = title + if updates is not unset: + kwargs["updates"] = updates + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/degradation_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..bbf6985b21 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_components_affected_items.py @@ -0,0 +1,65 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class DegradationDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: UUID, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: The ID of the component. + :type id: UUID + + :param name: The name of the component. + :type name: str, optional + + :param status: The status of the component. + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py new file mode 100644 index 0000000000..3049bf8c56 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py @@ -0,0 +1,105 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items import ( + DegradationDataAttributesUpdatesItemsComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + +class DegradationDataAttributesUpdatesItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items import ( + DegradationDataAttributesUpdatesItemsComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + return { + "components_affected": ([DegradationDataAttributesUpdatesItemsComponentsAffectedItems],), + "created_at": (datetime,), + "description": (str,), + "id": (UUID,), + "modified_at": (datetime,), + "status": (CreateDegradationRequestDataAttributesStatus,), + } + + attribute_map = { + "components_affected": "components_affected", + "created_at": "created_at", + "description": "description", + "id": "id", + "modified_at": "modified_at", + "status": "status", + } + read_only_vars = { + "created_at", + "id", + "modified_at", + } + + def __init__( + self_, + components_affected: Union[ + List[DegradationDataAttributesUpdatesItemsComponentsAffectedItems], UnsetType + ] = unset, + created_at: Union[datetime, UnsetType] = unset, + description: Union[str, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + status: Union[CreateDegradationRequestDataAttributesStatus, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components_affected: The components affected at the time of the update. + :type components_affected: [DegradationDataAttributesUpdatesItemsComponentsAffectedItems], optional + + :param created_at: Timestamp of when the update was created. + :type created_at: datetime, optional + + :param description: Description of the update. + :type description: str, optional + + :param id: Identifier of the update. + :type id: UUID, optional + + :param modified_at: Timestamp of when the update was last modified. + :type modified_at: datetime, optional + + :param status: The status of the degradation. + :type status: CreateDegradationRequestDataAttributesStatus, optional + """ + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if created_at is not unset: + kwargs["created_at"] = created_at + if description is not unset: + kwargs["description"] = description + if id is not unset: + kwargs["id"] = id + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items_components_affected_items.py b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items_components_affected_items.py new file mode 100644 index 0000000000..8fb286d7c5 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items_components_affected_items.py @@ -0,0 +1,65 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class DegradationDataAttributesUpdatesItemsComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: UUID, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: Identifier of the component affected at the time of the update. + :type id: UUID + + :param name: The name of the component affected at the time of the update. + :type name: str, optional + + :param status: The status of the component. + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships.py b/src/datadog_api_client/v2/model/degradation_data_relationships.py new file mode 100644 index 0000000000..2b5cadfe7c --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships.py @@ -0,0 +1,78 @@ +# 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.degradation_data_relationships_created_by_user import ( + DegradationDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user import ( + DegradationDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_status_page import ( + DegradationDataRelationshipsStatusPage, + ) + + +class DegradationDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_relationships_created_by_user import ( + DegradationDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user import ( + DegradationDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_status_page import ( + DegradationDataRelationshipsStatusPage, + ) + + return { + "created_by_user": (DegradationDataRelationshipsCreatedByUser,), + "last_modified_by_user": (DegradationDataRelationshipsLastModifiedByUser,), + "status_page": (DegradationDataRelationshipsStatusPage,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + "status_page": "status_page", + } + + def __init__( + self_, + created_by_user: Union[DegradationDataRelationshipsCreatedByUser, UnsetType] = unset, + last_modified_by_user: Union[DegradationDataRelationshipsLastModifiedByUser, UnsetType] = unset, + status_page: Union[DegradationDataRelationshipsStatusPage, UnsetType] = unset, + **kwargs, + ): + """ + The relationships of a degradation. + + :param created_by_user: + :type created_by_user: DegradationDataRelationshipsCreatedByUser, optional + + :param last_modified_by_user: + :type last_modified_by_user: DegradationDataRelationshipsLastModifiedByUser, optional + + :param status_page: + :type status_page: DegradationDataRelationshipsStatusPage, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + if status_page is not unset: + kwargs["status_page"] = status_page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user.py b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user.py new file mode 100644 index 0000000000..b4c4142d22 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.degradation_data_relationships_created_by_user_data import ( + DegradationDataRelationshipsCreatedByUserData, + ) + + +class DegradationDataRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_relationships_created_by_user_data import ( + DegradationDataRelationshipsCreatedByUserData, + ) + + return { + "data": (DegradationDataRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: DegradationDataRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: DegradationDataRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user_data.py new file mode 100644 index 0000000000..be305786f0 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class DegradationDataRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who created the degradation. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..442c01e9a8 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user_data import ( + DegradationDataRelationshipsLastModifiedByUserData, + ) + + +class DegradationDataRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user_data import ( + DegradationDataRelationshipsLastModifiedByUserData, + ) + + return { + "data": (DegradationDataRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: DegradationDataRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: DegradationDataRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..81df21f21f --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class DegradationDataRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who last modified the degradation. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/suite_create_edit_request.py b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page.py similarity index 52% rename from src/datadog_api_client/v2/model/suite_create_edit_request.py rename to src/datadog_api_client/v2/model/degradation_data_relationships_status_page.py index 8ce9a26d0e..601fc8a24e 100644 --- a/src/datadog_api_client/v2/model/suite_create_edit_request.py +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page.py @@ -12,28 +12,32 @@ if TYPE_CHECKING: - from datadog_api_client.v2.model.suite_create_edit import SuiteCreateEdit + from datadog_api_client.v2.model.degradation_data_relationships_status_page_data import ( + DegradationDataRelationshipsStatusPageData, + ) -class SuiteCreateEditRequest(ModelNormal): +class DegradationDataRelationshipsStatusPage(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.suite_create_edit import SuiteCreateEdit + from datadog_api_client.v2.model.degradation_data_relationships_status_page_data import ( + DegradationDataRelationshipsStatusPageData, + ) return { - "data": (SuiteCreateEdit,), + "data": (DegradationDataRelationshipsStatusPageData,), } attribute_map = { "data": "data", } - def __init__(self_, data: SuiteCreateEdit, **kwargs): + def __init__(self_, data: DegradationDataRelationshipsStatusPageData, **kwargs): """ :param data: - :type data: SuiteCreateEdit + :type data: DegradationDataRelationshipsStatusPageData """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_status_page_data.py b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page_data.py new file mode 100644 index 0000000000..82369ae59a --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page_data.py @@ -0,0 +1,47 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class DegradationDataRelationshipsStatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "id": (UUID,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPageDataType, **kwargs): + """ + + + :param id: The ID of the status page. + :type id: UUID + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/deleted_suite_response_data.py b/src/datadog_api_client/v2/model/deleted_suite_response_data.py deleted file mode 100644 index 7862047d05..0000000000 --- a/src/datadog_api_client/v2/model/deleted_suite_response_data.py +++ /dev/null @@ -1,66 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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.deleted_suite_response_data_attributes import DeletedSuiteResponseDataAttributes - from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - - -class DeletedSuiteResponseData(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.deleted_suite_response_data_attributes import ( - DeletedSuiteResponseDataAttributes, - ) - from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - - return { - "attributes": (DeletedSuiteResponseDataAttributes,), - "id": (str,), - "type": (SyntheticsSuiteTypes,), - } - - attribute_map = { - "attributes": "attributes", - "id": "id", - "type": "type", - } - - def __init__( - self_, - attributes: Union[DeletedSuiteResponseDataAttributes, UnsetType] = unset, - id: Union[str, UnsetType] = unset, - type: Union[SyntheticsSuiteTypes, UnsetType] = unset, - **kwargs, - ): - """ - - - :param attributes: - :type attributes: DeletedSuiteResponseDataAttributes, optional - - :param id: - :type id: str, optional - - :param type: Type for the Synthetics suites responses, ``suites``. - :type type: SyntheticsSuiteTypes, optional - """ - if attributes is not unset: - kwargs["attributes"] = attributes - if id is not unset: - kwargs["id"] = id - if type is not unset: - kwargs["type"] = type - super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/deleted_suite_response_data_attributes.py b/src/datadog_api_client/v2/model/deleted_suite_response_data_attributes.py deleted file mode 100644 index 58dc23ac18..0000000000 --- a/src/datadog_api_client/v2/model/deleted_suite_response_data_attributes.py +++ /dev/null @@ -1,43 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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 DeletedSuiteResponseDataAttributes(ModelNormal): - @cached_property - def openapi_types(_): - return { - "deleted_at": (str,), - "public_id": (str,), - } - - attribute_map = { - "deleted_at": "deleted_at", - "public_id": "public_id", - } - - def __init__(self_, deleted_at: Union[str, UnsetType] = unset, public_id: Union[str, UnsetType] = unset, **kwargs): - """ - - - :param deleted_at: Deletion timestamp of the Synthetic suite ID. - :type deleted_at: str, optional - - :param public_id: The Synthetic suite ID deleted. - :type public_id: str, optional - """ - if deleted_at is not unset: - kwargs["deleted_at"] = deleted_at - if public_id is not unset: - kwargs["public_id"] = public_id - super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/deleted_suites_request_delete.py b/src/datadog_api_client/v2/model/deleted_suites_request_delete.py deleted file mode 100644 index ba79c280d4..0000000000 --- a/src/datadog_api_client/v2/model/deleted_suites_request_delete.py +++ /dev/null @@ -1,68 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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.deleted_suites_request_delete_attributes import ( - DeletedSuitesRequestDeleteAttributes, - ) - from datadog_api_client.v2.model.deleted_suites_request_type import DeletedSuitesRequestType - - -class DeletedSuitesRequestDelete(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.deleted_suites_request_delete_attributes import ( - DeletedSuitesRequestDeleteAttributes, - ) - from datadog_api_client.v2.model.deleted_suites_request_type import DeletedSuitesRequestType - - return { - "attributes": (DeletedSuitesRequestDeleteAttributes,), - "id": (str,), - "type": (DeletedSuitesRequestType,), - } - - attribute_map = { - "attributes": "attributes", - "id": "id", - "type": "type", - } - - def __init__( - self_, - attributes: DeletedSuitesRequestDeleteAttributes, - id: Union[str, UnsetType] = unset, - type: Union[DeletedSuitesRequestType, UnsetType] = unset, - **kwargs, - ): - """ - - - :param attributes: - :type attributes: DeletedSuitesRequestDeleteAttributes - - :param id: - :type id: str, optional - - :param type: - :type type: DeletedSuitesRequestType, optional - """ - if id is not unset: - kwargs["id"] = id - if type is not unset: - kwargs["type"] = type - super().__init__(kwargs) - - self_.attributes = attributes diff --git a/src/datadog_api_client/v2/model/deleted_suites_request_delete_attributes.py b/src/datadog_api_client/v2/model/deleted_suites_request_delete_attributes.py deleted file mode 100644 index d8b88938ae..0000000000 --- a/src/datadog_api_client/v2/model/deleted_suites_request_delete_attributes.py +++ /dev/null @@ -1,43 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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 DeletedSuitesRequestDeleteAttributes(ModelNormal): - @cached_property - def openapi_types(_): - return { - "force_delete_dependencies": (bool,), - "public_ids": ([str],), - } - - attribute_map = { - "force_delete_dependencies": "force_delete_dependencies", - "public_ids": "public_ids", - } - - def __init__(self_, public_ids: List[str], force_delete_dependencies: Union[bool, UnsetType] = unset, **kwargs): - """ - - - :param force_delete_dependencies: - :type force_delete_dependencies: bool, optional - - :param public_ids: - :type public_ids: [str] - """ - if force_delete_dependencies is not unset: - kwargs["force_delete_dependencies"] = force_delete_dependencies - super().__init__(kwargs) - - self_.public_ids = public_ids diff --git a/src/datadog_api_client/v2/model/patch_component_request.py b/src/datadog_api_client/v2/model/patch_component_request.py new file mode 100644 index 0000000000..f81f7c00b1 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_component_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.patch_component_request_data import PatchComponentRequestData + + +class PatchComponentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_component_request_data import PatchComponentRequestData + + return { + "data": (PatchComponentRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchComponentRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: PatchComponentRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_component_request_data.py b/src/datadog_api_client/v2/model/patch_component_request_data.py new file mode 100644 index 0000000000..4cba6162b9 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_component_request_data.py @@ -0,0 +1,67 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_component_request_data_attributes import PatchComponentRequestDataAttributes + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class PatchComponentRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_component_request_data_attributes import ( + PatchComponentRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (PatchComponentRequestDataAttributes,), + "id": (UUID,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[PatchComponentRequestDataAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The supported attributes for updating a component. + :type attributes: PatchComponentRequestDataAttributes, optional + + :param id: The ID of the component. + :type id: UUID, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + 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/patch_component_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_component_request_data_attributes.py new file mode 100644 index 0000000000..cc7e032a40 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_component_request_data_attributes.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 PatchComponentRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "name": (str,), + "position": (int,), + } + + attribute_map = { + "name": "name", + "position": "position", + } + + def __init__(self_, name: Union[str, UnsetType] = unset, position: Union[int, UnsetType] = unset, **kwargs): + """ + The supported attributes for updating a component. + + :param name: The name of the component. + :type name: str, optional + + :param position: The position of the component. If the component belongs to a group, the position is relative to the other components in the group. + :type position: int, optional + """ + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_degradation_request.py b/src/datadog_api_client/v2/model/patch_degradation_request.py new file mode 100644 index 0000000000..b387a6779d --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_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.patch_degradation_request_data import PatchDegradationRequestData + + +class PatchDegradationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_degradation_request_data import PatchDegradationRequestData + + return { + "data": (PatchDegradationRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchDegradationRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: PatchDegradationRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data.py b/src/datadog_api_client/v2/model/patch_degradation_request_data.py new file mode 100644 index 0000000000..5c005e6933 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data.py @@ -0,0 +1,69 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_degradation_request_data_attributes import ( + PatchDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + +class PatchDegradationRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_degradation_request_data_attributes import ( + PatchDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + return { + "attributes": (PatchDegradationRequestDataAttributes,), + "id": (UUID,), + "type": (PatchDegradationRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: PatchDegradationRequestDataType, + attributes: Union[PatchDegradationRequestDataAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The supported attributes for updating a degradation. + :type attributes: PatchDegradationRequestDataAttributes, optional + + :param id: The ID of the degradation. + :type id: UUID, optional + + :param type: Degradations resource type. + :type type: PatchDegradationRequestDataType + """ + 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/patch_degradation_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes.py new file mode 100644 index 0000000000..f624ae3905 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes.py @@ -0,0 +1,82 @@ +# 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.patch_degradation_request_data_attributes_components_affected_items import ( + PatchDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_attributes_status import ( + PatchDegradationRequestDataAttributesStatus, + ) + + +class PatchDegradationRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_degradation_request_data_attributes_components_affected_items import ( + PatchDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_attributes_status import ( + PatchDegradationRequestDataAttributesStatus, + ) + + return { + "components_affected": ([PatchDegradationRequestDataAttributesComponentsAffectedItems],), + "description": (str,), + "status": (PatchDegradationRequestDataAttributesStatus,), + "title": (str,), + } + + attribute_map = { + "components_affected": "components_affected", + "description": "description", + "status": "status", + "title": "title", + } + + def __init__( + self_, + components_affected: Union[ + List[PatchDegradationRequestDataAttributesComponentsAffectedItems], UnsetType + ] = unset, + description: Union[str, UnsetType] = unset, + status: Union[PatchDegradationRequestDataAttributesStatus, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + The supported attributes for updating a degradation. + + :param components_affected: The components affected by the degradation. + :type components_affected: [PatchDegradationRequestDataAttributesComponentsAffectedItems], optional + + :param description: The description of the degradation. + :type description: str, optional + + :param status: The status of the degradation. + :type status: PatchDegradationRequestDataAttributesStatus, optional + + :param title: The title of the degradation. + :type title: str, optional + """ + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if description is not unset: + kwargs["description"] = description + if status is not unset: + kwargs["status"] = status + if title is not unset: + kwargs["title"] = title + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..9012a75194 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_components_affected_items.py @@ -0,0 +1,65 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class PatchDegradationRequestDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: UUID, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: The ID of the component. Must be a component of type ``component``. + :type id: UUID + + :param name: + :type name: str, optional + + :param status: The status of the component. + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_status.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_status.py new file mode 100644 index 0000000000..8b8629cec4 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_status.py @@ -0,0 +1,44 @@ +# 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 PatchDegradationRequestDataAttributesStatus(ModelSimple): + """ + The status of the degradation. + + :param value: Must be one of ["investigating", "identified", "monitoring", "resolved"]. + :type value: str + """ + + allowed_values = { + "investigating", + "identified", + "monitoring", + "resolved", + } + INVESTIGATING: ClassVar["PatchDegradationRequestDataAttributesStatus"] + IDENTIFIED: ClassVar["PatchDegradationRequestDataAttributesStatus"] + MONITORING: ClassVar["PatchDegradationRequestDataAttributesStatus"] + RESOLVED: ClassVar["PatchDegradationRequestDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +PatchDegradationRequestDataAttributesStatus.INVESTIGATING = PatchDegradationRequestDataAttributesStatus("investigating") +PatchDegradationRequestDataAttributesStatus.IDENTIFIED = PatchDegradationRequestDataAttributesStatus("identified") +PatchDegradationRequestDataAttributesStatus.MONITORING = PatchDegradationRequestDataAttributesStatus("monitoring") +PatchDegradationRequestDataAttributesStatus.RESOLVED = PatchDegradationRequestDataAttributesStatus("resolved") diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data_type.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_type.py new file mode 100644 index 0000000000..10036d64b2 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_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 PatchDegradationRequestDataType(ModelSimple): + """ + Degradations resource type. + + :param value: If omitted defaults to "degradations". Must be one of ["degradations"]. + :type value: str + """ + + allowed_values = { + "degradations", + } + DEGRADATIONS: ClassVar["PatchDegradationRequestDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +PatchDegradationRequestDataType.DEGRADATIONS = PatchDegradationRequestDataType("degradations") diff --git a/src/datadog_api_client/v2/model/patch_status_page_request.py b/src/datadog_api_client/v2/model/patch_status_page_request.py new file mode 100644 index 0000000000..512018ec0f --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_status_page_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.patch_status_page_request_data import PatchStatusPageRequestData + + +class PatchStatusPageRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_status_page_request_data import PatchStatusPageRequestData + + return { + "data": (PatchStatusPageRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchStatusPageRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: PatchStatusPageRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_status_page_request_data.py b/src/datadog_api_client/v2/model/patch_status_page_request_data.py new file mode 100644 index 0000000000..846dfaaa9f --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_status_page_request_data.py @@ -0,0 +1,69 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_status_page_request_data_attributes import ( + PatchStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class PatchStatusPageRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_status_page_request_data_attributes import ( + PatchStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (PatchStatusPageRequestDataAttributes,), + "id": (UUID,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[PatchStatusPageRequestDataAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The supported attributes for updating a status page. + :type attributes: PatchStatusPageRequestDataAttributes, optional + + :param id: The ID of the status page. + :type id: UUID, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + 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/patch_status_page_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_status_page_request_data_attributes.py new file mode 100644 index 0000000000..5a5a8ead6c --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_status_page_request_data_attributes.py @@ -0,0 +1,120 @@ +# 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.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class PatchStatusPageRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str,), + "domain_prefix": (str,), + "email_header_image": (str,), + "enabled": (bool,), + "favicon": (str,), + "name": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "name": "name", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + company_logo: Union[str, UnsetType] = unset, + domain_prefix: Union[str, UnsetType] = unset, + email_header_image: Union[str, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + favicon: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + type: Union[CreateStatusPageRequestDataAttributesType, UnsetType] = unset, + visualization_type: Union[CreateStatusPageRequestDataAttributesVisualizationType, UnsetType] = unset, + **kwargs, + ): + """ + The supported attributes for updating a status page. + + :param company_logo: The base64-encoded image data displayed on the status page. + :type company_logo: str, optional + + :param domain_prefix: The subdomain of the status page's url taking the form ``https://{domain_prefix}.statuspage.datadoghq.com``. Globally unique across Datadog Status Pages. + :type domain_prefix: str, optional + + :param email_header_image: The base64-encoded image data displayed in email notifications sent to status page subscribers. + :type email_header_image: str, optional + + :param enabled: Whether the status page is enabled. + :type enabled: bool, optional + + :param favicon: The base64-encoded image data displayed in the browser tab. + :type favicon: str, optional + + :param name: The name of the status page. + :type name: str, optional + + :param subscriptions_enabled: Whether users can subscribe to the status page. + :type subscriptions_enabled: bool, optional + + :param type: The type of the status page controlling how the status page is accessed. + :type type: CreateStatusPageRequestDataAttributesType, optional + + :param visualization_type: The visualization type of the status page. + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, optional + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if domain_prefix is not unset: + kwargs["domain_prefix"] = domain_prefix + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if enabled is not unset: + kwargs["enabled"] = enabled + if favicon is not unset: + kwargs["favicon"] = favicon + if name is not unset: + kwargs["name"] = name + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + if type is not unset: + kwargs["type"] = type + if visualization_type is not unset: + kwargs["visualization_type"] = visualization_type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/security_monitoring_paginated_suppressions_response.py b/src/datadog_api_client/v2/model/security_monitoring_paginated_suppressions_response.py new file mode 100644 index 0000000000..6b583d8ed0 --- /dev/null +++ b/src/datadog_api_client/v2/model/security_monitoring_paginated_suppressions_response.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, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.security_monitoring_suppression import SecurityMonitoringSuppression + from datadog_api_client.v2.model.security_monitoring_suppressions_meta import SecurityMonitoringSuppressionsMeta + + +class SecurityMonitoringPaginatedSuppressionsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.security_monitoring_suppression import SecurityMonitoringSuppression + from datadog_api_client.v2.model.security_monitoring_suppressions_meta import SecurityMonitoringSuppressionsMeta + + return { + "data": ([SecurityMonitoringSuppression],), + "meta": (SecurityMonitoringSuppressionsMeta,), + } + + attribute_map = { + "data": "data", + "meta": "meta", + } + + def __init__( + self_, + data: Union[List[SecurityMonitoringSuppression], UnsetType] = unset, + meta: Union[SecurityMonitoringSuppressionsMeta, UnsetType] = unset, + **kwargs, + ): + """ + Response object containing the available suppression rules with pagination metadata. + + :param data: A list of suppressions objects. + :type data: [SecurityMonitoringSuppression], optional + + :param meta: Metadata for the suppression list response. + :type meta: SecurityMonitoringSuppressionsMeta, optional + """ + if data is not unset: + kwargs["data"] = data + if meta is not unset: + kwargs["meta"] = meta + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/security_monitoring_suppression_sort.py b/src/datadog_api_client/v2/model/security_monitoring_suppression_sort.py new file mode 100644 index 0000000000..86a162c776 --- /dev/null +++ b/src/datadog_api_client/v2/model/security_monitoring_suppression_sort.py @@ -0,0 +1,62 @@ +# 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 SecurityMonitoringSuppressionSort(ModelSimple): + """ + The sort parameters used for querying suppression rules. + + :param value: Must be one of ["name", "start_date", "expiration_date", "update_date", "enabled", "-name", "-start_date", "-expiration_date", "-update_date", "-enabled"]. + :type value: str + """ + + allowed_values = { + "name", + "start_date", + "expiration_date", + "update_date", + "enabled", + "-name", + "-start_date", + "-expiration_date", + "-update_date", + "-enabled", + } + NAME: ClassVar["SecurityMonitoringSuppressionSort"] + START_DATE: ClassVar["SecurityMonitoringSuppressionSort"] + EXPIRATION_DATE: ClassVar["SecurityMonitoringSuppressionSort"] + UPDATE_DATE: ClassVar["SecurityMonitoringSuppressionSort"] + ENABLED: ClassVar["SecurityMonitoringSuppressionSort"] + NAME_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"] + START_DATE_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"] + EXPIRATION_DATE_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"] + UPDATE_DATE_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"] + ENABLED_DESCENDING: ClassVar["SecurityMonitoringSuppressionSort"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +SecurityMonitoringSuppressionSort.NAME = SecurityMonitoringSuppressionSort("name") +SecurityMonitoringSuppressionSort.START_DATE = SecurityMonitoringSuppressionSort("start_date") +SecurityMonitoringSuppressionSort.EXPIRATION_DATE = SecurityMonitoringSuppressionSort("expiration_date") +SecurityMonitoringSuppressionSort.UPDATE_DATE = SecurityMonitoringSuppressionSort("update_date") +SecurityMonitoringSuppressionSort.ENABLED = SecurityMonitoringSuppressionSort("enabled") +SecurityMonitoringSuppressionSort.NAME_DESCENDING = SecurityMonitoringSuppressionSort("-name") +SecurityMonitoringSuppressionSort.START_DATE_DESCENDING = SecurityMonitoringSuppressionSort("-start_date") +SecurityMonitoringSuppressionSort.EXPIRATION_DATE_DESCENDING = SecurityMonitoringSuppressionSort("-expiration_date") +SecurityMonitoringSuppressionSort.UPDATE_DATE_DESCENDING = SecurityMonitoringSuppressionSort("-update_date") +SecurityMonitoringSuppressionSort.ENABLED_DESCENDING = SecurityMonitoringSuppressionSort("-enabled") diff --git a/src/datadog_api_client/v2/model/security_monitoring_suppressions_meta.py b/src/datadog_api_client/v2/model/security_monitoring_suppressions_meta.py new file mode 100644 index 0000000000..de6b75a34b --- /dev/null +++ b/src/datadog_api_client/v2/model/security_monitoring_suppressions_meta.py @@ -0,0 +1,46 @@ +# 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.security_monitoring_suppressions_page_meta import ( + SecurityMonitoringSuppressionsPageMeta, + ) + + +class SecurityMonitoringSuppressionsMeta(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.security_monitoring_suppressions_page_meta import ( + SecurityMonitoringSuppressionsPageMeta, + ) + + return { + "page": (SecurityMonitoringSuppressionsPageMeta,), + } + + attribute_map = { + "page": "page", + } + + def __init__(self_, page: Union[SecurityMonitoringSuppressionsPageMeta, UnsetType] = unset, **kwargs): + """ + Metadata for the suppression list response. + + :param page: Pagination metadata. + :type page: SecurityMonitoringSuppressionsPageMeta, optional + """ + if page is not unset: + kwargs["page"] = page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/security_monitoring_suppressions_page_meta.py b/src/datadog_api_client/v2/model/security_monitoring_suppressions_page_meta.py new file mode 100644 index 0000000000..6d769253cc --- /dev/null +++ b/src/datadog_api_client/v2/model/security_monitoring_suppressions_page_meta.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 Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class SecurityMonitoringSuppressionsPageMeta(ModelNormal): + @cached_property + def openapi_types(_): + return { + "page_number": (int,), + "page_size": (int,), + "total_count": (int,), + } + + attribute_map = { + "page_number": "pageNumber", + "page_size": "pageSize", + "total_count": "totalCount", + } + + def __init__( + self_, + page_number: Union[int, UnsetType] = unset, + page_size: Union[int, UnsetType] = unset, + total_count: Union[int, UnsetType] = unset, + **kwargs, + ): + """ + Pagination metadata. + + :param page_number: Current page number. + :type page_number: int, optional + + :param page_size: Current page size. + :type page_size: int, optional + + :param total_count: Total count of suppressions. + :type total_count: int, optional + """ + if page_number is not unset: + kwargs["page_number"] = page_number + if page_size is not unset: + kwargs["page_size"] = page_size + if total_count is not unset: + kwargs["total_count"] = total_count + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page.py b/src/datadog_api_client/v2/model/status_page.py new file mode 100644 index 0000000000..d733a6c702 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page.py @@ -0,0 +1,57 @@ +# 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.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + + +class StatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + + return { + "data": (StatusPageData,), + "included": ([StatusPageArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: Union[StatusPageData, UnsetType] = unset, + included: Union[List[Union[StatusPageArrayIncluded, StatusPagesUser]], UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: StatusPageData, optional + + :param included: The included related resources of a status page. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [StatusPageArrayIncluded], optional + """ + if data is not unset: + kwargs["data"] = data + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_array.py b/src/datadog_api_client/v2/model/status_page_array.py new file mode 100644 index 0000000000..86ac06af89 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_array.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 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.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + + +class StatusPageArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta + + return { + "data": ([StatusPageData],), + "included": ([StatusPageArrayIncluded],), + "meta": (StatusPagesResponseMeta,), + } + + attribute_map = { + "data": "data", + "included": "included", + "meta": "meta", + } + read_only_vars = { + "meta", + } + + def __init__( + self_, + data: List[StatusPageData], + included: Union[List[Union[StatusPageArrayIncluded, StatusPagesUser]], UnsetType] = unset, + meta: Union[StatusPagesResponseMeta, UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: [StatusPageData] + + :param included: The included related resources of a status page. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [StatusPageArrayIncluded], optional + + :param meta: Response metadata. + :type meta: StatusPagesResponseMeta, optional + """ + if included is not unset: + kwargs["included"] = included + if meta is not unset: + kwargs["meta"] = meta + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_array_included.py b/src/datadog_api_client/v2/model/status_page_array_included.py new file mode 100644 index 0000000000..39bab85b81 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_array_included.py @@ -0,0 +1,44 @@ +# 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 ( + ModelComposed, + cached_property, +) + + +class StatusPageArrayIncluded(ModelComposed): + def __init__(self, **kwargs): + """ + + + :param attributes: Attributes of the Datadog user. + :type attributes: StatusPagesUserAttributes, optional + + :param id: The ID of the Datadog user. + :type id: UUID, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + + return { + "oneOf": [ + StatusPagesUser, + ], + } diff --git a/src/datadog_api_client/v2/model/status_page_as_included.py b/src/datadog_api_client/v2/model/status_page_as_included.py new file mode 100644 index 0000000000..07bfab5286 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included.py @@ -0,0 +1,75 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_as_included_attributes import StatusPageAsIncludedAttributes + from datadog_api_client.v2.model.status_page_as_included_relationships import StatusPageAsIncludedRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPageAsIncluded(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_attributes import StatusPageAsIncludedAttributes + from datadog_api_client.v2.model.status_page_as_included_relationships import StatusPageAsIncludedRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (StatusPageAsIncludedAttributes,), + "id": (UUID,), + "relationships": (StatusPageAsIncludedRelationships,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[StatusPageAsIncludedAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + relationships: Union[StatusPageAsIncludedRelationships, UnsetType] = unset, + **kwargs, + ): + """ + The included status page resource. + + :param attributes: The attributes of a status page. + :type attributes: StatusPageAsIncludedAttributes, optional + + :param id: The ID of the status page. + :type id: UUID, optional + + :param relationships: The relationships of a status page. + :type relationships: StatusPageAsIncludedRelationships, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_as_included_attributes.py b/src/datadog_api_client/v2/model/status_page_as_included_attributes.py new file mode 100644 index 0000000000..49aa47d908 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_attributes.py @@ -0,0 +1,175 @@ +# 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.status_page_as_included_attributes_components_items import ( + StatusPageAsIncludedAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class StatusPageAsIncludedAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_attributes_components_items import ( + StatusPageAsIncludedAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str,), + "components": ([StatusPageAsIncludedAttributesComponentsItems],), + "created_at": (datetime,), + "custom_domain": (str,), + "custom_domain_enabled": (bool,), + "domain_prefix": (str,), + "email_header_image": (str,), + "enabled": (bool,), + "favicon": (str,), + "modified_at": (datetime,), + "name": (str,), + "page_url": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "components": "components", + "created_at": "created_at", + "custom_domain": "custom_domain", + "custom_domain_enabled": "custom_domain_enabled", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "modified_at": "modified_at", + "name": "name", + "page_url": "page_url", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + company_logo: Union[str, UnsetType] = unset, + components: Union[List[StatusPageAsIncludedAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + custom_domain: Union[str, UnsetType] = unset, + custom_domain_enabled: Union[bool, UnsetType] = unset, + domain_prefix: Union[str, UnsetType] = unset, + email_header_image: Union[str, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + favicon: Union[str, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + page_url: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + type: Union[CreateStatusPageRequestDataAttributesType, UnsetType] = unset, + visualization_type: Union[CreateStatusPageRequestDataAttributesVisualizationType, UnsetType] = unset, + **kwargs, + ): + """ + The attributes of a status page. + + :param company_logo: The base64-encoded image data displayed in the company logo. + :type company_logo: str, optional + + :param components: Components displayed on the status page. + :type components: [StatusPageAsIncludedAttributesComponentsItems], optional + + :param created_at: Timestamp of when the status page was created. + :type created_at: datetime, optional + + :param custom_domain: If configured, the url that the status page is accessible at. + :type custom_domain: str, optional + + :param custom_domain_enabled: Whether the custom domain is configured. + :type custom_domain_enabled: bool, optional + + :param domain_prefix: The subdomain of the status page's url taking the form ``https://{domain_prefix}.statuspage.datadoghq.com``. Globally unique across Datadog Status Pages. + :type domain_prefix: str, optional + + :param email_header_image: Base64-encoded image data included in email notifications sent to status page subscribers. + :type email_header_image: str, optional + + :param enabled: Whether the status page is enabled. + :type enabled: bool, optional + + :param favicon: Base64-encoded image data displayed in the browser tab. + :type favicon: str, optional + + :param modified_at: Timestamp of when the status page was last modified. + :type modified_at: datetime, optional + + :param name: The name of the status page. + :type name: str, optional + + :param page_url: The url that the status page is accessible at. + :type page_url: str, optional + + :param subscriptions_enabled: Whether users can subscribe to the status page. + :type subscriptions_enabled: bool, optional + + :param type: The type of the status page controlling how the status page is accessed. + :type type: CreateStatusPageRequestDataAttributesType, optional + + :param visualization_type: The visualization type of the status page. + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, optional + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if custom_domain is not unset: + kwargs["custom_domain"] = custom_domain + if custom_domain_enabled is not unset: + kwargs["custom_domain_enabled"] = custom_domain_enabled + if domain_prefix is not unset: + kwargs["domain_prefix"] = domain_prefix + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if enabled is not unset: + kwargs["enabled"] = enabled + if favicon is not unset: + kwargs["favicon"] = favicon + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if page_url is not unset: + kwargs["page_url"] = page_url + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + if type is not unset: + kwargs["type"] = type + if visualization_type is not unset: + kwargs["visualization_type"] = visualization_type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items.py b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items.py new file mode 100644 index 0000000000..ad24465cf4 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items.py @@ -0,0 +1,107 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_as_included_attributes_components_items_components_items import ( + StatusPageAsIncludedAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPageAsIncludedAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_attributes_components_items_components_items import ( + StatusPageAsIncludedAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPageAsIncludedAttributesComponentsItemsComponentsItems],), + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + components: Union[List[StatusPageAsIncludedAttributesComponentsItemsComponentsItems], UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[CreateComponentRequestDataAttributesType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: + :type components: [StatusPageAsIncludedAttributesComponentsItemsComponentsItems], optional + + :param id: The ID of the component. + :type id: UUID, optional + + :param name: The name of the component. + :type name: str, optional + + :param position: The zero-indexed position of the component. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: CreateComponentRequestDataAttributesType, optional + """ + if components is not unset: + kwargs["components"] = components + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items_components_items.py b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items_components_items.py new file mode 100644 index 0000000000..0b19a140a8 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items_components_items.py @@ -0,0 +1,93 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPageAsIncludedAttributesComponentsItemsComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: The ID of the grouped component. + :type id: UUID, optional + + :param name: The name of the grouped component. + :type name: str, optional + + :param position: The zero-indexed position of the grouped component. Relative to the other components in the group. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships.py new file mode 100644 index 0000000000..2ac92a2051 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships.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.status_page_as_included_relationships_created_by_user import ( + StatusPageAsIncludedRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user import ( + StatusPageAsIncludedRelationshipsLastModifiedByUser, + ) + + +class StatusPageAsIncludedRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user import ( + StatusPageAsIncludedRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user import ( + StatusPageAsIncludedRelationshipsLastModifiedByUser, + ) + + return { + "created_by_user": (StatusPageAsIncludedRelationshipsCreatedByUser,), + "last_modified_by_user": (StatusPageAsIncludedRelationshipsLastModifiedByUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[StatusPageAsIncludedRelationshipsCreatedByUser, UnsetType] = unset, + last_modified_by_user: Union[StatusPageAsIncludedRelationshipsLastModifiedByUser, UnsetType] = unset, + **kwargs, + ): + """ + The relationships of a status page. + + :param created_by_user: + :type created_by_user: StatusPageAsIncludedRelationshipsCreatedByUser, optional + + :param last_modified_by_user: + :type last_modified_by_user: StatusPageAsIncludedRelationshipsLastModifiedByUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user.py new file mode 100644 index 0000000000..e81695e2f7 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user_data import ( + StatusPageAsIncludedRelationshipsCreatedByUserData, + ) + + +class StatusPageAsIncludedRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user_data import ( + StatusPageAsIncludedRelationshipsCreatedByUserData, + ) + + return { + "data": (StatusPageAsIncludedRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPageAsIncludedRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPageAsIncludedRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user_data.py new file mode 100644 index 0000000000..38c5f4cf7f --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageAsIncludedRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who created the status page. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..7ab0393f5b --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user_data import ( + StatusPageAsIncludedRelationshipsLastModifiedByUserData, + ) + + +class StatusPageAsIncludedRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user_data import ( + StatusPageAsIncludedRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPageAsIncludedRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPageAsIncludedRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPageAsIncludedRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..a2b15a7f37 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageAsIncludedRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who last modified the status page. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_data.py b/src/datadog_api_client/v2/model/status_page_data.py new file mode 100644 index 0000000000..95c63c04c3 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data.py @@ -0,0 +1,75 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_attributes import StatusPageDataAttributes + from datadog_api_client.v2.model.status_page_data_relationships import StatusPageDataRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_attributes import StatusPageDataAttributes + from datadog_api_client.v2.model.status_page_data_relationships import StatusPageDataRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (StatusPageDataAttributes,), + "id": (UUID,), + "relationships": (StatusPageDataRelationships,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[StatusPageDataAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + relationships: Union[StatusPageDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The attributes of a status page. + :type attributes: StatusPageDataAttributes, optional + + :param id: The ID of the status page. + :type id: UUID, optional + + :param relationships: The relationships of a status page. + :type relationships: StatusPageDataRelationships, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_data_attributes.py b/src/datadog_api_client/v2/model/status_page_data_attributes.py new file mode 100644 index 0000000000..e9c32912e6 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_attributes.py @@ -0,0 +1,176 @@ +# 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, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_attributes_components_items import ( + StatusPageDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class StatusPageDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_attributes_components_items import ( + StatusPageDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str, none_type), + "components": ([StatusPageDataAttributesComponentsItems],), + "created_at": (datetime,), + "custom_domain": (str, none_type), + "custom_domain_enabled": (bool,), + "domain_prefix": (str,), + "email_header_image": (str, none_type), + "enabled": (bool,), + "favicon": (str, none_type), + "modified_at": (datetime,), + "name": (str,), + "page_url": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "components": "components", + "created_at": "created_at", + "custom_domain": "custom_domain", + "custom_domain_enabled": "custom_domain_enabled", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "modified_at": "modified_at", + "name": "name", + "page_url": "page_url", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + company_logo: Union[str, none_type, UnsetType] = unset, + components: Union[List[StatusPageDataAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + custom_domain: Union[str, none_type, UnsetType] = unset, + custom_domain_enabled: Union[bool, UnsetType] = unset, + domain_prefix: Union[str, UnsetType] = unset, + email_header_image: Union[str, none_type, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + favicon: Union[str, none_type, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + page_url: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + type: Union[CreateStatusPageRequestDataAttributesType, UnsetType] = unset, + visualization_type: Union[CreateStatusPageRequestDataAttributesVisualizationType, UnsetType] = unset, + **kwargs, + ): + """ + The attributes of a status page. + + :param company_logo: Base64-encoded image data displayed on the status page. + :type company_logo: str, none_type, optional + + :param components: Components displayed on the status page. + :type components: [StatusPageDataAttributesComponentsItems], optional + + :param created_at: Timestamp of when the status page was created. + :type created_at: datetime, optional + + :param custom_domain: If configured, the url that the status page is accessible at. + :type custom_domain: str, none_type, optional + + :param custom_domain_enabled: Whether the custom domain is configured. + :type custom_domain_enabled: bool, optional + + :param domain_prefix: The subdomain of the status page's url taking the form ``https://{domain_prefix}.statuspage.datadoghq.com``. Globally unique across Datadog Status Pages. + :type domain_prefix: str, optional + + :param email_header_image: Base64-encoded image data included in email notifications sent to status page subscribers. + :type email_header_image: str, none_type, optional + + :param enabled: Whether the status page is enabled. + :type enabled: bool, optional + + :param favicon: Base64-encoded image data displayed in the browser tab. + :type favicon: str, none_type, optional + + :param modified_at: Timestamp of when the status page was last modified. + :type modified_at: datetime, optional + + :param name: The name of the status page. + :type name: str, optional + + :param page_url: The url that the status page is accessible at. + :type page_url: str, optional + + :param subscriptions_enabled: Whether users can subscribe to the status page. + :type subscriptions_enabled: bool, optional + + :param type: The type of the status page controlling how the status page is accessed. + :type type: CreateStatusPageRequestDataAttributesType, optional + + :param visualization_type: The visualization type of the status page. + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, optional + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if custom_domain is not unset: + kwargs["custom_domain"] = custom_domain + if custom_domain_enabled is not unset: + kwargs["custom_domain_enabled"] = custom_domain_enabled + if domain_prefix is not unset: + kwargs["domain_prefix"] = domain_prefix + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if enabled is not unset: + kwargs["enabled"] = enabled + if favicon is not unset: + kwargs["favicon"] = favicon + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if page_url is not unset: + kwargs["page_url"] = page_url + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + if type is not unset: + kwargs["type"] = type + if visualization_type is not unset: + kwargs["visualization_type"] = visualization_type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_attributes_components_items.py b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items.py new file mode 100644 index 0000000000..60d8c9c8d4 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items.py @@ -0,0 +1,106 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_attributes_components_items_components_items import ( + StatusPageDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPageDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_attributes_components_items_components_items import ( + StatusPageDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPageDataAttributesComponentsItemsComponentsItems],), + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + components: Union[List[StatusPageDataAttributesComponentsItemsComponentsItems], UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[CreateComponentRequestDataAttributesType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: If the component is of type ``group`` , the components within the group. + :type components: [StatusPageDataAttributesComponentsItemsComponentsItems], optional + + :param id: The ID of the component. + :type id: UUID, optional + + :param name: The name of the component. + :type name: str, optional + + :param position: The zero-indexed position of the component. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: CreateComponentRequestDataAttributesType, optional + """ + if components is not unset: + kwargs["components"] = components + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_attributes_components_items_components_items.py b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items_components_items.py new file mode 100644 index 0000000000..babb9aca16 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items_components_items.py @@ -0,0 +1,92 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPageDataAttributesComponentsItemsComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: The ID of the component. + :type id: UUID, optional + + :param name: The name of the component. + :type name: str, optional + + :param position: The zero-indexed position of the component. Relative to the other components in the group. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships.py b/src/datadog_api_client/v2/model/status_page_data_relationships.py new file mode 100644 index 0000000000..20d7005a1d --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships.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.status_page_data_relationships_created_by_user import ( + StatusPageDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user import ( + StatusPageDataRelationshipsLastModifiedByUser, + ) + + +class StatusPageDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_relationships_created_by_user import ( + StatusPageDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user import ( + StatusPageDataRelationshipsLastModifiedByUser, + ) + + return { + "created_by_user": (StatusPageDataRelationshipsCreatedByUser,), + "last_modified_by_user": (StatusPageDataRelationshipsLastModifiedByUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[StatusPageDataRelationshipsCreatedByUser, UnsetType] = unset, + last_modified_by_user: Union[StatusPageDataRelationshipsLastModifiedByUser, UnsetType] = unset, + **kwargs, + ): + """ + The relationships of a status page. + + :param created_by_user: + :type created_by_user: StatusPageDataRelationshipsCreatedByUser, optional + + :param last_modified_by_user: + :type last_modified_by_user: StatusPageDataRelationshipsLastModifiedByUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/deleted_suites_request_delete_request.py b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user.py similarity index 51% rename from src/datadog_api_client/v2/model/deleted_suites_request_delete_request.py rename to src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user.py index 9e8b5c0345..8a6f05949a 100644 --- a/src/datadog_api_client/v2/model/deleted_suites_request_delete_request.py +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user.py @@ -12,28 +12,32 @@ if TYPE_CHECKING: - from datadog_api_client.v2.model.deleted_suites_request_delete import DeletedSuitesRequestDelete + from datadog_api_client.v2.model.status_page_data_relationships_created_by_user_data import ( + StatusPageDataRelationshipsCreatedByUserData, + ) -class DeletedSuitesRequestDeleteRequest(ModelNormal): +class StatusPageDataRelationshipsCreatedByUser(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.deleted_suites_request_delete import DeletedSuitesRequestDelete + from datadog_api_client.v2.model.status_page_data_relationships_created_by_user_data import ( + StatusPageDataRelationshipsCreatedByUserData, + ) return { - "data": (DeletedSuitesRequestDelete,), + "data": (StatusPageDataRelationshipsCreatedByUserData,), } attribute_map = { "data": "data", } - def __init__(self_, data: DeletedSuitesRequestDelete, **kwargs): + def __init__(self_, data: StatusPageDataRelationshipsCreatedByUserData, **kwargs): """ :param data: - :type data: DeletedSuitesRequestDelete + :type data: StatusPageDataRelationshipsCreatedByUserData """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user_data.py new file mode 100644 index 0000000000..7b0780b2bb --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageDataRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who created the status page. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..772fc05e56 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user_data import ( + StatusPageDataRelationshipsLastModifiedByUserData, + ) + + +class StatusPageDataRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user_data import ( + StatusPageDataRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPageDataRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPageDataRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPageDataRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..41b4c92132 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageDataRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who last modified the status page. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/synthetics_suite_types.py b/src/datadog_api_client/v2/model/status_page_data_type.py similarity index 64% rename from src/datadog_api_client/v2/model/synthetics_suite_types.py rename to src/datadog_api_client/v2/model/status_page_data_type.py index 10072ed8f4..e6e01939eb 100644 --- a/src/datadog_api_client/v2/model/synthetics_suite_types.py +++ b/src/datadog_api_client/v2/model/status_page_data_type.py @@ -12,18 +12,18 @@ from typing import ClassVar -class SyntheticsSuiteTypes(ModelSimple): +class StatusPageDataType(ModelSimple): """ - Type for the Synthetics suites responses, `suites`. + Status pages resource type. - :param value: If omitted defaults to "suites". Must be one of ["suites"]. + :param value: If omitted defaults to "status_pages". Must be one of ["status_pages"]. :type value: str """ allowed_values = { - "suites", + "status_pages", } - SUITES: ClassVar["SyntheticsSuiteTypes"] + STATUS_PAGES: ClassVar["StatusPageDataType"] @cached_property def openapi_types(_): @@ -32,4 +32,4 @@ def openapi_types(_): } -SyntheticsSuiteTypes.SUITES = SyntheticsSuiteTypes("suites") +StatusPageDataType.STATUS_PAGES = StatusPageDataType("status_pages") diff --git a/src/datadog_api_client/v2/model/status_pages_component.py b/src/datadog_api_client/v2/model/status_pages_component.py new file mode 100644 index 0000000000..9ca95ae1df --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component.py @@ -0,0 +1,66 @@ +# 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.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup + + +class StatusPagesComponent(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + + return { + "data": (StatusPagesComponentData,), + "included": ([StatusPagesComponentArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: Union[StatusPagesComponentData, UnsetType] = unset, + included: Union[ + List[ + Union[ + StatusPagesComponentArrayIncluded, StatusPagesUser, StatusPageAsIncluded, StatusPagesComponentGroup + ] + ], + UnsetType, + ] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: StatusPagesComponentData, optional + + :param included: The included related resources of a component. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [StatusPagesComponentArrayIncluded], optional + """ + if data is not unset: + kwargs["data"] = data + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_array.py b/src/datadog_api_client/v2/model/status_pages_component_array.py new file mode 100644 index 0000000000..d67fc80a73 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_array.py @@ -0,0 +1,66 @@ +# 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.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup + + +class StatusPagesComponentArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + + return { + "data": ([StatusPagesComponentData],), + "included": ([StatusPagesComponentArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: List[StatusPagesComponentData], + included: Union[ + List[ + Union[ + StatusPagesComponentArrayIncluded, StatusPagesUser, StatusPageAsIncluded, StatusPagesComponentGroup + ] + ], + UnsetType, + ] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: [StatusPagesComponentData] + + :param included: The included related resources of a component. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [StatusPagesComponentArrayIncluded], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_array_included.py b/src/datadog_api_client/v2/model/status_pages_component_array_included.py new file mode 100644 index 0000000000..4434983317 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_array_included.py @@ -0,0 +1,51 @@ +# 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 ( + ModelComposed, + cached_property, +) + + +class StatusPagesComponentArrayIncluded(ModelComposed): + def __init__(self, **kwargs): + """ + + + :param attributes: Attributes of the Datadog user. + :type attributes: StatusPagesUserAttributes, optional + + :param id: The ID of the Datadog user. + :type id: UUID, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + + :param relationships: The relationships of a status page. + :type relationships: StatusPageAsIncludedRelationships, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup + + return { + "oneOf": [ + StatusPagesUser, + StatusPageAsIncluded, + StatusPagesComponentGroup, + ], + } diff --git a/src/datadog_api_client/v2/model/status_pages_component_data.py b/src/datadog_api_client/v2/model/status_pages_component_data.py new file mode 100644 index 0000000000..a2d7c14666 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data.py @@ -0,0 +1,81 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes import StatusPagesComponentDataAttributes + from datadog_api_client.v2.model.status_pages_component_data_relationships import ( + StatusPagesComponentDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes import ( + StatusPagesComponentDataAttributes, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships import ( + StatusPagesComponentDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (StatusPagesComponentDataAttributes,), + "id": (UUID,), + "relationships": (StatusPagesComponentDataRelationships,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[StatusPagesComponentDataAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + relationships: Union[StatusPagesComponentDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The attributes of a component. + :type attributes: StatusPagesComponentDataAttributes, optional + + :param id: The ID of the component. + :type id: UUID, optional + + :param relationships: The relationships of a component. + :type relationships: StatusPagesComponentDataRelationships, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_attributes.py b/src/datadog_api_client/v2/model/status_pages_component_data_attributes.py new file mode 100644 index 0000000000..f3cc9d9e08 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_attributes.py @@ -0,0 +1,111 @@ +# 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.status_pages_component_data_attributes_components_items import ( + StatusPagesComponentDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPagesComponentDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_components_items import ( + StatusPagesComponentDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPagesComponentDataAttributesComponentsItems],), + "created_at": (datetime,), + "modified_at": (datetime,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentDataAttributesStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "created_at": "created_at", + "modified_at": "modified_at", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + + def __init__( + self_, + type: CreateComponentRequestDataAttributesType, + components: Union[List[StatusPagesComponentDataAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentDataAttributesStatus, UnsetType] = unset, + **kwargs, + ): + """ + The attributes of a component. + + :param components: If the component is of type ``group`` , the components within the group. + :type components: [StatusPagesComponentDataAttributesComponentsItems], optional + + :param created_at: Timestamp of when the component was created. + :type created_at: datetime, optional + + :param modified_at: Timestamp of when the component was last modified. + :type modified_at: datetime, optional + + :param name: The name of the component. + :type name: str, optional + + :param position: The zero-indexed position of the component. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentDataAttributesStatus, optional + + :param type: The type of the component. + :type type: CreateComponentRequestDataAttributesType + """ + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_attributes_components_items.py b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_components_items.py new file mode 100644 index 0000000000..bbdcf86630 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_components_items.py @@ -0,0 +1,93 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPagesComponentDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: UUID, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py new file mode 100644 index 0000000000..80af37bf30 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py @@ -0,0 +1,44 @@ +# 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 StatusPagesComponentDataAttributesStatus(ModelSimple): + """ + The status of the component. + + :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage"]. + :type value: str + """ + + allowed_values = { + "operational", + "degraded", + "partial_outage", + "major_outage", + } + OPERATIONAL: ClassVar["StatusPagesComponentDataAttributesStatus"] + DEGRADED: ClassVar["StatusPagesComponentDataAttributesStatus"] + PARTIAL_OUTAGE: ClassVar["StatusPagesComponentDataAttributesStatus"] + MAJOR_OUTAGE: ClassVar["StatusPagesComponentDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesComponentDataAttributesStatus.OPERATIONAL = StatusPagesComponentDataAttributesStatus("operational") +StatusPagesComponentDataAttributesStatus.DEGRADED = StatusPagesComponentDataAttributesStatus("degraded") +StatusPagesComponentDataAttributesStatus.PARTIAL_OUTAGE = StatusPagesComponentDataAttributesStatus("partial_outage") +StatusPagesComponentDataAttributesStatus.MAJOR_OUTAGE = StatusPagesComponentDataAttributesStatus("major_outage") diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships.py new file mode 100644 index 0000000000..1516a763e2 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships.py @@ -0,0 +1,92 @@ +# 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.status_pages_component_data_relationships_created_by_user import ( + StatusPagesComponentDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_group import ( + StatusPagesComponentDataRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user import ( + StatusPagesComponentDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page import ( + StatusPagesComponentDataRelationshipsStatusPage, + ) + + +class StatusPagesComponentDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user import ( + StatusPagesComponentDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_group import ( + StatusPagesComponentDataRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user import ( + StatusPagesComponentDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page import ( + StatusPagesComponentDataRelationshipsStatusPage, + ) + + return { + "created_by_user": (StatusPagesComponentDataRelationshipsCreatedByUser,), + "group": (StatusPagesComponentDataRelationshipsGroup,), + "last_modified_by_user": (StatusPagesComponentDataRelationshipsLastModifiedByUser,), + "status_page": (StatusPagesComponentDataRelationshipsStatusPage,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "group": "group", + "last_modified_by_user": "last_modified_by_user", + "status_page": "status_page", + } + + def __init__( + self_, + created_by_user: Union[StatusPagesComponentDataRelationshipsCreatedByUser, UnsetType] = unset, + group: Union[StatusPagesComponentDataRelationshipsGroup, UnsetType] = unset, + last_modified_by_user: Union[StatusPagesComponentDataRelationshipsLastModifiedByUser, UnsetType] = unset, + status_page: Union[StatusPagesComponentDataRelationshipsStatusPage, UnsetType] = unset, + **kwargs, + ): + """ + The relationships of a component. + + :param created_by_user: + :type created_by_user: StatusPagesComponentDataRelationshipsCreatedByUser, optional + + :param group: + :type group: StatusPagesComponentDataRelationshipsGroup, optional + + :param last_modified_by_user: + :type last_modified_by_user: StatusPagesComponentDataRelationshipsLastModifiedByUser, optional + + :param status_page: + :type status_page: StatusPagesComponentDataRelationshipsStatusPage, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if group is not unset: + kwargs["group"] = group + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + if status_page is not unset: + kwargs["status_page"] = status_page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user.py new file mode 100644 index 0000000000..54336470b8 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user_data import ( + StatusPagesComponentDataRelationshipsCreatedByUserData, + ) + + +class StatusPagesComponentDataRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user_data import ( + StatusPagesComponentDataRelationshipsCreatedByUserData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentDataRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user_data.py new file mode 100644 index 0000000000..ed30582049 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentDataRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who created the component. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group.py new file mode 100644 index 0000000000..ee11ed5b0d --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group.py @@ -0,0 +1,45 @@ +# 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, + none_type, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_relationships_group_data import ( + StatusPagesComponentDataRelationshipsGroupData, + ) + + +class StatusPagesComponentDataRelationshipsGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_group_data import ( + StatusPagesComponentDataRelationshipsGroupData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsGroupData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[StatusPagesComponentDataRelationshipsGroupData, none_type], **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsGroupData, none_type + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group_data.py new file mode 100644 index 0000000000..6de8856963 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group_data.py @@ -0,0 +1,49 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentDataRelationshipsGroupData(ModelNormal): + _nullable = True + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "id": (UUID,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPagesComponentGroupType, **kwargs): + """ + + + :param id: The ID of the group the component belongs to. + :type id: UUID + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..b078b38bc2 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user_data import ( + StatusPagesComponentDataRelationshipsLastModifiedByUserData, + ) + + +class StatusPagesComponentDataRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user_data import ( + StatusPagesComponentDataRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentDataRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..149590c23c --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentDataRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who last modified the component. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page.py new file mode 100644 index 0000000000..ad06b7f1b7 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page_data import ( + StatusPagesComponentDataRelationshipsStatusPageData, + ) + + +class StatusPagesComponentDataRelationshipsStatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page_data import ( + StatusPagesComponentDataRelationshipsStatusPageData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsStatusPageData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentDataRelationshipsStatusPageData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsStatusPageData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page_data.py new file mode 100644 index 0000000000..e2e9ca3005 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page_data.py @@ -0,0 +1,47 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPagesComponentDataRelationshipsStatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "id": (UUID,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPageDataType, **kwargs): + """ + + + :param id: The ID of the status page the component belongs to. + :type id: UUID + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group.py b/src/datadog_api_client/v2/model/status_pages_component_group.py new file mode 100644 index 0000000000..587272b7e4 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group.py @@ -0,0 +1,81 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_attributes import StatusPagesComponentGroupAttributes + from datadog_api_client.v2.model.status_pages_component_group_relationships import ( + StatusPagesComponentGroupRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes import ( + StatusPagesComponentGroupAttributes, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships import ( + StatusPagesComponentGroupRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (StatusPagesComponentGroupAttributes,), + "id": (UUID,), + "relationships": (StatusPagesComponentGroupRelationships,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[StatusPagesComponentGroupAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + relationships: Union[StatusPagesComponentGroupRelationships, UnsetType] = unset, + **kwargs, + ): + """ + The included component group resource. + + :param attributes: The attributes of a component group. + :type attributes: StatusPagesComponentGroupAttributes, optional + + :param id: The ID of the component. + :type id: UUID, optional + + :param relationships: The relationships of a component group. + :type relationships: StatusPagesComponentGroupRelationships, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes.py new file mode 100644 index 0000000000..32ff801abe --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes.py @@ -0,0 +1,111 @@ +# 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.status_pages_component_group_attributes_components_items import ( + StatusPagesComponentGroupAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPagesComponentGroupAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items import ( + StatusPagesComponentGroupAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPagesComponentGroupAttributesComponentsItems],), + "created_at": (datetime,), + "modified_at": (datetime,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentDataAttributesStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "created_at": "created_at", + "modified_at": "modified_at", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + + def __init__( + self_, + type: CreateComponentRequestDataAttributesType, + components: Union[List[StatusPagesComponentGroupAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentDataAttributesStatus, UnsetType] = unset, + **kwargs, + ): + """ + The attributes of a component group. + + :param components: If the component is of type ``group`` , the components within the group. + :type components: [StatusPagesComponentGroupAttributesComponentsItems], optional + + :param created_at: Timestamp of when the component was created. + :type created_at: datetime, optional + + :param modified_at: Timestamp of when the component was last modified. + :type modified_at: datetime, optional + + :param name: The name of the component. + :type name: str, optional + + :param position: The zero-indexed position of the component. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentDataAttributesStatus, optional + + :param type: The type of the component. + :type type: CreateComponentRequestDataAttributesType + """ + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items.py new file mode 100644 index 0000000000..de49dd5e84 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items.py @@ -0,0 +1,93 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPagesComponentGroupAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (UUID,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[UUID, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: The ID of the grouped component. + :type id: UUID, optional + + :param name: The name of the grouped component. + :type name: str, optional + + :param position: The zero-indexed position of the grouped component. Relative to the other components in the group. + :type position: int, optional + + :param status: The status of the component. + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: The type of the component. + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py new file mode 100644 index 0000000000..43fb19b028 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py @@ -0,0 +1,52 @@ +# 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 StatusPagesComponentGroupAttributesComponentsItemsStatus(ModelSimple): + """ + The status of the component. + + :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage"]. + :type value: str + """ + + allowed_values = { + "operational", + "degraded", + "partial_outage", + "major_outage", + } + OPERATIONAL: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + DEGRADED: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + PARTIAL_OUTAGE: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + MAJOR_OUTAGE: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesComponentGroupAttributesComponentsItemsStatus.OPERATIONAL = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("operational") +) +StatusPagesComponentGroupAttributesComponentsItemsStatus.DEGRADED = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("degraded") +) +StatusPagesComponentGroupAttributesComponentsItemsStatus.PARTIAL_OUTAGE = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("partial_outage") +) +StatusPagesComponentGroupAttributesComponentsItemsStatus.MAJOR_OUTAGE = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("major_outage") +) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_type.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_type.py new file mode 100644 index 0000000000..aeec7e029d --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_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 StatusPagesComponentGroupAttributesComponentsItemsType(ModelSimple): + """ + The type of the component. + + :param value: If omitted defaults to "component". Must be one of ["component"]. + :type value: str + """ + + allowed_values = { + "component", + } + COMPONENT: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesComponentGroupAttributesComponentsItemsType.COMPONENT = ( + StatusPagesComponentGroupAttributesComponentsItemsType("component") +) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships.py new file mode 100644 index 0000000000..c325343921 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships.py @@ -0,0 +1,92 @@ +# 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.status_pages_component_group_relationships_created_by_user import ( + StatusPagesComponentGroupRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_group import ( + StatusPagesComponentGroupRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page import ( + StatusPagesComponentGroupRelationshipsStatusPage, + ) + + +class StatusPagesComponentGroupRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user import ( + StatusPagesComponentGroupRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_group import ( + StatusPagesComponentGroupRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page import ( + StatusPagesComponentGroupRelationshipsStatusPage, + ) + + return { + "created_by_user": (StatusPagesComponentGroupRelationshipsCreatedByUser,), + "group": (StatusPagesComponentGroupRelationshipsGroup,), + "last_modified_by_user": (StatusPagesComponentGroupRelationshipsLastModifiedByUser,), + "status_page": (StatusPagesComponentGroupRelationshipsStatusPage,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "group": "group", + "last_modified_by_user": "last_modified_by_user", + "status_page": "status_page", + } + + def __init__( + self_, + created_by_user: Union[StatusPagesComponentGroupRelationshipsCreatedByUser, UnsetType] = unset, + group: Union[StatusPagesComponentGroupRelationshipsGroup, UnsetType] = unset, + last_modified_by_user: Union[StatusPagesComponentGroupRelationshipsLastModifiedByUser, UnsetType] = unset, + status_page: Union[StatusPagesComponentGroupRelationshipsStatusPage, UnsetType] = unset, + **kwargs, + ): + """ + The relationships of a component group. + + :param created_by_user: The Datadog user who created the component group. + :type created_by_user: StatusPagesComponentGroupRelationshipsCreatedByUser, optional + + :param group: The group the component group belongs to. + :type group: StatusPagesComponentGroupRelationshipsGroup, optional + + :param last_modified_by_user: The Datadog user who last modified the component group. + :type last_modified_by_user: StatusPagesComponentGroupRelationshipsLastModifiedByUser, optional + + :param status_page: The status page the component group belongs to. + :type status_page: StatusPagesComponentGroupRelationshipsStatusPage, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if group is not unset: + kwargs["group"] = group + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + if status_page is not unset: + kwargs["status_page"] = status_page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user.py new file mode 100644 index 0000000000..14655b5aae --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user_data import ( + StatusPagesComponentGroupRelationshipsCreatedByUserData, + ) + + +class StatusPagesComponentGroupRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user_data import ( + StatusPagesComponentGroupRelationshipsCreatedByUserData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentGroupRelationshipsCreatedByUserData, **kwargs): + """ + The Datadog user who created the component group. + + :param data: + :type data: StatusPagesComponentGroupRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user_data.py new file mode 100644 index 0000000000..a68568653f --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentGroupRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who created the component group. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group.py new file mode 100644 index 0000000000..c4cffdc936 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group.py @@ -0,0 +1,45 @@ +# 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, + none_type, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_relationships_group_data import ( + StatusPagesComponentGroupRelationshipsGroupData, + ) + + +class StatusPagesComponentGroupRelationshipsGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_group_data import ( + StatusPagesComponentGroupRelationshipsGroupData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsGroupData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[StatusPagesComponentGroupRelationshipsGroupData, none_type], **kwargs): + """ + The group the component group belongs to. + + :param data: + :type data: StatusPagesComponentGroupRelationshipsGroupData, none_type + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group_data.py new file mode 100644 index 0000000000..e1431e3131 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group_data.py @@ -0,0 +1,49 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentGroupRelationshipsGroupData(ModelNormal): + _nullable = True + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "id": (UUID,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPagesComponentGroupType, **kwargs): + """ + + + :param id: + :type id: UUID + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..a5a61e945a --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user_data import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUserData, + ) + + +class StatusPagesComponentGroupRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user_data import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentGroupRelationshipsLastModifiedByUserData, **kwargs): + """ + The Datadog user who last modified the component group. + + :param data: + :type data: StatusPagesComponentGroupRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..b3de0ab5ef --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentGroupRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: The ID of the Datadog user who last modified the component group. + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page.py new file mode 100644 index 0000000000..59799faad4 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page_data import ( + StatusPagesComponentGroupRelationshipsStatusPageData, + ) + + +class StatusPagesComponentGroupRelationshipsStatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page_data import ( + StatusPagesComponentGroupRelationshipsStatusPageData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsStatusPageData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentGroupRelationshipsStatusPageData, **kwargs): + """ + The status page the component group belongs to. + + :param data: + :type data: StatusPagesComponentGroupRelationshipsStatusPageData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page_data.py new file mode 100644 index 0000000000..d8e542d08b --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page_data.py @@ -0,0 +1,47 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPagesComponentGroupRelationshipsStatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "id": (UUID,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPageDataType, **kwargs): + """ + + + :param id: The ID of the status page. + :type id: UUID + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/deleted_suites_request_type.py b/src/datadog_api_client/v2/model/status_pages_component_group_type.py similarity index 61% rename from src/datadog_api_client/v2/model/deleted_suites_request_type.py rename to src/datadog_api_client/v2/model/status_pages_component_group_type.py index a3aeab6e59..8d9fa34043 100644 --- a/src/datadog_api_client/v2/model/deleted_suites_request_type.py +++ b/src/datadog_api_client/v2/model/status_pages_component_group_type.py @@ -12,18 +12,18 @@ from typing import ClassVar -class DeletedSuitesRequestType(ModelSimple): +class StatusPagesComponentGroupType(ModelSimple): """ + Components resource type. - - :param value: If omitted defaults to "delete_suites_request". Must be one of ["delete_suites_request"]. + :param value: If omitted defaults to "components". Must be one of ["components"]. :type value: str """ allowed_values = { - "delete_suites_request", + "components", } - DELETE_SUITES_REQUEST: ClassVar["DeletedSuitesRequestType"] + COMPONENTS: ClassVar["StatusPagesComponentGroupType"] @cached_property def openapi_types(_): @@ -32,4 +32,4 @@ def openapi_types(_): } -DeletedSuitesRequestType.DELETE_SUITES_REQUEST = DeletedSuitesRequestType("delete_suites_request") +StatusPagesComponentGroupType.COMPONENTS = StatusPagesComponentGroupType("components") diff --git a/src/datadog_api_client/v2/model/status_pages_pagination.py b/src/datadog_api_client/v2/model/status_pages_pagination.py new file mode 100644 index 0000000000..c02fc334eb --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_pagination.py @@ -0,0 +1,103 @@ +# 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, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_pagination_type import StatusPagesPaginationType + + +class StatusPagesPagination(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_pagination_type import StatusPagesPaginationType + + return { + "first_offset": (int,), + "last_offset": (int, none_type), + "limit": (int,), + "next_offset": (int, none_type), + "offset": (int,), + "prev_offset": (int, none_type), + "total": (int, none_type), + "type": (StatusPagesPaginationType,), + } + + attribute_map = { + "first_offset": "first_offset", + "last_offset": "last_offset", + "limit": "limit", + "next_offset": "next_offset", + "offset": "offset", + "prev_offset": "prev_offset", + "total": "total", + "type": "type", + } + + def __init__( + self_, + first_offset: Union[int, UnsetType] = unset, + last_offset: Union[int, none_type, UnsetType] = unset, + limit: Union[int, UnsetType] = unset, + next_offset: Union[int, none_type, UnsetType] = unset, + offset: Union[int, UnsetType] = unset, + prev_offset: Union[int, none_type, UnsetType] = unset, + total: Union[int, none_type, UnsetType] = unset, + type: Union[StatusPagesPaginationType, UnsetType] = unset, + **kwargs, + ): + """ + Offset-based pagination schema. + + :param first_offset: Integer representing the offset to fetch the first page of results. + :type first_offset: int, optional + + :param last_offset: Integer representing the offset to fetch the last page of results. + :type last_offset: int, none_type, optional + + :param limit: Integer representing the number of elements to returned in the results. + :type limit: int, optional + + :param next_offset: Integer representing the index of the first element in the next page of results. Equal to page size added to the current offset. + :type next_offset: int, none_type, optional + + :param offset: Integer representing the index of the first element in the results. + :type offset: int, optional + + :param prev_offset: Integer representing the index of the first element in the previous page of results. + :type prev_offset: int, none_type, optional + + :param total: Integer representing the total number of elements available. + :type total: int, none_type, optional + + :param type: + :type type: StatusPagesPaginationType, optional + """ + if first_offset is not unset: + kwargs["first_offset"] = first_offset + if last_offset is not unset: + kwargs["last_offset"] = last_offset + if limit is not unset: + kwargs["limit"] = limit + if next_offset is not unset: + kwargs["next_offset"] = next_offset + if offset is not unset: + kwargs["offset"] = offset + if prev_offset is not unset: + kwargs["prev_offset"] = prev_offset + if total is not unset: + kwargs["total"] = total + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/suite_search_response_type.py b/src/datadog_api_client/v2/model/status_pages_pagination_type.py similarity index 65% rename from src/datadog_api_client/v2/model/suite_search_response_type.py rename to src/datadog_api_client/v2/model/status_pages_pagination_type.py index fe5cf1443d..4bf279d520 100644 --- a/src/datadog_api_client/v2/model/suite_search_response_type.py +++ b/src/datadog_api_client/v2/model/status_pages_pagination_type.py @@ -12,18 +12,18 @@ from typing import ClassVar -class SuiteSearchResponseType(ModelSimple): +class StatusPagesPaginationType(ModelSimple): """ - :param value: If omitted defaults to "suites_search". Must be one of ["suites_search"]. + :param value: If omitted defaults to "offset_limit". Must be one of ["offset_limit"]. :type value: str """ allowed_values = { - "suites_search", + "offset_limit", } - SUITES_SEARCH: ClassVar["SuiteSearchResponseType"] + OFFSET_LIMIT: ClassVar["StatusPagesPaginationType"] @cached_property def openapi_types(_): @@ -32,4 +32,4 @@ def openapi_types(_): } -SuiteSearchResponseType.SUITES_SEARCH = SuiteSearchResponseType("suites_search") +StatusPagesPaginationType.OFFSET_LIMIT = StatusPagesPaginationType("offset_limit") diff --git a/src/datadog_api_client/v2/model/status_pages_response_meta.py b/src/datadog_api_client/v2/model/status_pages_response_meta.py new file mode 100644 index 0000000000..9eec12707c --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_response_meta.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.status_pages_pagination import StatusPagesPagination + + +class StatusPagesResponseMeta(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_pagination import StatusPagesPagination + + return { + "page": (StatusPagesPagination,), + } + + attribute_map = { + "page": "page", + } + + def __init__(self_, page: Union[StatusPagesPagination, UnsetType] = unset, **kwargs): + """ + Response metadata. + + :param page: Offset-based pagination schema. + :type page: StatusPagesPagination, optional + """ + if page is not unset: + kwargs["page"] = page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_user.py b/src/datadog_api_client/v2/model/status_pages_user.py new file mode 100644 index 0000000000..6f1672040a --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_user.py @@ -0,0 +1,65 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_attributes import StatusPagesUserAttributes + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_attributes import StatusPagesUserAttributes + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "attributes": (StatusPagesUserAttributes,), + "id": (UUID,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesUserType, + attributes: Union[StatusPagesUserAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + **kwargs, + ): + """ + The included Datadog user resource. + + :param attributes: Attributes of the Datadog user. + :type attributes: StatusPagesUserAttributes, optional + + :param id: The ID of the Datadog user. + :type id: UUID, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + 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/status_pages_user_attributes.py b/src/datadog_api_client/v2/model/status_pages_user_attributes.py new file mode 100644 index 0000000000..b00885094d --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_user_attributes.py @@ -0,0 +1,72 @@ +# 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 StatusPagesUserAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "email": (str,), + "handle": (str,), + "icon": (str,), + "name": (str,), + "uuid": (str,), + } + + attribute_map = { + "email": "email", + "handle": "handle", + "icon": "icon", + "name": "name", + "uuid": "uuid", + } + + def __init__( + self_, + email: Union[str, UnsetType] = unset, + handle: Union[str, UnsetType] = unset, + icon: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + uuid: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of the Datadog user. + + :param email: The email of the Datadog user. + :type email: str, optional + + :param handle: The handle of the Datadog user. + :type handle: str, optional + + :param icon: The icon of the Datadog user. + :type icon: str, optional + + :param name: The name of the Datadog user. + :type name: str, optional + + :param uuid: The UUID of the Datadog user. + :type uuid: str, optional + """ + if email is not unset: + kwargs["email"] = email + if handle is not unset: + kwargs["handle"] = handle + if icon is not unset: + kwargs["icon"] = icon + if name is not unset: + kwargs["name"] = name + if uuid is not unset: + kwargs["uuid"] = uuid + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/synthetics_suite_type.py b/src/datadog_api_client/v2/model/status_pages_user_type.py similarity index 67% rename from src/datadog_api_client/v2/model/synthetics_suite_type.py rename to src/datadog_api_client/v2/model/status_pages_user_type.py index 7fa6111014..4017be669c 100644 --- a/src/datadog_api_client/v2/model/synthetics_suite_type.py +++ b/src/datadog_api_client/v2/model/status_pages_user_type.py @@ -12,18 +12,18 @@ from typing import ClassVar -class SyntheticsSuiteType(ModelSimple): +class StatusPagesUserType(ModelSimple): """ - Type of the Synthetic suite, `suite`. + Users resource type. - :param value: If omitted defaults to "suite". Must be one of ["suite"]. + :param value: If omitted defaults to "users". Must be one of ["users"]. :type value: str """ allowed_values = { - "suite", + "users", } - SUITE: ClassVar["SyntheticsSuiteType"] + USERS: ClassVar["StatusPagesUserType"] @cached_property def openapi_types(_): @@ -32,4 +32,4 @@ def openapi_types(_): } -SyntheticsSuiteType.SUITE = SyntheticsSuiteType("suite") +StatusPagesUserType.USERS = StatusPagesUserType("users") diff --git a/src/datadog_api_client/v2/model/suite_create_edit.py b/src/datadog_api_client/v2/model/suite_create_edit.py deleted file mode 100644 index 86d2f29a7e..0000000000 --- a/src/datadog_api_client/v2/model/suite_create_edit.py +++ /dev/null @@ -1,48 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2019-Present Datadog, Inc. -from __future__ import annotations - -from typing import TYPE_CHECKING - -from datadog_api_client.model_utils import ( - ModelNormal, - cached_property, -) - - -if TYPE_CHECKING: - from datadog_api_client.v2.model.synthetics_suite import SyntheticsSuite - from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - - -class SuiteCreateEdit(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite import SyntheticsSuite - from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - - return { - "attributes": (SyntheticsSuite,), - "type": (SyntheticsSuiteTypes,), - } - - attribute_map = { - "attributes": "attributes", - "type": "type", - } - - def __init__(self_, attributes: SyntheticsSuite, type: SyntheticsSuiteTypes, **kwargs): - """ - - - :param attributes: Object containing details about a Synthetic suite. - :type attributes: SyntheticsSuite - - :param type: Type for the Synthetics suites responses, ``suites``. - :type type: SyntheticsSuiteTypes - """ - super().__init__(kwargs) - - self_.attributes = attributes - self_.type = type diff --git a/src/datadog_api_client/v2/model/synthetics_suite.py b/src/datadog_api_client/v2/model/synthetics_suite.py deleted file mode 100644 index 0c039e58ac..0000000000 --- a/src/datadog_api_client/v2/model/synthetics_suite.py +++ /dev/null @@ -1,107 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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.synthetics_suite_options import SyntheticsSuiteOptions - from datadog_api_client.v2.model.synthetics_suite_test import SyntheticsSuiteTest - from datadog_api_client.v2.model.synthetics_suite_type import SyntheticsSuiteType - - -class SyntheticsSuite(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite_options import SyntheticsSuiteOptions - from datadog_api_client.v2.model.synthetics_suite_test import SyntheticsSuiteTest - from datadog_api_client.v2.model.synthetics_suite_type import SyntheticsSuiteType - - return { - "message": (str,), - "monitor_id": (int,), - "name": (str,), - "options": (SyntheticsSuiteOptions,), - "public_id": (str,), - "tags": ([str],), - "tests": ([SyntheticsSuiteTest],), - "type": (SyntheticsSuiteType,), - } - - attribute_map = { - "message": "message", - "monitor_id": "monitor_id", - "name": "name", - "options": "options", - "public_id": "public_id", - "tags": "tags", - "tests": "tests", - "type": "type", - } - read_only_vars = { - "monitor_id", - "public_id", - } - - def __init__( - self_, - name: str, - options: SyntheticsSuiteOptions, - tests: List[SyntheticsSuiteTest], - type: SyntheticsSuiteType, - message: Union[str, UnsetType] = unset, - monitor_id: Union[int, UnsetType] = unset, - public_id: Union[str, UnsetType] = unset, - tags: Union[List[str], UnsetType] = unset, - **kwargs, - ): - """ - Object containing details about a Synthetic suite. - - :param message: Notification message associated with the suite. - :type message: str, optional - - :param monitor_id: The associated monitor ID. - :type monitor_id: int, optional - - :param name: Name of the suite. - :type name: str - - :param options: Object describing the extra options for a Synthetic suite. - :type options: SyntheticsSuiteOptions - - :param public_id: The public ID for the test. - :type public_id: str, optional - - :param tags: Array of tags attached to the suite. - :type tags: [str], optional - - :param tests: - :type tests: [SyntheticsSuiteTest] - - :param type: Type of the Synthetic suite, ``suite``. - :type type: SyntheticsSuiteType - """ - if message is not unset: - kwargs["message"] = message - if monitor_id is not unset: - kwargs["monitor_id"] = monitor_id - if public_id is not unset: - kwargs["public_id"] = public_id - if tags is not unset: - kwargs["tags"] = tags - super().__init__(kwargs) - - self_.name = name - self_.options = options - self_.tests = tests - self_.type = type diff --git a/src/datadog_api_client/v2/model/synthetics_suite_options.py b/src/datadog_api_client/v2/model/synthetics_suite_options.py deleted file mode 100644 index b15792e741..0000000000 --- a/src/datadog_api_client/v2/model/synthetics_suite_options.py +++ /dev/null @@ -1,43 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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 SyntheticsSuiteOptions(ModelNormal): - validations = { - "alerting_threshold": { - "inclusive_maximum": 1, - "inclusive_minimum": 0, - }, - } - - @cached_property - def openapi_types(_): - return { - "alerting_threshold": (float,), - } - - attribute_map = { - "alerting_threshold": "alerting_threshold", - } - - def __init__(self_, alerting_threshold: Union[float, UnsetType] = unset, **kwargs): - """ - Object describing the extra options for a Synthetic suite. - - :param alerting_threshold: Percentage of critical tests failure needed for a suite to fail. - :type alerting_threshold: float, optional - """ - if alerting_threshold is not unset: - kwargs["alerting_threshold"] = alerting_threshold - super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/synthetics_suite_response_data.py b/src/datadog_api_client/v2/model/synthetics_suite_response_data.py deleted file mode 100644 index c56b6fbfb9..0000000000 --- a/src/datadog_api_client/v2/model/synthetics_suite_response_data.py +++ /dev/null @@ -1,67 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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.synthetics_suite import SyntheticsSuite - from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - - -class SyntheticsSuiteResponseData(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite import SyntheticsSuite - from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes - - return { - "attributes": (SyntheticsSuite,), - "id": (str,), - "type": (SyntheticsSuiteTypes,), - } - - attribute_map = { - "attributes": "attributes", - "id": "id", - "type": "type", - } - read_only_vars = { - "id", - } - - def __init__( - self_, - attributes: Union[SyntheticsSuite, UnsetType] = unset, - id: Union[str, UnsetType] = unset, - type: Union[SyntheticsSuiteTypes, UnsetType] = unset, - **kwargs, - ): - """ - Synthetics suite response data - - :param attributes: Object containing details about a Synthetic suite. - :type attributes: SyntheticsSuite, optional - - :param id: The public ID for the suite. - :type id: str, optional - - :param type: Type for the Synthetics suites responses, ``suites``. - :type type: SyntheticsSuiteTypes, optional - """ - if attributes is not unset: - kwargs["attributes"] = attributes - if id is not unset: - kwargs["id"] = id - if type is not unset: - kwargs["type"] = type - super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/synthetics_suite_search_response_data.py b/src/datadog_api_client/v2/model/synthetics_suite_search_response_data.py deleted file mode 100644 index ef55ea9895..0000000000 --- a/src/datadog_api_client/v2/model/synthetics_suite_search_response_data.py +++ /dev/null @@ -1,69 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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, - UUID, -) - - -if TYPE_CHECKING: - from datadog_api_client.v2.model.synthetics_suite_search_response_data_attributes import ( - SyntheticsSuiteSearchResponseDataAttributes, - ) - from datadog_api_client.v2.model.suite_search_response_type import SuiteSearchResponseType - - -class SyntheticsSuiteSearchResponseData(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite_search_response_data_attributes import ( - SyntheticsSuiteSearchResponseDataAttributes, - ) - from datadog_api_client.v2.model.suite_search_response_type import SuiteSearchResponseType - - return { - "attributes": (SyntheticsSuiteSearchResponseDataAttributes,), - "id": (UUID,), - "type": (SuiteSearchResponseType,), - } - - attribute_map = { - "attributes": "attributes", - "id": "id", - "type": "type", - } - - def __init__( - self_, - attributes: Union[SyntheticsSuiteSearchResponseDataAttributes, UnsetType] = unset, - id: Union[UUID, UnsetType] = unset, - type: Union[SuiteSearchResponseType, UnsetType] = unset, - **kwargs, - ): - """ - Synthetics suite search response data - - :param attributes: Synthetics suite search response data attributes - :type attributes: SyntheticsSuiteSearchResponseDataAttributes, optional - - :param id: - :type id: UUID, optional - - :param type: - :type type: SuiteSearchResponseType, optional - """ - if attributes is not unset: - kwargs["attributes"] = attributes - if id is not unset: - kwargs["id"] = id - if type is not unset: - kwargs["type"] = type - super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/synthetics_suite_search_response_data_attributes.py b/src/datadog_api_client/v2/model/synthetics_suite_search_response_data_attributes.py deleted file mode 100644 index 1497b85adb..0000000000 --- a/src/datadog_api_client/v2/model/synthetics_suite_search_response_data_attributes.py +++ /dev/null @@ -1,57 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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.synthetics_suite import SyntheticsSuite - - -class SyntheticsSuiteSearchResponseDataAttributes(ModelNormal): - validations = { - "total": { - "inclusive_maximum": 2147483647, - }, - } - - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite import SyntheticsSuite - - return { - "suites": ([SyntheticsSuite],), - "total": (int,), - } - - attribute_map = { - "suites": "suites", - "total": "total", - } - - def __init__( - self_, suites: Union[List[SyntheticsSuite], UnsetType] = unset, total: Union[int, UnsetType] = unset, **kwargs - ): - """ - Synthetics suite search response data attributes - - :param suites: - :type suites: [SyntheticsSuite], optional - - :param total: - :type total: int, optional - """ - if suites is not unset: - kwargs["suites"] = suites - if total is not unset: - kwargs["total"] = total - super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/synthetics_suite_test.py b/src/datadog_api_client/v2/model/synthetics_suite_test.py deleted file mode 100644 index aea30d1179..0000000000 --- a/src/datadog_api_client/v2/model/synthetics_suite_test.py +++ /dev/null @@ -1,58 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. -# This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 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.synthetics_suite_test_alerting_criticality import ( - SyntheticsSuiteTestAlertingCriticality, - ) - - -class SyntheticsSuiteTest(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.synthetics_suite_test_alerting_criticality import ( - SyntheticsSuiteTestAlertingCriticality, - ) - - return { - "alerting_criticality": (SyntheticsSuiteTestAlertingCriticality,), - "public_id": (str,), - } - - attribute_map = { - "alerting_criticality": "alerting_criticality", - "public_id": "public_id", - } - - def __init__( - self_, - public_id: str, - alerting_criticality: Union[SyntheticsSuiteTestAlertingCriticality, UnsetType] = unset, - **kwargs, - ): - """ - Object containing details about a Synthetic test included in a Synthetic suite. - - :param alerting_criticality: Alerting criticality for each the test. - :type alerting_criticality: SyntheticsSuiteTestAlertingCriticality, optional - - :param public_id: - :type public_id: str - """ - if alerting_criticality is not unset: - kwargs["alerting_criticality"] = alerting_criticality - super().__init__(kwargs) - - self_.public_id = public_id diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 410de05657..5726b23366 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -1001,6 +1001,24 @@ from datadog_api_client.v2.model.create_case_request_data import CreateCaseRequestData from datadog_api_client.v2.model.create_case_request_data_attributes import CreateCaseRequestDataAttributes from datadog_api_client.v2.model.create_case_request_data_relationships import CreateCaseRequestDataRelationships +from datadog_api_client.v2.model.create_component_request import CreateComponentRequest +from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData +from datadog_api_client.v2.model.create_component_request_data_attributes import CreateComponentRequestDataAttributes +from datadog_api_client.v2.model.create_component_request_data_attributes_components_items import ( + CreateComponentRequestDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, +) +from datadog_api_client.v2.model.create_component_request_data_relationships import ( + CreateComponentRequestDataRelationships, +) +from datadog_api_client.v2.model.create_component_request_data_relationships_group import ( + CreateComponentRequestDataRelationshipsGroup, +) +from datadog_api_client.v2.model.create_component_request_data_relationships_group_data import ( + CreateComponentRequestDataRelationshipsGroupData, +) from datadog_api_client.v2.model.create_connection_request import CreateConnectionRequest from datadog_api_client.v2.model.create_connection_request_data import CreateConnectionRequestData from datadog_api_client.v2.model.create_connection_request_data_attributes import CreateConnectionRequestDataAttributes @@ -1018,6 +1036,17 @@ CreateDataDeletionRequestBodyDataType, ) from datadog_api_client.v2.model.create_data_deletion_response_body import CreateDataDeletionResponseBody +from datadog_api_client.v2.model.create_degradation_request import CreateDegradationRequest +from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData +from datadog_api_client.v2.model.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, +) from datadog_api_client.v2.model.create_deployment_gate_params import CreateDeploymentGateParams from datadog_api_client.v2.model.create_deployment_gate_params_data import CreateDeploymentGateParamsData from datadog_api_client.v2.model.create_deployment_gate_params_data_attributes import ( @@ -1089,6 +1118,21 @@ CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems, ) from datadog_api_client.v2.model.create_ruleset_request_data_type import CreateRulesetRequestDataType +from datadog_api_client.v2.model.create_status_page_request import CreateStatusPageRequest +from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData +from datadog_api_client.v2.model.create_status_page_request_data_attributes import CreateStatusPageRequestDataAttributes +from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, +) from datadog_api_client.v2.model.create_table_request import CreateTableRequest from datadog_api_client.v2.model.create_table_request_data import CreateTableRequestData from datadog_api_client.v2.model.create_table_request_data_attributes import CreateTableRequestDataAttributes @@ -1386,6 +1430,37 @@ from datadog_api_client.v2.model.datastore_primary_key_generation_strategy import DatastorePrimaryKeyGenerationStrategy from datadog_api_client.v2.model.datastore_trigger import DatastoreTrigger from datadog_api_client.v2.model.datastore_trigger_wrapper import DatastoreTriggerWrapper +from datadog_api_client.v2.model.degradation import Degradation +from datadog_api_client.v2.model.degradation_array import DegradationArray +from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded +from datadog_api_client.v2.model.degradation_data import DegradationData +from datadog_api_client.v2.model.degradation_data_attributes import DegradationDataAttributes +from datadog_api_client.v2.model.degradation_data_attributes_components_affected_items import ( + DegradationDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.degradation_data_attributes_updates_items import DegradationDataAttributesUpdatesItems +from datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items import ( + DegradationDataAttributesUpdatesItemsComponentsAffectedItems, +) +from datadog_api_client.v2.model.degradation_data_relationships import DegradationDataRelationships +from datadog_api_client.v2.model.degradation_data_relationships_created_by_user import ( + DegradationDataRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.degradation_data_relationships_created_by_user_data import ( + DegradationDataRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user import ( + DegradationDataRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user_data import ( + DegradationDataRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.degradation_data_relationships_status_page import ( + DegradationDataRelationshipsStatusPage, +) +from datadog_api_client.v2.model.degradation_data_relationships_status_page_data import ( + DegradationDataRelationshipsStatusPageData, +) from datadog_api_client.v2.model.delete_app_response import DeleteAppResponse from datadog_api_client.v2.model.delete_app_response_data import DeleteAppResponseData from datadog_api_client.v2.model.delete_apps_datastore_item_request import DeleteAppsDatastoreItemRequest @@ -1401,13 +1476,6 @@ from datadog_api_client.v2.model.delete_apps_response import DeleteAppsResponse from datadog_api_client.v2.model.delete_apps_response_data_items import DeleteAppsResponseDataItems from datadog_api_client.v2.model.delete_custom_framework_response import DeleteCustomFrameworkResponse -from datadog_api_client.v2.model.deleted_suite_response_data import DeletedSuiteResponseData -from datadog_api_client.v2.model.deleted_suite_response_data_attributes import DeletedSuiteResponseDataAttributes -from datadog_api_client.v2.model.deleted_suites_request_delete import DeletedSuitesRequestDelete -from datadog_api_client.v2.model.deleted_suites_request_delete_attributes import DeletedSuitesRequestDeleteAttributes -from datadog_api_client.v2.model.deleted_suites_request_delete_request import DeletedSuitesRequestDeleteRequest -from datadog_api_client.v2.model.deleted_suites_request_type import DeletedSuitesRequestType -from datadog_api_client.v2.model.deleted_suites_response import DeletedSuitesResponse from datadog_api_client.v2.model.dependency_location import DependencyLocation from datadog_api_client.v2.model.deployment import Deployment from datadog_api_client.v2.model.deployment_attributes import DeploymentAttributes @@ -3724,6 +3792,19 @@ from datadog_api_client.v2.model.patch_attachment_request_data_attributes_attachment import ( PatchAttachmentRequestDataAttributesAttachment, ) +from datadog_api_client.v2.model.patch_component_request import PatchComponentRequest +from datadog_api_client.v2.model.patch_component_request_data import PatchComponentRequestData +from datadog_api_client.v2.model.patch_component_request_data_attributes import PatchComponentRequestDataAttributes +from datadog_api_client.v2.model.patch_degradation_request import PatchDegradationRequest +from datadog_api_client.v2.model.patch_degradation_request_data import PatchDegradationRequestData +from datadog_api_client.v2.model.patch_degradation_request_data_attributes import PatchDegradationRequestDataAttributes +from datadog_api_client.v2.model.patch_degradation_request_data_attributes_components_affected_items import ( + PatchDegradationRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.patch_degradation_request_data_attributes_status import ( + PatchDegradationRequestDataAttributesStatus, +) +from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType from datadog_api_client.v2.model.patch_incident_notification_template_request import ( PatchIncidentNotificationTemplateRequest, ) @@ -3732,6 +3813,9 @@ from datadog_api_client.v2.model.patch_notification_rule_parameters_data_attributes import ( PatchNotificationRuleParametersDataAttributes, ) +from datadog_api_client.v2.model.patch_status_page_request import PatchStatusPageRequest +from datadog_api_client.v2.model.patch_status_page_request_data import PatchStatusPageRequestData +from datadog_api_client.v2.model.patch_status_page_request_data_attributes import PatchStatusPageRequestDataAttributes from datadog_api_client.v2.model.patch_table_request import PatchTableRequest from datadog_api_client.v2.model.patch_table_request_data import PatchTableRequestData from datadog_api_client.v2.model.patch_table_request_data_attributes import PatchTableRequestDataAttributes @@ -4412,6 +4496,9 @@ from datadog_api_client.v2.model.security_monitoring_filter import SecurityMonitoringFilter from datadog_api_client.v2.model.security_monitoring_filter_action import SecurityMonitoringFilterAction from datadog_api_client.v2.model.security_monitoring_list_rules_response import SecurityMonitoringListRulesResponse +from datadog_api_client.v2.model.security_monitoring_paginated_suppressions_response import ( + SecurityMonitoringPaginatedSuppressionsResponse, +) from datadog_api_client.v2.model.security_monitoring_reference_table import SecurityMonitoringReferenceTable from datadog_api_client.v2.model.security_monitoring_rule_anomaly_detection_options import ( SecurityMonitoringRuleAnomalyDetectionOptions, @@ -4595,6 +4682,7 @@ SecurityMonitoringSuppressionCreateRequest, ) from datadog_api_client.v2.model.security_monitoring_suppression_response import SecurityMonitoringSuppressionResponse +from datadog_api_client.v2.model.security_monitoring_suppression_sort import SecurityMonitoringSuppressionSort from datadog_api_client.v2.model.security_monitoring_suppression_type import SecurityMonitoringSuppressionType from datadog_api_client.v2.model.security_monitoring_suppression_update_attributes import ( SecurityMonitoringSuppressionUpdateAttributes, @@ -4605,6 +4693,10 @@ from datadog_api_client.v2.model.security_monitoring_suppression_update_request import ( SecurityMonitoringSuppressionUpdateRequest, ) +from datadog_api_client.v2.model.security_monitoring_suppressions_meta import SecurityMonitoringSuppressionsMeta +from datadog_api_client.v2.model.security_monitoring_suppressions_page_meta import ( + SecurityMonitoringSuppressionsPageMeta, +) from datadog_api_client.v2.model.security_monitoring_suppressions_response import SecurityMonitoringSuppressionsResponse from datadog_api_client.v2.model.security_monitoring_third_party_root_query import SecurityMonitoringThirdPartyRootQuery from datadog_api_client.v2.model.security_monitoring_third_party_rule_case import SecurityMonitoringThirdPartyRuleCase @@ -4927,12 +5019,136 @@ from datadog_api_client.v2.model.statsig_integration import StatsigIntegration from datadog_api_client.v2.model.statsig_integration_type import StatsigIntegrationType from datadog_api_client.v2.model.statsig_integration_update import StatsigIntegrationUpdate +from datadog_api_client.v2.model.status_page import StatusPage +from datadog_api_client.v2.model.status_page_array import StatusPageArray +from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded +from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded +from datadog_api_client.v2.model.status_page_as_included_attributes import StatusPageAsIncludedAttributes +from datadog_api_client.v2.model.status_page_as_included_attributes_components_items import ( + StatusPageAsIncludedAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_page_as_included_attributes_components_items_components_items import ( + StatusPageAsIncludedAttributesComponentsItemsComponentsItems, +) +from datadog_api_client.v2.model.status_page_as_included_relationships import StatusPageAsIncludedRelationships +from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user import ( + StatusPageAsIncludedRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user_data import ( + StatusPageAsIncludedRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user import ( + StatusPageAsIncludedRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user_data import ( + StatusPageAsIncludedRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_page_data import StatusPageData +from datadog_api_client.v2.model.status_page_data_attributes import StatusPageDataAttributes +from datadog_api_client.v2.model.status_page_data_attributes_components_items import ( + StatusPageDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_page_data_attributes_components_items_components_items import ( + StatusPageDataAttributesComponentsItemsComponentsItems, +) +from datadog_api_client.v2.model.status_page_data_relationships import StatusPageDataRelationships +from datadog_api_client.v2.model.status_page_data_relationships_created_by_user import ( + StatusPageDataRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_page_data_relationships_created_by_user_data import ( + StatusPageDataRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user import ( + StatusPageDataRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user_data import ( + StatusPageDataRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType +from datadog_api_client.v2.model.status_pages_component import StatusPagesComponent +from datadog_api_client.v2.model.status_pages_component_array import StatusPagesComponentArray +from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded +from datadog_api_client.v2.model.status_pages_component_data import StatusPagesComponentData +from datadog_api_client.v2.model.status_pages_component_data_attributes import StatusPagesComponentDataAttributes +from datadog_api_client.v2.model.status_pages_component_data_attributes_components_items import ( + StatusPagesComponentDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships import StatusPagesComponentDataRelationships +from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user import ( + StatusPagesComponentDataRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user_data import ( + StatusPagesComponentDataRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_group import ( + StatusPagesComponentDataRelationshipsGroup, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_group_data import ( + StatusPagesComponentDataRelationshipsGroupData, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user import ( + StatusPagesComponentDataRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user_data import ( + StatusPagesComponentDataRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page import ( + StatusPagesComponentDataRelationshipsStatusPage, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page_data import ( + StatusPagesComponentDataRelationshipsStatusPageData, +) +from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup +from datadog_api_client.v2.model.status_pages_component_group_attributes import StatusPagesComponentGroupAttributes +from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items import ( + StatusPagesComponentGroupAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, +) +from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships import ( + StatusPagesComponentGroupRelationships, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user import ( + StatusPagesComponentGroupRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user_data import ( + StatusPagesComponentGroupRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_group import ( + StatusPagesComponentGroupRelationshipsGroup, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_group_data import ( + StatusPagesComponentGroupRelationshipsGroupData, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user_data import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page import ( + StatusPagesComponentGroupRelationshipsStatusPage, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page_data import ( + StatusPagesComponentGroupRelationshipsStatusPageData, +) +from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType +from datadog_api_client.v2.model.status_pages_pagination import StatusPagesPagination +from datadog_api_client.v2.model.status_pages_pagination_type import StatusPagesPaginationType +from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta +from datadog_api_client.v2.model.status_pages_user import StatusPagesUser +from datadog_api_client.v2.model.status_pages_user_attributes import StatusPagesUserAttributes +from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType from datadog_api_client.v2.model.step import Step from datadog_api_client.v2.model.step_display import StepDisplay from datadog_api_client.v2.model.step_display_bounds import StepDisplayBounds -from datadog_api_client.v2.model.suite_create_edit import SuiteCreateEdit -from datadog_api_client.v2.model.suite_create_edit_request import SuiteCreateEditRequest -from datadog_api_client.v2.model.suite_search_response_type import SuiteSearchResponseType from datadog_api_client.v2.model.suppression_version_history import SuppressionVersionHistory from datadog_api_client.v2.model.suppression_versions import SuppressionVersions from datadog_api_client.v2.model.synthetics_global_variable import SyntheticsGlobalVariable @@ -4949,21 +5165,6 @@ SyntheticsGlobalVariableTOTPParameters, ) from datadog_api_client.v2.model.synthetics_global_variable_value import SyntheticsGlobalVariableValue -from datadog_api_client.v2.model.synthetics_suite import SyntheticsSuite -from datadog_api_client.v2.model.synthetics_suite_options import SyntheticsSuiteOptions -from datadog_api_client.v2.model.synthetics_suite_response import SyntheticsSuiteResponse -from datadog_api_client.v2.model.synthetics_suite_response_data import SyntheticsSuiteResponseData -from datadog_api_client.v2.model.synthetics_suite_search_response import SyntheticsSuiteSearchResponse -from datadog_api_client.v2.model.synthetics_suite_search_response_data import SyntheticsSuiteSearchResponseData -from datadog_api_client.v2.model.synthetics_suite_search_response_data_attributes import ( - SyntheticsSuiteSearchResponseDataAttributes, -) -from datadog_api_client.v2.model.synthetics_suite_test import SyntheticsSuiteTest -from datadog_api_client.v2.model.synthetics_suite_test_alerting_criticality import ( - SyntheticsSuiteTestAlertingCriticality, -) -from datadog_api_client.v2.model.synthetics_suite_type import SyntheticsSuiteType -from datadog_api_client.v2.model.synthetics_suite_types import SyntheticsSuiteTypes from datadog_api_client.v2.model.synthetics_variable_parser import SyntheticsVariableParser from datadog_api_client.v2.model.table_result_v2 import TableResultV2 from datadog_api_client.v2.model.table_result_v2_array import TableResultV2Array @@ -6169,6 +6370,14 @@ "CreateCaseRequestData", "CreateCaseRequestDataAttributes", "CreateCaseRequestDataRelationships", + "CreateComponentRequest", + "CreateComponentRequestData", + "CreateComponentRequestDataAttributes", + "CreateComponentRequestDataAttributesComponentsItems", + "CreateComponentRequestDataAttributesType", + "CreateComponentRequestDataRelationships", + "CreateComponentRequestDataRelationshipsGroup", + "CreateComponentRequestDataRelationshipsGroupData", "CreateConnectionRequest", "CreateConnectionRequestData", "CreateConnectionRequestDataAttributes", @@ -6180,6 +6389,11 @@ "CreateDataDeletionRequestBodyData", "CreateDataDeletionRequestBodyDataType", "CreateDataDeletionResponseBody", + "CreateDegradationRequest", + "CreateDegradationRequestData", + "CreateDegradationRequestDataAttributes", + "CreateDegradationRequestDataAttributesComponentsAffectedItems", + "CreateDegradationRequestDataAttributesStatus", "CreateDeploymentGateParams", "CreateDeploymentGateParamsData", "CreateDeploymentGateParamsDataAttributes", @@ -6227,6 +6441,13 @@ "CreateRulesetRequestDataAttributesRulesItemsReferenceTable", "CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems", "CreateRulesetRequestDataType", + "CreateStatusPageRequest", + "CreateStatusPageRequestData", + "CreateStatusPageRequestDataAttributes", + "CreateStatusPageRequestDataAttributesComponentsItems", + "CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems", + "CreateStatusPageRequestDataAttributesType", + "CreateStatusPageRequestDataAttributesVisualizationType", "CreateTableRequest", "CreateTableRequestData", "CreateTableRequestDataAttributes", @@ -6422,6 +6643,21 @@ "DatastorePrimaryKeyGenerationStrategy", "DatastoreTrigger", "DatastoreTriggerWrapper", + "Degradation", + "DegradationArray", + "DegradationArrayIncluded", + "DegradationData", + "DegradationDataAttributes", + "DegradationDataAttributesComponentsAffectedItems", + "DegradationDataAttributesUpdatesItems", + "DegradationDataAttributesUpdatesItemsComponentsAffectedItems", + "DegradationDataRelationships", + "DegradationDataRelationshipsCreatedByUser", + "DegradationDataRelationshipsCreatedByUserData", + "DegradationDataRelationshipsLastModifiedByUser", + "DegradationDataRelationshipsLastModifiedByUserData", + "DegradationDataRelationshipsStatusPage", + "DegradationDataRelationshipsStatusPageData", "DeleteAppResponse", "DeleteAppResponseData", "DeleteAppsDatastoreItemRequest", @@ -6435,13 +6671,6 @@ "DeleteAppsResponse", "DeleteAppsResponseDataItems", "DeleteCustomFrameworkResponse", - "DeletedSuiteResponseData", - "DeletedSuiteResponseDataAttributes", - "DeletedSuitesRequestDelete", - "DeletedSuitesRequestDeleteAttributes", - "DeletedSuitesRequestDeleteRequest", - "DeletedSuitesRequestType", - "DeletedSuitesResponse", "DependencyLocation", "Deployment", "DeploymentAttributes", @@ -8022,10 +8251,22 @@ "PatchAttachmentRequestData", "PatchAttachmentRequestDataAttributes", "PatchAttachmentRequestDataAttributesAttachment", + "PatchComponentRequest", + "PatchComponentRequestData", + "PatchComponentRequestDataAttributes", + "PatchDegradationRequest", + "PatchDegradationRequestData", + "PatchDegradationRequestDataAttributes", + "PatchDegradationRequestDataAttributesComponentsAffectedItems", + "PatchDegradationRequestDataAttributesStatus", + "PatchDegradationRequestDataType", "PatchIncidentNotificationTemplateRequest", "PatchNotificationRuleParameters", "PatchNotificationRuleParametersData", "PatchNotificationRuleParametersDataAttributes", + "PatchStatusPageRequest", + "PatchStatusPageRequestData", + "PatchStatusPageRequestDataAttributes", "PatchTableRequest", "PatchTableRequestData", "PatchTableRequestDataAttributes", @@ -8558,6 +8799,7 @@ "SecurityMonitoringFilter", "SecurityMonitoringFilterAction", "SecurityMonitoringListRulesResponse", + "SecurityMonitoringPaginatedSuppressionsResponse", "SecurityMonitoringReferenceTable", "SecurityMonitoringRuleAnomalyDetectionOptions", "SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration", @@ -8649,10 +8891,13 @@ "SecurityMonitoringSuppressionCreateData", "SecurityMonitoringSuppressionCreateRequest", "SecurityMonitoringSuppressionResponse", + "SecurityMonitoringSuppressionSort", "SecurityMonitoringSuppressionType", "SecurityMonitoringSuppressionUpdateAttributes", "SecurityMonitoringSuppressionUpdateData", "SecurityMonitoringSuppressionUpdateRequest", + "SecurityMonitoringSuppressionsMeta", + "SecurityMonitoringSuppressionsPageMeta", "SecurityMonitoringSuppressionsResponse", "SecurityMonitoringThirdPartyRootQuery", "SecurityMonitoringThirdPartyRuleCase", @@ -8909,12 +9154,68 @@ "StatsigIntegration", "StatsigIntegrationType", "StatsigIntegrationUpdate", + "StatusPage", + "StatusPageArray", + "StatusPageArrayIncluded", + "StatusPageAsIncluded", + "StatusPageAsIncludedAttributes", + "StatusPageAsIncludedAttributesComponentsItems", + "StatusPageAsIncludedAttributesComponentsItemsComponentsItems", + "StatusPageAsIncludedRelationships", + "StatusPageAsIncludedRelationshipsCreatedByUser", + "StatusPageAsIncludedRelationshipsCreatedByUserData", + "StatusPageAsIncludedRelationshipsLastModifiedByUser", + "StatusPageAsIncludedRelationshipsLastModifiedByUserData", + "StatusPageData", + "StatusPageDataAttributes", + "StatusPageDataAttributesComponentsItems", + "StatusPageDataAttributesComponentsItemsComponentsItems", + "StatusPageDataRelationships", + "StatusPageDataRelationshipsCreatedByUser", + "StatusPageDataRelationshipsCreatedByUserData", + "StatusPageDataRelationshipsLastModifiedByUser", + "StatusPageDataRelationshipsLastModifiedByUserData", + "StatusPageDataType", + "StatusPagesComponent", + "StatusPagesComponentArray", + "StatusPagesComponentArrayIncluded", + "StatusPagesComponentData", + "StatusPagesComponentDataAttributes", + "StatusPagesComponentDataAttributesComponentsItems", + "StatusPagesComponentDataAttributesStatus", + "StatusPagesComponentDataRelationships", + "StatusPagesComponentDataRelationshipsCreatedByUser", + "StatusPagesComponentDataRelationshipsCreatedByUserData", + "StatusPagesComponentDataRelationshipsGroup", + "StatusPagesComponentDataRelationshipsGroupData", + "StatusPagesComponentDataRelationshipsLastModifiedByUser", + "StatusPagesComponentDataRelationshipsLastModifiedByUserData", + "StatusPagesComponentDataRelationshipsStatusPage", + "StatusPagesComponentDataRelationshipsStatusPageData", + "StatusPagesComponentGroup", + "StatusPagesComponentGroupAttributes", + "StatusPagesComponentGroupAttributesComponentsItems", + "StatusPagesComponentGroupAttributesComponentsItemsStatus", + "StatusPagesComponentGroupAttributesComponentsItemsType", + "StatusPagesComponentGroupRelationships", + "StatusPagesComponentGroupRelationshipsCreatedByUser", + "StatusPagesComponentGroupRelationshipsCreatedByUserData", + "StatusPagesComponentGroupRelationshipsGroup", + "StatusPagesComponentGroupRelationshipsGroupData", + "StatusPagesComponentGroupRelationshipsLastModifiedByUser", + "StatusPagesComponentGroupRelationshipsLastModifiedByUserData", + "StatusPagesComponentGroupRelationshipsStatusPage", + "StatusPagesComponentGroupRelationshipsStatusPageData", + "StatusPagesComponentGroupType", + "StatusPagesPagination", + "StatusPagesPaginationType", + "StatusPagesResponseMeta", + "StatusPagesUser", + "StatusPagesUserAttributes", + "StatusPagesUserType", "Step", "StepDisplay", "StepDisplayBounds", - "SuiteCreateEdit", - "SuiteCreateEditRequest", - "SuiteSearchResponseType", "SuppressionVersionHistory", "SuppressionVersions", "SyntheticsGlobalVariable", @@ -8925,17 +9226,6 @@ "SyntheticsGlobalVariableParserType", "SyntheticsGlobalVariableTOTPParameters", "SyntheticsGlobalVariableValue", - "SyntheticsSuite", - "SyntheticsSuiteOptions", - "SyntheticsSuiteResponse", - "SyntheticsSuiteResponseData", - "SyntheticsSuiteSearchResponse", - "SyntheticsSuiteSearchResponseData", - "SyntheticsSuiteSearchResponseDataAttributes", - "SyntheticsSuiteTest", - "SyntheticsSuiteTestAlertingCriticality", - "SyntheticsSuiteType", - "SyntheticsSuiteTypes", "SyntheticsVariableParser", "TableResultV2", "TableResultV2Array", diff --git a/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.frozen new file mode 100644 index 0000000000..8776d9784d --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:16.644Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.yaml new file mode 100644 index 0000000000..1e3d13d7ff --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-34bcfd8351c0bf6c","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"9f8ede40-b32f-4efb-bc55-a3442b846412","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"5cb2f4f2-361a-4902-9a1a-b84e71164678","name":"Application","type":"group","position":0,"components":[{"id":"ff7ccb5e-ab5a-4fff-b6ed-39746cadc2ac","name":"Login","type":"component","status":"operational","position":0},{"id":"0cbdbc69-6b3c-4a96-8566-8e71492c2bab","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:16.802269Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-34bcfd8351c0bf6c","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:16.802269Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/9f8ede40-b32f-4efb-bc55-a3442b846412/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"name":"Logs","position":0,"type":"component"},"type":"components"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/9f8ede40-b32f-4efb-bc55-a3442b846412/components + response: + body: + string: '{"data":{"id":"ad01c370-832f-4b2d-a071-9f965238bedd","type":"components","attributes":{"created_at":"2026-01-14T18:34:17.271005Z","modified_at":"2026-01-14T18:34:17.271005Z","name":"Logs","position":0,"status":"operational","type":"component"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"9f8ede40-b32f-4efb-bc55-a3442b846412","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/9f8ede40-b32f-4efb-bc55-a3442b846412/components/ad01c370-832f-4b2d-a071-9f965238bedd + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/9f8ede40-b32f-4efb-bc55-a3442b846412 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.frozen new file mode 100644 index 0000000000..efeea9f60f --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:17.948Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.yaml new file mode 100644 index 0000000000..c81ee07102 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.yaml @@ -0,0 +1,73 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-789a0331b83650e4","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"df0612f3-4ee3-4627-b8a6-a34b3043e31d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"9dd5c0f9-5bcb-4694-a8be-4f9b70b63c7e","name":"Application","type":"group","position":0,"components":[{"id":"da61bfdd-4282-49e1-bf83-d3df9f0b2e1c","name":"Login","type":"component","status":"operational","position":0},{"id":"b7ad28fd-a485-452c-81f6-2a72b5e22135","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:18.052972Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-789a0331b83650e4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:18.052972Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/df0612f3-4ee3-4627-b8a6-a34b3043e31d/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"da61bfdd-4282-49e1-bf83-d3df9f0b2e1c","status":"major_outage"}],"description":"Our + API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated + API Latency"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/df0612f3-4ee3-4627-b8a6-a34b3043e31d/degradations + response: + body: + string: '{"data":{"id":"56a84290-5371-4d6e-b106-b1d5cc52ed79","type":"degradations","attributes":{"components_affected":[{"id":"da61bfdd-4282-49e1-bf83-d3df9f0b2e1c","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:18.643353Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:18.643353Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"1c212f1c-fa94-4f8e-b94e-051e24057d52","created_at":"2026-01-14T18:34:18.643353Z","modified_at":"2026-01-14T18:34:18.643353Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"da61bfdd-4282-49e1-bf83-d3df9f0b2e1c","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"df0612f3-4ee3-4627-b8a6-a34b3043e31d","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/df0612f3-4ee3-4627-b8a6-a34b3043e31d/degradations/56a84290-5371-4d6e-b106-b1d5cc52ed79 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/df0612f3-4ee3-4627-b8a6-a34b3043e31d + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.frozen new file mode 100644 index 0000000000..6162587fbd --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:19.425Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.yaml new file mode 100644 index 0000000000..f71985ea99 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.yaml @@ -0,0 +1,36 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"domain_prefix":"status-page-a2eaf7555bc991fb","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"c55c1c53-c6ad-4a15-9093-4445213c3b79","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"e73ac741-c54d-43b8-90bc-a7258a0ec9fb","name":"Login","type":"component","status":"operational","position":0},{"id":"a3b31d36-202f-444a-9ea4-3fb20794c2f8","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-14T18:34:19.55001Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-a2eaf7555bc991fb","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:19.55001Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/c55c1c53-c6ad-4a15-9093-4445213c3b79/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/c55c1c53-c6ad-4a15-9093-4445213c3b79 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.frozen index 3f3e3c99f2..ec35b85885 100644 --- a/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.frozen @@ -1 +1 @@ -2025-11-07T12:27:26.759Z \ No newline at end of file +2026-01-14T17:29:03.168Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.yaml index a3ce9d669a..28d2d9c6f5 100644 --- a/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_delete_a_suppression_rule_returns_ok_response.yaml @@ -1,6 +1,7 @@ interactions: - request: - body: '{"data":{"attributes":{"description":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","enabled":true,"name":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + body: '{"data":{"attributes":{"description":"Test-Delete_a_suppression_rule_returns_OK_response-1768411743","enabled":true,"name":"suppression + Test-Delete_a_suppression_rule_returns_OK_response-1768411743","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: accept: - application/json @@ -10,8 +11,9 @@ interactions: uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions response: body: - string: '{"data":{"id":"uea-lab-big","type":"suppressions","attributes":{"creation_date":1762518447002,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","editable":true,"enabled":true,"name":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518447002,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"itm-ljs-0qw","type":"suppressions","attributes":{"creation_date":1768411744411,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Delete_a_suppression_rule_returns_OK_response-1768411743","editable":true,"enabled":true,"name":"suppression + Test-Delete_a_suppression_rule_returns_OK_response-1768411743","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411744411,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: content-type: @@ -25,7 +27,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uea-lab-big + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/itm-ljs-0qw response: body: string: '' @@ -39,10 +41,10 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uea-lab-big + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/itm-ljs-0qw response: body: - string: '{"errors":["not_found(Suppression with ID uea-lab-big not found)"]}' + string: '{"errors":["not_found(Suppression with ID itm-ljs-0qw not found)"]}' headers: content-type: - application/json diff --git a/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.frozen new file mode 100644 index 0000000000..6778c0ddc7 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:20.644Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.yaml new file mode 100644 index 0000000000..e552081c71 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.yaml @@ -0,0 +1,50 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-0d2d7c9c3a7223ad","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"a2a7be87-a517-45c5-9fde-71d0a2bdeb79","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"21dd43f5-3fe0-40be-a8e8-2d6b9d7e3c5a","name":"Application","type":"group","position":0,"components":[{"id":"159fd76a-661a-4b01-a4f3-b993ddde6efb","name":"Login","type":"component","status":"operational","position":0},{"id":"4c7b8f87-564a-4372-837e-e8aea00b2a47","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:20.819798Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-0d2d7c9c3a7223ad","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:20.819798Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a2a7be87-a517-45c5-9fde-71d0a2bdeb79/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/a2a7be87-a517-45c5-9fde-71d0a2bdeb79/components/21dd43f5-3fe0-40be-a8e8-2d6b9d7e3c5a + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/a2a7be87-a517-45c5-9fde-71d0a2bdeb79 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.frozen new file mode 100644 index 0000000000..139657491c --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:21.866Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.yaml new file mode 100644 index 0000000000..d78f37a158 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.yaml @@ -0,0 +1,89 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-b5fbb76b83d2a5d0","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"94baf28b-48d1-4105-8895-1174cb9c8b98","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"d29f3ffb-f72b-4b0d-99f0-e857d0f21c1a","name":"Application","type":"group","position":0,"components":[{"id":"3a491a7c-1816-4129-b12a-c84390a70c3f","name":"Login","type":"component","status":"operational","position":0},{"id":"66727ad7-0687-4da2-91fe-b3e5ad418863","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:21.969023Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-b5fbb76b83d2a5d0","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:21.969023Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/94baf28b-48d1-4105-8895-1174cb9c8b98/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"3a491a7c-1816-4129-b12a-c84390a70c3f","status":"major_outage"}],"description":"Our + API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated + API Latency"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/94baf28b-48d1-4105-8895-1174cb9c8b98/degradations + response: + body: + string: '{"data":{"id":"6a6cc623-ef7b-4099-8a68-ee9cd6e625fa","type":"degradations","attributes":{"components_affected":[{"id":"3a491a7c-1816-4129-b12a-c84390a70c3f","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:22.48327Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:22.48327Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"1639ecee-77fc-4424-b719-7bc9a8d9ac10","created_at":"2026-01-14T18:34:22.48327Z","modified_at":"2026-01-14T18:34:22.48327Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"3a491a7c-1816-4129-b12a-c84390a70c3f","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"94baf28b-48d1-4105-8895-1174cb9c8b98","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/94baf28b-48d1-4105-8895-1174cb9c8b98/degradations/6a6cc623-ef7b-4099-8a68-ee9cd6e625fa + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/94baf28b-48d1-4105-8895-1174cb9c8b98/degradations/6a6cc623-ef7b-4099-8a68-ee9cd6e625fa + response: + body: + string: '{"errors":[{"title":"Generic Error","detail":"degradation not found"}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/94baf28b-48d1-4105-8895-1174cb9c8b98 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.frozen new file mode 100644 index 0000000000..b96710261e --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:23.304Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.yaml new file mode 100644 index 0000000000..d3aacd171e --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-608a5828d74082cd","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"fe6f8e30-59be-43e6-9836-b2a0bd4af24f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ba00bba3-9057-454e-8497-5a5acd5c7793","name":"Application","type":"group","position":0,"components":[{"id":"68a65da3-072c-46a3-927f-e7cd0ce4d48f","name":"Login","type":"component","status":"operational","position":0},{"id":"3034604b-1324-4908-8f30-f91a1528a38e","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:23.396957Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-608a5828d74082cd","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:23.396957Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/fe6f8e30-59be-43e6-9836-b2a0bd4af24f/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/fe6f8e30-59be-43e6-9836-b2a0bd4af24f + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/fe6f8e30-59be-43e6-9836-b2a0bd4af24f + response: + body: + string: '{"errors":[{"title":"Generic Error","detail":"status page not found"}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.frozen index a93a4d20e7..16f1a15edd 100644 --- a/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.frozen @@ -1 +1 @@ -2025-11-07T12:27:27.654Z \ No newline at end of file +2026-01-14T17:29:04.856Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.yaml index 407dc4e26c..38dd28e4b5 100644 --- a/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_get_a_suppression_rule_returns_ok_response.yaml @@ -1,6 +1,7 @@ interactions: - request: - body: '{"data":{"attributes":{"description":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","enabled":true,"name":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + body: '{"data":{"attributes":{"description":"Test-Get_a_suppression_rule_returns_OK_response-1768411744","enabled":true,"name":"suppression + Test-Get_a_suppression_rule_returns_OK_response-1768411744","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: accept: - application/json @@ -10,8 +11,9 @@ interactions: uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions response: body: - string: '{"data":{"id":"ylq-igi-icg","type":"suppressions","attributes":{"creation_date":1762518447901,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","editable":true,"enabled":true,"name":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518447901,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"xno-kwg-8df","type":"suppressions","attributes":{"creation_date":1768411744987,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1768411744","editable":true,"enabled":true,"name":"suppression + Test-Get_a_suppression_rule_returns_OK_response-1768411744","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411744987,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: content-type: @@ -25,11 +27,12 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ylq-igi-icg + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/xno-kwg-8df response: body: - string: '{"data":{"id":"ylq-igi-icg","type":"suppressions","attributes":{"creation_date":1762518447901,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","editable":true,"enabled":true,"name":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518447901,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"xno-kwg-8df","type":"suppressions","attributes":{"creation_date":1768411744987,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1768411744","editable":true,"enabled":true,"name":"suppression + Test-Get_a_suppression_rule_returns_OK_response-1768411744","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411744987,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: content-type: @@ -43,7 +46,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ylq-igi-icg + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/xno-kwg-8df response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.frozen index d0d5ccec31..6691326413 100644 --- a/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.frozen @@ -1 +1 @@ -2025-11-26T13:33:06.482Z \ No newline at end of file +2026-01-14T17:29:05.317Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.yaml index 44a5caea94..ec1c652445 100644 --- a/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_get_a_suppressions_version_history_returns_ok_response.yaml @@ -1,6 +1,7 @@ interactions: - request: - body: '{"data":{"attributes":{"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","enabled":true,"name":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + body: '{"data":{"attributes":{"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","enabled":true,"name":"suppression + Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: accept: - application/json @@ -10,7 +11,10 @@ interactions: uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions response: body: - string: '{"data":{"id":"456-piv-74h","type":"suppressions","attributes":{"creation_date":1764163986851,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","editable":true,"enabled":true,"name":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1764163986851,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + string: '{"data":{"id":"sro-unv-k08","type":"suppressions","attributes":{"creation_date":1768411745430,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","editable":true,"enabled":true,"name":"suppression + Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411745430,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"version":1}}}' headers: content-type: - application/vnd.api+json @@ -23,10 +27,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/456-piv-74h/version_history + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/sro-unv-k08/version_history response: body: - string: '{"data":{"id":"456-piv-74h","type":"suppression_version_history","attributes":{"count":1,"data":{"1":{"suppression":{"id":"456-piv-74h","name":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","enabled":true,"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","rule_query":"source:cloudtrail","suppression_query":"env:test","data_exclusion_query":"","version":1,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"updater":{"handle":"frog@datadoghq.com","name":"frog"},"creation_date":1764163986851,"update_date":1764163986851,"editable":true,"tags":["source:cloudtrail","technique:T1110-brute-force"]},"changes":[]}}}}}' + string: '{"data":{"id":"sro-unv-k08","type":"suppression_version_history","attributes":{"count":1,"data":{"1":{"suppression":{"id":"sro-unv-k08","name":"suppression + Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","enabled":true,"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","data_exclusion_query":"","version":1,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"creation_date":1768411745430,"update_date":1768411745430,"editable":true,"tags":["source:cloudtrail","technique:T1110-brute-force"]},"changes":[]}}}}}' headers: content-type: - application/vnd.api+json @@ -39,7 +46,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/456-piv-74h + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/sro-unv-k08 response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.frozen b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.frozen new file mode 100644 index 0000000000..23cdf460db --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.frozen @@ -0,0 +1 @@ +2026-01-14T17:12:28.523Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.yaml b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.yaml new file mode 100644 index 0000000000..4d4d98c984 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_pagination.yaml @@ -0,0 +1,87 @@ +interactions: +- request: + body: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + string: '{"data":{"id":"fgz-hyr-ibu","type":"suppressions","attributes":{"creation_date":1768410748883,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410748883,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + string: '{"data":{"id":"lgh-7no-380","type":"suppressions","attributes":{"creation_date":1768410749324,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410749324,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions?page%5Bsize%5D=1&page%5Bnumber%5D=0&query=id%3Afgz-hyr-ibu%20OR%20id%3Algh-7no-380 + response: + body: + string: '{"data":[{"id":"fgz-hyr-ibu","type":"suppressions","attributes":{"creation_date":1768410748883,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410748883,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}],"meta":{"page":{"totalCount":2,"pageSize":1,"pageNumber":0}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/lgh-7no-380 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/fgz-hyr-ibu + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.frozen b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.frozen new file mode 100644 index 0000000000..89bfc8cd8e --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.frozen @@ -0,0 +1 @@ +2026-01-14T17:12:30.925Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.yaml b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.yaml new file mode 100644 index 0000000000..285c415343 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_ascending.yaml @@ -0,0 +1,88 @@ +interactions: +- request: + body: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + string: '{"data":{"id":"5cq-vnw-eza","type":"suppressions","attributes":{"creation_date":1768410751276,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751276,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + string: '{"data":{"id":"fuu-xxd-kjd","type":"suppressions","attributes":{"creation_date":1768410751710,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751710,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions?sort=name&query=id%3A5cq-vnw-eza%20OR%20id%3Afuu-xxd-kjd + response: + body: + string: '{"data":[{"id":"5cq-vnw-eza","type":"suppressions","attributes":{"creation_date":1768410751276,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751276,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}},{"id":"fuu-xxd-kjd","type":"suppressions","attributes":{"creation_date":1768410751710,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751710,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}],"meta":{"page":{"totalCount":2,"pageSize":2,"pageNumber":0}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/fuu-xxd-kjd + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/5cq-vnw-eza + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.frozen b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.frozen new file mode 100644 index 0000000000..d184a46ea0 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.frozen @@ -0,0 +1 @@ +2026-01-14T17:12:33.088Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.yaml b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.yaml new file mode 100644 index 0000000000..0b935052c1 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_all_suppression_rules_returns_ok_response_with_sort_descending.yaml @@ -0,0 +1,88 @@ +interactions: +- request: + body: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + string: '{"data":{"id":"osw-qyf-tqn","type":"suppressions","attributes":{"creation_date":1768410753455,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753455,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + string: '{"data":{"id":"pe9-gdi-ee2","type":"suppressions","attributes":{"creation_date":1768410753872,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753872,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions?sort=-name&query=id%3Aosw-qyf-tqn%20OR%20id%3Ape9-gdi-ee2 + response: + body: + string: '{"data":[{"id":"pe9-gdi-ee2","type":"suppressions","attributes":{"creation_date":1768410753872,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753872,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}},{"id":"osw-qyf-tqn","type":"suppressions","attributes":{"creation_date":1768410753455,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753455,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}],"meta":{"page":{"totalCount":2,"pageSize":2,"pageNumber":0}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/pe9-gdi-ee2 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/osw-qyf-tqn + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.frozen new file mode 100644 index 0000000000..6866a930a2 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:24.440Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.yaml new file mode 100644 index 0000000000..4746a07739 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-563dcf7a5f0d37a0","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"db83fc2f-bc0f-4ef4-84d8-bf62b84a4ab5","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"7b449f70-f51b-4133-9339-864ecd98685d","name":"Application","type":"group","position":0,"components":[{"id":"c9ad5347-14a8-422c-b597-972a066968ec","name":"Login","type":"component","status":"operational","position":0},{"id":"d03ae495-668c-4e79-9dae-ff5ecfe6e260","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:24.533596Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-563dcf7a5f0d37a0","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:24.533596Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/db83fc2f-bc0f-4ef4-84d8-bf62b84a4ab5/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/db83fc2f-bc0f-4ef4-84d8-bf62b84a4ab5/components/7b449f70-f51b-4133-9339-864ecd98685d + response: + body: + string: '{"data":{"id":"7b449f70-f51b-4133-9339-864ecd98685d","type":"components","attributes":{"components":[{"id":"c9ad5347-14a8-422c-b597-972a066968ec","name":"Login","type":"component","status":"operational","position":0},{"id":"d03ae495-668c-4e79-9dae-ff5ecfe6e260","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-14T18:34:24.533596Z","modified_at":"2026-01-14T18:34:24.533596Z","name":"Application","position":0,"type":"group"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"db83fc2f-bc0f-4ef4-84d8-bf62b84a4ab5","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/db83fc2f-bc0f-4ef4-84d8-bf62b84a4ab5 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.frozen new file mode 100644 index 0000000000..686f91dc76 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:25.959Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.yaml new file mode 100644 index 0000000000..bf5ce10d42 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.yaml @@ -0,0 +1,92 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-5fee2f719be82f29","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"ebf59ea3-337a-4bf7-8229-22714b514a2f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a2743d27-3cc3-4a60-ba6e-291f3fe06deb","name":"Application","type":"group","position":0,"components":[{"id":"eae8808a-3353-43da-9d84-a0c79c7c5517","name":"Login","type":"component","status":"operational","position":0},{"id":"a2476857-5843-4bfd-a77d-0b5b65fec5df","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:26.056352Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-5fee2f719be82f29","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:26.056352Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/ebf59ea3-337a-4bf7-8229-22714b514a2f/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"eae8808a-3353-43da-9d84-a0c79c7c5517","status":"major_outage"}],"description":"Our + API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated + API Latency"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/ebf59ea3-337a-4bf7-8229-22714b514a2f/degradations + response: + body: + string: '{"data":{"id":"034207a4-1a7e-4cd5-abd5-fbd9fa30a097","type":"degradations","attributes":{"components_affected":[{"id":"eae8808a-3353-43da-9d84-a0c79c7c5517","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:26.977362Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:26.977362Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"2e12dc61-747b-4997-95f7-a28549d0d6d2","created_at":"2026-01-14T18:34:26.977362Z","modified_at":"2026-01-14T18:34:26.977362Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"eae8808a-3353-43da-9d84-a0c79c7c5517","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"ebf59ea3-337a-4bf7-8229-22714b514a2f","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/ebf59ea3-337a-4bf7-8229-22714b514a2f/degradations/034207a4-1a7e-4cd5-abd5-fbd9fa30a097 + response: + body: + string: '{"data":{"id":"034207a4-1a7e-4cd5-abd5-fbd9fa30a097","type":"degradations","attributes":{"components_affected":[{"id":"eae8808a-3353-43da-9d84-a0c79c7c5517","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:26.977362Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:26.977362Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"2e12dc61-747b-4997-95f7-a28549d0d6d2","created_at":"2026-01-14T18:34:26.977362Z","modified_at":"2026-01-14T18:34:26.977362Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"eae8808a-3353-43da-9d84-a0c79c7c5517","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"ebf59ea3-337a-4bf7-8229-22714b514a2f","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/ebf59ea3-337a-4bf7-8229-22714b514a2f/degradations/034207a4-1a7e-4cd5-abd5-fbd9fa30a097 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/ebf59ea3-337a-4bf7-8229-22714b514a2f + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.frozen new file mode 100644 index 0000000000..2488910ba1 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:27.756Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.yaml new file mode 100644 index 0000000000..4e2a733e07 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.yaml @@ -0,0 +1,53 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-640ff16a0cef647e","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"3d09da75-7a53-486c-be0e-29a1d38626f0","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"5405090a-cfae-4747-a4a1-420c249348b7","name":"Application","type":"group","position":0,"components":[{"id":"c0f34aff-6c67-4c2d-8a84-ec0f05ffd310","name":"Login","type":"component","status":"operational","position":0},{"id":"be2b41a2-dff3-47a1-a4e8-4a42820882f3","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:27.933167Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-640ff16a0cef647e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:27.933167Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/3d09da75-7a53-486c-be0e-29a1d38626f0/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/3d09da75-7a53-486c-be0e-29a1d38626f0 + response: + body: + string: '{"data":{"id":"3d09da75-7a53-486c-be0e-29a1d38626f0","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"5405090a-cfae-4747-a4a1-420c249348b7","name":"Application","type":"group","position":0,"components":[{"id":"c0f34aff-6c67-4c2d-8a84-ec0f05ffd310","name":"Login","type":"component","status":"operational","position":0},{"id":"be2b41a2-dff3-47a1-a4e8-4a42820882f3","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:27.933167Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-640ff16a0cef647e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:27.933167Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/3d09da75-7a53-486c-be0e-29a1d38626f0/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/3d09da75-7a53-486c-be0e-29a1d38626f0 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.frozen new file mode 100644 index 0000000000..1a78119b28 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:29.043Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.yaml new file mode 100644 index 0000000000..c06b91d08f --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-634e6c2db3b869de","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"5ca46325-bac2-4a5e-aa26-5e7d5e1c029e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"d8b8c3c9-595a-4499-a21e-1f04e853d1a7","name":"Application","type":"group","position":0,"components":[{"id":"933d9347-1271-45f0-bd1d-ce3701e35bef","name":"Login","type":"component","status":"operational","position":0},{"id":"5da24db1-597c-4c01-8f61-5ff87ec805b2","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:29.150095Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-634e6c2db3b869de","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:29.150095Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/5ca46325-bac2-4a5e-aa26-5e7d5e1c029e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/5ca46325-bac2-4a5e-aa26-5e7d5e1c029e/components + response: + body: + string: '{"data":[{"id":"d8b8c3c9-595a-4499-a21e-1f04e853d1a7","type":"components","attributes":{"components":[{"id":"933d9347-1271-45f0-bd1d-ce3701e35bef","name":"Login","type":"component","status":"operational","position":0},{"id":"5da24db1-597c-4c01-8f61-5ff87ec805b2","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-14T18:34:29.150095Z","modified_at":"2026-01-14T18:34:29.150095Z","name":"Application","position":0,"type":"group"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"5ca46325-bac2-4a5e-aa26-5e7d5e1c029e","type":"status_pages"}}}}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/5ca46325-bac2-4a5e-aa26-5e7d5e1c029e + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.frozen new file mode 100644 index 0000000000..46d453f1cf --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:30.142Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.yaml new file mode 100644 index 0000000000..813e2f2544 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.yaml @@ -0,0 +1,92 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-af0603c6bb50c13f","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"19846f06-cd73-44f5-aed1-73dbaa31d58d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"b2c0e2dd-69e3-4e5a-b8d3-45a26d9428f7","name":"Application","type":"group","position":0,"components":[{"id":"0e309a2e-7cac-47d2-90c9-0301ed7e55e7","name":"Login","type":"component","status":"operational","position":0},{"id":"b0d0261c-d58d-438b-98aa-1828a0aaac36","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:30.242647Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-af0603c6bb50c13f","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:30.242647Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/19846f06-cd73-44f5-aed1-73dbaa31d58d/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"0e309a2e-7cac-47d2-90c9-0301ed7e55e7","status":"major_outage"}],"description":"Our + API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated + API Latency"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/19846f06-cd73-44f5-aed1-73dbaa31d58d/degradations + response: + body: + string: '{"data":{"id":"3679c370-8e6c-4779-89ca-2952c68800ac","type":"degradations","attributes":{"components_affected":[{"id":"0e309a2e-7cac-47d2-90c9-0301ed7e55e7","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:30.903058Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:30.903058Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"214cdbcb-f1e3-48fb-a8bc-7211fdb02922","created_at":"2026-01-14T18:34:30.903058Z","modified_at":"2026-01-14T18:34:30.903058Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"0e309a2e-7cac-47d2-90c9-0301ed7e55e7","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"19846f06-cd73-44f5-aed1-73dbaa31d58d","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/degradations + response: + body: + string: '{"data":[{"id":"3679c370-8e6c-4779-89ca-2952c68800ac","type":"degradations","attributes":{"components_affected":[{"id":"0e309a2e-7cac-47d2-90c9-0301ed7e55e7","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:30.903058Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:30.903058Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"214cdbcb-f1e3-48fb-a8bc-7211fdb02922","created_at":"2026-01-14T18:34:30.903058Z","modified_at":"2026-01-14T18:34:30.903058Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"0e309a2e-7cac-47d2-90c9-0301ed7e55e7","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"19846f06-cd73-44f5-aed1-73dbaa31d58d","type":"status_pages"}}}}],"meta":{"page":{"type":"offset_limit","offset":0,"limit":50,"total":1,"first_offset":0,"prev_offset":null,"next_offset":null,"last_offset":0}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/19846f06-cd73-44f5-aed1-73dbaa31d58d/degradations/3679c370-8e6c-4779-89ca-2952c68800ac + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/19846f06-cd73-44f5-aed1-73dbaa31d58d + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.frozen new file mode 100644 index 0000000000..d3bb3e54b2 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:31.731Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.yaml new file mode 100644 index 0000000000..934c61dd19 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.yaml @@ -0,0 +1,53 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-473ecd94e34d0b23","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"259141bd-d78b-4c24-9529-b8f9c4f881ed","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"1913d8c1-711f-41b9-9dcc-96820c18f1c4","name":"Application","type":"group","position":0,"components":[{"id":"b564dd30-d03c-41b7-9012-fed1bcf04e6c","name":"Login","type":"component","status":"operational","position":0},{"id":"f1db5443-7982-436a-85b1-f83f055aa298","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:31.824982Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-473ecd94e34d0b23","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:31.824982Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/259141bd-d78b-4c24-9529-b8f9c4f881ed/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":[{"id":"259141bd-d78b-4c24-9529-b8f9c4f881ed","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"1913d8c1-711f-41b9-9dcc-96820c18f1c4","name":"Application","type":"group","position":0,"components":[{"id":"b564dd30-d03c-41b7-9012-fed1bcf04e6c","name":"Login","type":"component","status":"operational","position":0},{"id":"f1db5443-7982-436a-85b1-f83f055aa298","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:31.824982Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-473ecd94e34d0b23","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:31.824982Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/259141bd-d78b-4c24-9529-b8f9c4f881ed/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}],"meta":{"page":{"type":"offset_limit","offset":0,"limit":50,"total":null,"first_offset":0,"prev_offset":null,"next_offset":50,"last_offset":null}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/259141bd-d78b-4c24-9529-b8f9c4f881ed + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.frozen deleted file mode 100644 index 768dee23bb..0000000000 --- a/tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.frozen +++ /dev/null @@ -1 +0,0 @@ -2026-01-07T12:38:44.484Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.yaml deleted file mode 100644 index 6c07ded83c..0000000000 --- a/tests/v2/cassettes/test_scenarios/test_search_synthetics_suites_returns_ok_response.yaml +++ /dev/null @@ -1,79 +0,0 @@ -interactions: -- request: - body: null - headers: - accept: - - application/json - method: GET - uri: https://api.datadoghq.com/api/v2/synthetics/suites/search - response: - body: - string: '{"data":{"type":"suites_search","attributes":{"suites":[{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T14:36:38.194974+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765550180,"monitor_id":243683630,"tests":[],"notifications":[],"public_id":"q9j-u8p-3v5","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T15:13:58.194856+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765552435,"monitor_id":243691225,"tests":[],"notifications":[],"public_id":"qqj-ma8-msw","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T13:58:21.265235+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765547882,"monitor_id":243678032,"tests":[],"notifications":[],"public_id":"qwt-zcd-3e7","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-16T21:23:27.482218+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765920189,"monitor_id":244824489,"tests":[],"notifications":[],"public_id":"yya-xnv-r72","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2026-01-06T14:31:13.144659+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1767709878,"monitor_id":248911428,"tests":[],"notifications":[],"public_id":"37x-cfh-hik","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T14:52:23.813142+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765551141,"monitor_id":243686361,"tests":[],"notifications":[],"public_id":"y9a-9jy-ng2","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T14:02:40.227969+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765807338,"monitor_id":244243608,"tests":[],"notifications":[],"public_id":"45f-82u-p2d","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T14:22:09.594574+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765808505,"monitor_id":244250055,"tests":[],"notifications":[],"public_id":"xd9-dws-cm2","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T15:36:44.135107+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765813000,"monitor_id":244276690,"tests":[],"notifications":[],"public_id":"77s-9gi-8pa","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-16T09:42:02.245892+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765878101,"monitor_id":244658021,"tests":[],"notifications":[],"public_id":"xft-zns-y58","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-16T09:52:14.327958+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765878721,"monitor_id":244659781,"tests":[],"notifications":[],"public_id":"9ne-jp8-bbs","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-19T09:34:53.578670+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1766136882,"monitor_id":245439882,"tests":[],"notifications":[],"public_id":"rcp-hsx-ksp","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-09T10:37:16.189540+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765276630,"monitor_id":242864230,"tests":[],"notifications":[],"public_id":"ihb-7cb-mbq","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T14:58:39.394977+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765551515,"monitor_id":243687635,"tests":[],"notifications":[],"public_id":"m4t-g9e-cht","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T13:27:01.650049+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765805206,"monitor_id":244230166,"tests":[],"notifications":[],"public_id":"3rn-xv7-3gw","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T13:55:29.070758+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765806925,"monitor_id":244240495,"tests":[],"notifications":[],"public_id":"u5z-r6t-6gj","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T15:48:08.393886+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765813664,"monitor_id":244283444,"tests":[],"notifications":[],"public_id":"fug-wqb-jgm","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-17T08:57:02.235129+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765961806,"monitor_id":244953226,"tests":[],"notifications":[],"public_id":"tmj-mmm-6rw","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2026-01-06T13:52:15.675454+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1767707530,"monitor_id":248904310,"tests":[],"notifications":[],"public_id":"pkr-4b7-tug","tags":["env:production"]}],"facets":[{"name":"mobile_platform","values":[]},{"name":"test_count","values":[{"name":"0","count":19}]},{"name":"step_count","values":[]},{"name":"http_path","values":[]},{"name":"team","values":[]},{"name":"type","values":[{"name":"suite","count":19}]},{"name":"env","values":[{"name":"production","count":19}]},{"name":"creator","values":[{"name":"CI - Account","count":19}]},{"name":"mobile_application","values":[]},{"name":"notification","values":[]},{"name":"endpoint","values":[]},{"name":"http_method","values":[]},{"name":"creation_source","values":[]},{"name":"domain","values":[]},{"name":"ci_execution_rule","values":[{"name":"blocking","count":19}]},{"name":"tag","values":[{"name":"env:production","count":19}]},{"name":"state","values":[{"name":"paused","count":19}]},{"name":"region","values":[]},{"name":"muted","values":[{"name":"0","count":19}]},{"name":"status","values":[{"name":"No - Data","count":19}]}],"total":19},"id":"74278a23-c9ce-4093-816d-7109fb05adb5"}} - - ' - headers: - content-type: - - application/json - status: - code: 200 - message: OK -version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.frozen deleted file mode 100644 index 62723cd8d2..0000000000 --- a/tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.frozen +++ /dev/null @@ -1 +0,0 @@ -2026-01-07T12:38:45.716Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.yaml deleted file mode 100644 index d29e21551c..0000000000 --- a/tests/v2/cassettes/test_scenarios/test_synthetics_create_a_test_suite_returns_ok_response.yaml +++ /dev/null @@ -1,47 +0,0 @@ -interactions: -- request: - body: '{"data":{"attributes":{"message":"Notification message","name":"Example - suite name","options":{},"tags":["env:production"],"tests":[],"type":"suite"},"type":"suites"}}' - headers: - accept: - - application/json - content-type: - - application/json - method: POST - uri: https://api.datadoghq.com/api/v2/synthetics/suites - response: - body: - string: '{"data":{"type":"suites","id":"36n-bb6-njj","attributes":{"tags":["env:production"],"type":"suite","created_by":{"email":"team-intg-tools-libs-spam@datadoghq.com","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"created_at":"2026-01-07T12:38:46.109472+00:00","modified_at":"2026-01-07T12:38:46.109472+00:00","message":"Notification - message","public_id":"36n-bb6-njj","options":{},"modified_by":{"email":"team-intg-tools-libs-spam@datadoghq.com","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"tests":[],"name":"Example suite name","org_id":321813,"monitor_id":249141773}}} - - ' - headers: - content-type: - - application/json - status: - code: 200 - message: OK -- request: - body: '{"data":{"attributes":{"public_ids":["36n-bb6-njj"]},"type":"delete_suites_request"}}' - headers: - accept: - - application/json - content-type: - - application/json - method: POST - uri: https://api.datadoghq.com/api/v2/synthetics/suites/bulk-delete - response: - body: - string: '{"data":[{"type":"suites","attributes":{"public_id":"36n-bb6-njj","deleted_at":"2026-01-07 - 12:38:46.679914"},"id":"36n-bb6-njj"}]} - - ' - headers: - content-type: - - application/json - status: - code: 200 - message: OK -version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.frozen index 8839a50677..e05f55dd71 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.frozen @@ -1 +1 @@ -2025-11-07T12:27:28.613Z \ No newline at end of file +2026-01-14T17:29:05.825Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.yaml index aaa585f339..c25bee2e9c 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_a_suppression_rule_returns_ok_response.yaml @@ -1,6 +1,7 @@ interactions: - request: - body: '{"data":{"attributes":{"description":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","enabled":true,"name":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + body: '{"data":{"attributes":{"description":"Test-Update_a_suppression_rule_returns_OK_response-1768411745","enabled":true,"name":"suppression + Test-Update_a_suppression_rule_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: accept: - application/json @@ -10,8 +11,9 @@ interactions: uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions response: body: - string: '{"data":{"id":"uqt-hh6-qbq","type":"suppressions","attributes":{"creation_date":1762518448839,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","editable":true,"enabled":true,"name":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518448839,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"ucv-bpf-4bc","type":"suppressions","attributes":{"creation_date":1768411745950,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1768411745","editable":true,"enabled":true,"name":"suppression + Test-Update_a_suppression_rule_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411745950,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: content-type: @@ -27,12 +29,13 @@ interactions: content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uqt-hh6-qbq + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ucv-bpf-4bc response: body: - string: '{"data":{"id":"uqt-hh6-qbq","type":"suppressions","attributes":{"creation_date":1762518448839,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","editable":true,"enabled":true,"name":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","rule_query":"source:cloudtrail","suppression_query":"env:staging - status:low","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518449150,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"ucv-bpf-4bc","type":"suppressions","attributes":{"creation_date":1768411745950,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1768411745","editable":true,"enabled":true,"name":"suppression + Test-Update_a_suppression_rule_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:staging + status:low","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411746111,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":2}}}' headers: content-type: @@ -46,7 +49,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uqt-hh6-qbq + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ucv-bpf-4bc response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.frozen new file mode 100644 index 0000000000..7d008cc05b --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:32.900Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.yaml new file mode 100644 index 0000000000..6a1c96ff28 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.yaml @@ -0,0 +1,55 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-50dba6ea54427f33","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"d26e4f72-b0a3-4f13-bd0d-59f338781de3","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"40034290-5bed-4588-bf4e-121b23d20c6e","name":"Application","type":"group","position":0,"components":[{"id":"2a49e23f-d513-4b9c-871b-86f03887349a","name":"Login","type":"component","status":"operational","position":0},{"id":"6cddd877-ea55-41ac-b3d9-dc0c737771cb","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:32.985561Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-50dba6ea54427f33","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:32.985561Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/d26e4f72-b0a3-4f13-bd0d-59f338781de3/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"name":"Logs Indexing"},"id":"40034290-5bed-4588-bf4e-121b23d20c6e","type":"components"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/d26e4f72-b0a3-4f13-bd0d-59f338781de3/components/40034290-5bed-4588-bf4e-121b23d20c6e + response: + body: + string: '{"data":{"id":"40034290-5bed-4588-bf4e-121b23d20c6e","type":"components","attributes":{"components":[{"id":"2a49e23f-d513-4b9c-871b-86f03887349a","name":"Login","type":"component","status":"operational","position":0},{"id":"6cddd877-ea55-41ac-b3d9-dc0c737771cb","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-14T18:34:32.985561Z","modified_at":"2026-01-14T18:34:33.510873Z","name":"Logs + Indexing","position":0,"type":"group"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"d26e4f72-b0a3-4f13-bd0d-59f338781de3","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/d26e4f72-b0a3-4f13-bd0d-59f338781de3 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.frozen new file mode 100644 index 0000000000..9a463992e0 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:34.017Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.yaml new file mode 100644 index 0000000000..f7b6571be8 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.yaml @@ -0,0 +1,94 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-b3f9b4292208c5ac","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"4d07df0b-455e-4fc6-99ee-5b5bc300ebc9","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"5c2c9b2c-653f-404c-8121-93c7817a40aa","name":"Application","type":"group","position":0,"components":[{"id":"148f4a30-5e7d-42ba-9152-dbffc76ce411","name":"Login","type":"component","status":"operational","position":0},{"id":"3a81534a-ae51-4ad3-b904-4fd964ff33b5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:34.127897Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-b3f9b4292208c5ac","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:34.127897Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/4d07df0b-455e-4fc6-99ee-5b5bc300ebc9/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"148f4a30-5e7d-42ba-9152-dbffc76ce411","status":"major_outage"}],"description":"Our + API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated + API Latency"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/4d07df0b-455e-4fc6-99ee-5b5bc300ebc9/degradations + response: + body: + string: '{"data":{"id":"560e8fe9-ddfe-4376-9bb3-da8c0e1e1ec3","type":"degradations","attributes":{"components_affected":[{"id":"148f4a30-5e7d-42ba-9152-dbffc76ce411","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:34.59942Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:34.59942Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"83b7db45-8432-4c8e-b543-49deacdb7f2e","created_at":"2026-01-14T18:34:34.59942Z","modified_at":"2026-01-14T18:34:34.59942Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"148f4a30-5e7d-42ba-9152-dbffc76ce411","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"4d07df0b-455e-4fc6-99ee-5b5bc300ebc9","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"title":"Elevated API Latency in US1"},"id":"560e8fe9-ddfe-4376-9bb3-da8c0e1e1ec3","type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/4d07df0b-455e-4fc6-99ee-5b5bc300ebc9/degradations/560e8fe9-ddfe-4376-9bb3-da8c0e1e1ec3 + response: + body: + string: '{"data":{"id":"560e8fe9-ddfe-4376-9bb3-da8c0e1e1ec3","type":"degradations","attributes":{"components_affected":[{"id":"148f4a30-5e7d-42ba-9152-dbffc76ce411","name":"Login","status":"major_outage"}],"created_at":"2026-01-14T18:34:34.59942Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-14T18:34:34.781458Z","status":"investigating","title":"Elevated + API Latency in US1","updates":[{"id":"83b7db45-8432-4c8e-b543-49deacdb7f2e","created_at":"2026-01-14T18:34:34.59942Z","modified_at":"2026-01-14T18:34:34.59942Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"148f4a30-5e7d-42ba-9152-dbffc76ce411","name":"Login","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"4d07df0b-455e-4fc6-99ee-5b5bc300ebc9","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/4d07df0b-455e-4fc6-99ee-5b5bc300ebc9/degradations/560e8fe9-ddfe-4376-9bb3-da8c0e1e1ec3 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/4d07df0b-455e-4fc6-99ee-5b5bc300ebc9 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.frozen new file mode 100644 index 0000000000..8256c1a620 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-14T18:34:35.491Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.yaml new file mode 100644 index 0000000000..a04051bbaa --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.yaml @@ -0,0 +1,55 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"status-page-0de3b6407596e7bc","enabled":true,"name":"A + Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"a82d0d18-667c-453a-8365-36a24caff175","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ea5ac828-654d-4bf9-a919-65a1dd24720a","name":"Application","type":"group","position":0,"components":[{"id":"f83cbfff-d702-4602-9706-97a3b2041434","name":"Login","type":"component","status":"operational","position":0},{"id":"2f8de9a3-10c7-44b1-b882-66dc063b4afa","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:35.581608Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-0de3b6407596e7bc","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:35.581608Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a82d0d18-667c-453a-8365-36a24caff175/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"name":"A Status Page in US1"},"id":"a82d0d18-667c-453a-8365-36a24caff175","type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/a82d0d18-667c-453a-8365-36a24caff175 + response: + body: + string: '{"data":{"id":"a82d0d18-667c-453a-8365-36a24caff175","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ea5ac828-654d-4bf9-a919-65a1dd24720a","name":"Application","type":"group","position":0,"components":[{"id":"f83cbfff-d702-4602-9706-97a3b2041434","name":"Login","type":"component","status":"operational","position":0},{"id":"2f8de9a3-10c7-44b1-b882-66dc063b4afa","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-14T18:34:35.581608Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"status-page-0de3b6407596e7bc","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-14T18:34:36.073572Z","name":"A + Status Page in US1","page_url":"https://frog.datadoghq.com/status-pages/a82d0d18-667c-453a-8365-36a24caff175/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/a82d0d18-667c-453a-8365-36a24caff175 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/features/given.json b/tests/v2/features/given.json index c717223ca7..c7911aa317 100644 --- a/tests/v2/features/given.json +++ b/tests/v2/features/given.json @@ -1035,7 +1035,7 @@ "parameters": [ { "name": "body", - "value": "{\n \"data\": {\n \"type\": \"suppressions\",\n \"attributes\": {\n \"enabled\": true,\n \"name\": \"{{ unique }}\",\n \"description\": \"{{ unique }}\",\n \"rule_query\": \"source:cloudtrail\",\n \"suppression_query\": \"env:test\",\n \"tags\": [\"technique:T1110-brute-force\", \"source:cloudtrail\"]\n }\n }\n}" + "value": "{\n \"data\": {\n \"type\": \"suppressions\",\n \"attributes\": {\n \"enabled\": true,\n \"name\": \"suppression {{ unique }}\",\n \"description\": \"{{ unique }}\",\n \"rule_query\": \"source:cloudtrail\",\n \"suppression_query\": \"env:test\",\n \"tags\": [\"technique:T1110-brute-force\", \"source:cloudtrail\"]\n }\n }\n}" } ], "step": "there is a valid \"suppression\" in the system", @@ -1043,6 +1043,18 @@ "tag": "Security Monitoring", "operationId": "CreateSecurityMonitoringSuppression" }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"type\": \"suppressions\",\n \"attributes\": {\n \"enabled\": true,\n \"name\": \"suppression2 {{ unique }}\",\n \"description\": \"{{ unique }}\",\n \"rule_query\": \"source:cloudtrail\",\n \"suppression_query\": \"env:test\",\n \"tags\": [\"technique:T1110-brute-force\", \"source:cloudtrail\"]\n }\n }\n}" + } + ], + "step": "there is a valid \"suppression2\" in the system", + "key": "suppression2", + "tag": "Security Monitoring", + "operationId": "CreateSecurityMonitoringSuppression" + }, { "parameters": [ { @@ -1197,6 +1209,34 @@ "tag": "Service Level Objectives", "operationId": "CreateSLOReportJob" }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"name\": \"A Status Page\",\n \"domain_prefix\": \"status-page-{{ unique_hash }}\",\n \"components\": [{\"name\": \"Application\", \"type\": \"group\", \"components\":[{\"name\": \"Login\", \"type\": \"component\", \"position\": 0},{\"name\": \"Settings\", \"type\": \"component\", \"position\": 1}]}],\n \"type\": \"internal\",\n \"visualization_type\": \"bars_and_uptime_percentage\",\n \"enabled\": true\n },\n \"type\": \"status_pages\"\n }\n}" + } + ], + "step": "there is a valid \"status_page\" in the system", + "key": "status_page", + "tag": "Status Pages", + "operationId": "CreateStatusPage" + }, + { + "parameters": [ + { + "name": "page_id", + "value": "\"{{ status_page.data.id }}\"" + }, + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"title\": \"Elevated API Latency\",\n \"description\": \"Our API is experiencing elevated latency. We are investigating the issue.\",\n \"status\": \"investigating\",\n \"components_affected\": [\n {\n \"id\": \"{{ status_page.data.attributes.components[0].components[0].id }}\",\n \"status\": \"major_outage\"\n }\n ]\n },\n \"type\": \"degradations\"\n }\n}" + } + ], + "step": "there is a valid \"degradation\" in the system", + "key": "degradation", + "tag": "Status Pages", + "operationId": "CreateDegradation" + }, { "parameters": [ { diff --git a/tests/v2/features/security_monitoring.feature b/tests/v2/features/security_monitoring.feature index 2a6c599c30..60e9df68bb 100644 --- a/tests/v2/features/security_monitoring.feature +++ b/tests/v2/features/security_monitoring.feature @@ -1124,6 +1124,40 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK + @team:DataDog/k9-cloud-security-platform + Scenario: Get all suppression rules returns "OK" response with pagination + Given new "ListSecurityMonitoringSuppressions" request + And there is a valid "suppression" in the system + And there is a valid "suppression2" in the system + And request contains "page[size]" parameter with value 1 + And request contains "page[number]" parameter with value 0 + And request contains "query" parameter with value "id:{{ suppression.data.id }} OR id:{{ suppression2.data.id }}" + When the request is sent + Then the response status is 200 OK + And the response "data" has length 1 + + @team:DataDog/k9-cloud-security-platform + Scenario: Get all suppression rules returns "OK" response with sort ascending + Given new "ListSecurityMonitoringSuppressions" request + And there is a valid "suppression" in the system + And there is a valid "suppression2" in the system + And request contains "sort" parameter with value "name" + And request contains "query" parameter with value "id:{{ suppression.data.id }} OR id:{{ suppression2.data.id }}" + When the request is sent + Then the response status is 200 OK + And the response "data[0].attributes.name" is equal to "suppression {{ unique }}" + + @team:DataDog/k9-cloud-security-platform + Scenario: Get all suppression rules returns "OK" response with sort descending + Given new "ListSecurityMonitoringSuppressions" request + And there is a valid "suppression" in the system + And there is a valid "suppression2" in the system + And request contains "sort" parameter with value "-name" + And request contains "query" parameter with value "id:{{ suppression.data.id }} OR id:{{ suppression2.data.id }}" + When the request is sent + Then the response status is 200 OK + And the response "data[0].attributes.name" is equal to "suppression2 {{ unique }}" + @skip @team:DataDog/k9-cloud-security-platform Scenario: Get critical assets affecting a specific rule returns "Not Found" response Given new "GetCriticalAssetsAffectingRule" request diff --git a/tests/v2/features/status_pages.feature b/tests/v2/features/status_pages.feature new file mode 100644 index 0000000000..1646a25db9 --- /dev/null +++ b/tests/v2/features/status_pages.feature @@ -0,0 +1,148 @@ +@endpoint(status-pages) @endpoint(status-pages-v2) +Feature: Status Pages + Manage your status pages and communicate service disruptions to + stakeholders via Datadog's API. See the [Status Pages + documentation](https://docs.datadoghq.com/incident_response/status_pages/) + for more information. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "StatusPages" API + + @team:DataDog/incident-app + Scenario: Create component returns "Created" response + Given there is a valid "status_page" in the system + And new "CreateComponent" request + And request contains "page_id" parameter from "status_page.data.id" + And body with value {"data": {"attributes": {"name": "Logs", "position": 0, "type": "component"}, "type": "components"}} + When the request is sent + Then the response status is 201 Created + And the response "data.attributes.status" is equal to "operational" + + @team:DataDog/incident-app + Scenario: Create degradation returns "Created" response + Given there is a valid "status_page" in the system + And new "CreateDegradation" request + And request contains "page_id" parameter from "status_page.data.id" + And body with value {"data": {"attributes": {"components_affected": [{"id": "{{ status_page.data.attributes.components[0].components[0].id }}", "status": "major_outage"}], "description": "Our API is experiencing elevated latency. We are investigating the issue.", "status": "investigating", "title": "Elevated API Latency"}, "type": "degradations"}} + When the request is sent + Then the response status is 201 Created + And the response "data.attributes.updates" has length 1 + + @team:DataDog/incident-app + Scenario: Create status page returns "Created" response + Given new "CreateStatusPage" request + And body with value {"data": {"attributes": {"name": "A Status Page", "domain_prefix": "status-page-{{ unique_hash }}", "components":[{"name": "Login", "type": "component", "position": 0},{"name": "Settings", "type": "component", "position": 1}], "enabled": true, "type": "internal", "visualization_type": "bars_and_uptime_percentage"}, "type": "status_pages"}} + When the request is sent + Then the response status is 201 Created + + @team:DataDog/incident-app + Scenario: Delete component returns "No Content" response + Given new "DeleteComponent" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "component_id" parameter from "status_page.data.attributes.components[0].id" + When the request is sent + Then the response status is 204 No Content + + @team:DataDog/incident-app + Scenario: Delete degradation returns "No Content" response + Given new "DeleteDegradation" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "degradation_id" parameter from "degradation.data.id" + When the request is sent + Then the response status is 204 No Content + + @team:DataDog/incident-app + Scenario: Delete status page returns "No Content" response + Given new "DeleteStatusPage" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + When the request is sent + Then the response status is 204 No Content + + @team:DataDog/incident-app + Scenario: Get component returns "OK" response + Given new "GetComponent" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "component_id" parameter from "status_page.data.attributes.components[0].id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Get degradation returns "OK" response + Given new "GetDegradation" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "degradation_id" parameter from "degradation.data.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Get status page returns "OK" response + Given new "GetStatusPage" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: List components returns "OK" response + Given new "ListComponents" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: List degradations returns "OK" response + Given new "ListDegradations" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: List status pages returns "OK" response + Given new "ListStatusPages" request + And there is a valid "status_page" in the system + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Update component returns "OK" response + Given new "UpdateComponent" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "component_id" parameter from "status_page.data.attributes.components[0].id" + And body with value {"data": {"attributes": {"name": "Logs Indexing"}, "id": "{{ status_page.data.attributes.components[0].id }}", "type": "components"}} + When the request is sent + Then the response status is 200 OK + And the response "data.attributes.name" is equal to "Logs Indexing" + + @team:DataDog/incident-app + Scenario: Update degradation returns "OK" response + Given new "UpdateDegradation" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "degradation_id" parameter from "degradation.data.id" + And body with value {"data": {"attributes": {"title": "Elevated API Latency in US1"}, "id": "{{ degradation.data.id }}", "type": "degradations"}} + When the request is sent + Then the response status is 200 OK + And the response "data.attributes.title" is equal to "Elevated API Latency in US1" + + @team:DataDog/incident-app + Scenario: Update status page returns "OK" response + Given new "UpdateStatusPage" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And body with value {"data": {"attributes": {"name": "A Status Page in US1"}, "id": "{{ status_page.data.id }}", "type": "status_pages"}} + When the request is sent + Then the response status is 200 OK + And the response "data.attributes.name" is equal to "A Status Page in US1" diff --git a/tests/v2/features/synthetics.feature b/tests/v2/features/synthetics.feature index 5697490c97..133993b11b 100644 --- a/tests/v2/features/synthetics.feature +++ b/tests/v2/features/synthetics.feature @@ -51,73 +51,3 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK And the response "data.attributes.on_demand_concurrency_cap" is equal to 20 - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Search Synthetics suites returns "API error response." response - Given new "SearchSuites" request - When the request is sent - Then the response status is 400 API error response. - - @team:DataDog/synthetics-managing - Scenario: Search Synthetics suites returns "OK" response - Given new "SearchSuites" request - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Bulk delete suites returns "API error response." response - Given new "DeleteSyntheticsSuites" request - And body with value {"data": {"attributes": {"public_ids": [""]}, "type": "delete_suites_request"}} - When the request is sent - Then the response status is 400 API error response. - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Bulk delete suites returns "OK" response - Given new "DeleteSyntheticsSuites" request - And body with value {"data": {"attributes": {"public_ids": [""]}, "type": "delete_suites_request"}} - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Create a test suite returns "API error response." response - Given new "CreateSyntheticsSuite" request - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 400 API error response. - - @team:DataDog/synthetics-managing - Scenario: Synthetics: Create a test suite returns "OK" response - Given new "CreateSyntheticsSuite" request - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Edit a test suite returns "API error response." response - Given new "EditSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 400 API error response. - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Edit a test suite returns "OK" response - Given new "EditSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Get a suite returns "API error response." response - Given new "GetSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 404 API error response. - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Get a suite returns "OK" response - Given new "GetSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 200 OK diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index b8cb149622..83de9fe9bc 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -4634,53 +4634,135 @@ "type": "safe" } }, - "GetOnDemandConcurrencyCap": { - "tag": "Synthetics", + "ListStatusPages": { + "tag": "Status Pages", "undo": { "type": "safe" } }, - "SetOnDemandConcurrencyCap": { - "tag": "Synthetics", + "CreateStatusPage": { + "tag": "Status Pages", + "undo": { + "operationId": "DeleteStatusPage", + "parameters": [ + { + "name": "page_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "ListDegradations": { + "tag": "Status Pages", "undo": { "type": "safe" } }, - "CreateSyntheticsSuite": { - "tag": "Synthetics", + "DeleteStatusPage": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "GetStatusPage": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "UpdateStatusPage": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "ListComponents": { + "tag": "Status Pages", "undo": { - "operationId": "DeleteSyntheticsSuites", + "type": "safe" + } + }, + "CreateComponent": { + "tag": "Status Pages", + "undo": { + "operationId": "DeleteComponent", "parameters": [ { - "name": "body", - "template": "{\"data\": {\"type\": \"delete_suites_request\", \"attributes\": {\"public_ids\": [\"{{ data.attributes.public_id }}\"]}}}" + "name": "page_id", + "source": "data.relationships.status_page.data.id" + }, + { + "name": "component_id", + "source": "data.id" } ], "type": "unsafe" } }, - "DeleteSyntheticsSuites": { - "tag": "Synthetics", + "DeleteComponent": { + "tag": "Status Pages", "undo": { "type": "idempotent" } }, - "SearchSuites": { - "tag": "Synthetics", + "GetComponent": { + "tag": "Status Pages", "undo": { "type": "safe" } }, - "GetSyntheticsSuite": { + "UpdateComponent": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "CreateDegradation": { + "tag": "Status Pages", + "undo": { + "operationId": "DeleteDegradation", + "parameters": [ + { + "name": "page_id", + "source": "data.relationships.status_page.data.id" + }, + { + "name": "degradation_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteDegradation": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "GetDegradation": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "UpdateDegradation": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "GetOnDemandConcurrencyCap": { "tag": "Synthetics", "undo": { "type": "safe" } }, - "EditSyntheticsSuite": { + "SetOnDemandConcurrencyCap": { "tag": "Synthetics", "undo": { - "type": "idempotent" + "type": "safe" } }, "PatchGlobalVariable": {