diff --git a/airbyte-integrations/connectors/source-datadog/README.md b/airbyte-integrations/connectors/source-datadog/README.md index 1be3491eadd0..8218099f06a0 100644 --- a/airbyte-integrations/connectors/source-datadog/README.md +++ b/airbyte-integrations/connectors/source-datadog/README.md @@ -23,7 +23,7 @@ poetry install --with dev **If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/datadog) to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_datadog/spec.yaml` file. Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. -See `sample_files/sample_config.json` for a sample config file. +See `integration_tests/sample_config.json` for a sample config file. ### Locally running the connector @@ -31,7 +31,7 @@ See `sample_files/sample_config.json` for a sample config file. poetry run source-datadog spec poetry run source-datadog check --config secrets/config.json poetry run source-datadog discover --config secrets/config.json -poetry run source-datadog read --config secrets/config.json --catalog sample_files/configured_catalog.json +poetry run source-datadog read --config secrets/config.json --catalog integration_tests/configured_catalog.json ``` ### Running unit tests diff --git a/airbyte-integrations/connectors/source-datadog/acceptance-test-config.yml b/airbyte-integrations/connectors/source-datadog/acceptance-test-config.yml index 3b86fce238d1..2237765cee5f 100644 --- a/airbyte-integrations/connectors/source-datadog/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-datadog/acceptance-test-config.yml @@ -5,6 +5,8 @@ acceptance_tests: spec: tests: - spec_path: "source_datadog/spec.yaml" + backward_compatibility_tests_config: + disable_for_version: "0.4.15" # Set default start and end date for incremental sync connection: tests: - config_path: "secrets/config.json" @@ -25,6 +27,8 @@ acceptance_tests: bypass_reason: Sandbox account can't seed this stream - name: service_level_objectives bypass_reason: Sandbox account can't seed this stream + - name: logs + bypass_reason: Sandbox account can't seed this stream incremental: bypass_reason: "This connector does not implement incremental sync" full_refresh: diff --git a/airbyte-integrations/connectors/source-datadog/integration_tests/sample_config.json b/airbyte-integrations/connectors/source-datadog/integration_tests/sample_config.json index bb87d9ae80af..c43aa7fcd2af 100644 --- a/airbyte-integrations/connectors/source-datadog/integration_tests/sample_config.json +++ b/airbyte-integrations/connectors/source-datadog/integration_tests/sample_config.json @@ -1,7 +1,7 @@ { "site": "datadoghq.com", "api_key": "", - "application_key": "", + "application_key": "", "query": "sample query", "limit": 100, "start_date": "2022-10-10T00:00:00Z", diff --git a/airbyte-integrations/connectors/source-datadog/metadata.yaml b/airbyte-integrations/connectors/source-datadog/metadata.yaml index 0c18c18aa491..51bef90f22ab 100644 --- a/airbyte-integrations/connectors/source-datadog/metadata.yaml +++ b/airbyte-integrations/connectors/source-datadog/metadata.yaml @@ -15,10 +15,15 @@ data: enabled: true cloud: enabled: true + releases: + breakingChanges: + 1.0.0: + message: "Spec and schema are inline now, and default start and end date is setup for incremental sync." + upgradeDeadline: "2024-09-18" connectorSubtype: api connectorType: source definitionId: 1cfc30c7-82db-43f4-9fd7-ac1b42312cda - dockerImageTag: 0.4.15 + dockerImageTag: 1.0.0 dockerRepository: airbyte/source-datadog githubIssueLabel: source-datadog icon: datadog.svg diff --git a/airbyte-integrations/connectors/source-datadog/poetry.lock b/airbyte-integrations/connectors/source-datadog/poetry.lock index 46f84acf2dad..419beccda306 100644 --- a/airbyte-integrations/connectors/source-datadog/poetry.lock +++ b/airbyte-integrations/connectors/source-datadog/poetry.lock @@ -1,18 +1,18 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "airbyte-cdk" -version = "1.8.0" +version = "4.5.0" description = "A framework for writing Airbyte Connectors." optional = false -python-versions = "<4.0,>=3.9" +python-versions = "<4.0,>=3.10" files = [ - {file = "airbyte_cdk-1.8.0-py3-none-any.whl", hash = "sha256:ca23d7877005fe87ffc4a3a3de29ee55eed625d874eb59b49664b156f9ae9ee2"}, - {file = "airbyte_cdk-1.8.0.tar.gz", hash = "sha256:ac82fbfd6b650b7ed015900748e30fdd2a4c574caa54d1bcc03cb584a17f1533"}, + {file = "airbyte_cdk-4.5.0-py3-none-any.whl", hash = "sha256:1e57877c185e203f11ed2c2e6f287234ac15cfd747b53b599d6e165050987a29"}, + {file = "airbyte_cdk-4.5.0.tar.gz", hash = "sha256:70b51195f3697f0784265d574fa176335ec45172ff095cc9fafce901e5efe0ad"}, ] [package.dependencies] -airbyte-protocol-models = ">=0.9.0,<1.0" +airbyte-protocol-models-pdv2 = ">=0.12.2,<0.13.0" backoff = "*" cachetools = "*" cryptography = ">=42.0.5,<43.0.0" @@ -24,8 +24,9 @@ Jinja2 = ">=3.1.2,<3.2.0" jsonref = ">=0.2,<0.3" jsonschema = ">=3.2.0,<3.3.0" langchain_core = "0.1.42" +nltk = "3.8.1" pendulum = "<3.0.0" -pydantic = ">=1.10.8,<2.0.0" +pydantic = ">=2.7,<3.0" pyjwt = ">=2.8.0,<3.0.0" pyrate-limiter = ">=3.1.0,<3.2.0" python-dateutil = "*" @@ -36,32 +37,33 @@ requests_cache = "*" wcmatch = "8.4" [package.extras] -file-based = ["avro (>=1.11.2,<1.12.0)", "fastavro (>=1.8.0,<1.9.0)", "markdown", "pdf2image (==1.16.3)", "pdfminer.six (==20221105)", "pyarrow (>=15.0.0,<15.1.0)", "pytesseract (==0.3.10)", "unstructured.pytesseract (>=0.3.12)", "unstructured[docx,pptx] (==0.10.27)"] +file-based = ["avro (>=1.11.2,<1.12.0)", "fastavro (>=1.8.0,<1.9.0)", "markdown", "pandas (==2.2.0)", "pdf2image (==1.16.3)", "pdfminer.six (==20221105)", "pyarrow (>=15.0.0,<15.1.0)", "pytesseract (==0.3.10)", "python-calamine (==0.2.3)", "unstructured.pytesseract (>=0.3.12)", "unstructured[docx,pptx] (==0.10.27)"] sphinx-docs = ["Sphinx (>=4.2,<4.3)", "sphinx-rtd-theme (>=1.0,<1.1)"] vector-db-based = ["cohere (==4.21)", "langchain (==0.1.16)", "openai[embeddings] (==0.27.9)", "tiktoken (==0.4.0)"] [[package]] -name = "airbyte-protocol-models" +name = "airbyte-protocol-models-pdv2" version = "0.12.2" description = "Declares the Airbyte Protocol." optional = false python-versions = ">=3.8" files = [ - {file = "airbyte_protocol_models-0.12.2-py3-none-any.whl", hash = "sha256:1780db5b26285865b858d26502933def8e11919c9436ccf7b8b9cb0170b07c2a"}, - {file = "airbyte_protocol_models-0.12.2.tar.gz", hash = "sha256:b7c4d9a7c32c0691601c2b9416af090a858e126666e2c8c880d7a1798eb519f0"}, + {file = "airbyte_protocol_models_pdv2-0.12.2-py3-none-any.whl", hash = "sha256:8b3f9d0388928547cdf2e9134c0d589e4bcaa6f63bf71a21299f6824bfb7ad0e"}, + {file = "airbyte_protocol_models_pdv2-0.12.2.tar.gz", hash = "sha256:130c9ab289f3f53749ce63ff1abbfb67a44b7e5bd2794865315a2976138b672b"}, ] [package.dependencies] -pydantic = ">=1.9.2,<2.0.0" +pydantic = ">=2.7.2,<3.0.0" [[package]] -name = "atomicwrites" -version = "1.4.1" -description = "Atomic file writes." +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] [[package]] @@ -330,6 +332,20 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + [[package]] name = "colorama" version = "0.4.6" @@ -500,6 +516,17 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "joblib" +version = "1.4.2" +description = "Lightweight pipelining with Python functions" +optional = false +python-versions = ">=3.8" +files = [ + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, +] + [[package]] name = "jsonpatch" version = "1.33" @@ -664,6 +691,31 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "nltk" +version = "3.8.1" +description = "Natural Language Toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "nltk-3.8.1-py3-none-any.whl", hash = "sha256:fd5c9109f976fa86bcadba8f91e47f5e9293bd034474752e92a520f81c93dda5"}, + {file = "nltk-3.8.1.zip", hash = "sha256:1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3"}, +] + +[package.dependencies] +click = "*" +joblib = "*" +regex = ">=2021.8.3" +tqdm = "*" + +[package.extras] +all = ["matplotlib", "numpy", "pyparsing", "python-crfsuite", "requests", "scikit-learn", "scipy", "twython"] +corenlp = ["requests"] +machine-learning = ["numpy", "python-crfsuite", "scikit-learn", "scipy"] +plot = ["matplotlib"] +tgrep = ["pyparsing"] +twitter = ["twython"] + [[package]] name = "orjson" version = "3.10.7" @@ -806,17 +858,6 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] - [[package]] name = "pycparser" version = "2.22" @@ -830,62 +871,123 @@ files = [ [[package]] name = "pydantic" -version = "1.10.17" -description = "Data validation and settings management using python type hints" +version = "2.8.2" +description = "Data validation using Python type hints" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic-1.10.17-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fa51175313cc30097660b10eec8ca55ed08bfa07acbfe02f7a42f6c242e9a4b"}, - {file = "pydantic-1.10.17-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7e8988bb16988890c985bd2093df9dd731bfb9d5e0860db054c23034fab8f7a"}, - {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:371dcf1831f87c9e217e2b6a0c66842879a14873114ebb9d0861ab22e3b5bb1e"}, - {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4866a1579c0c3ca2c40575398a24d805d4db6cb353ee74df75ddeee3c657f9a7"}, - {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:543da3c6914795b37785703ffc74ba4d660418620cc273490d42c53949eeeca6"}, - {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7623b59876f49e61c2e283551cc3647616d2fbdc0b4d36d3d638aae8547ea681"}, - {file = "pydantic-1.10.17-cp310-cp310-win_amd64.whl", hash = "sha256:409b2b36d7d7d19cd8310b97a4ce6b1755ef8bd45b9a2ec5ec2b124db0a0d8f3"}, - {file = "pydantic-1.10.17-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fa43f362b46741df8f201bf3e7dff3569fa92069bcc7b4a740dea3602e27ab7a"}, - {file = "pydantic-1.10.17-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2a72d2a5ff86a3075ed81ca031eac86923d44bc5d42e719d585a8eb547bf0c9b"}, - {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4ad32aed3bf5eea5ca5decc3d1bbc3d0ec5d4fbcd72a03cdad849458decbc63"}, - {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb4e741782e236ee7dc1fb11ad94dc56aabaf02d21df0e79e0c21fe07c95741"}, - {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d2f89a719411cb234105735a520b7c077158a81e0fe1cb05a79c01fc5eb59d3c"}, - {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db3b48d9283d80a314f7a682f7acae8422386de659fffaba454b77a083c3937d"}, - {file = "pydantic-1.10.17-cp311-cp311-win_amd64.whl", hash = "sha256:9c803a5113cfab7bbb912f75faa4fc1e4acff43e452c82560349fff64f852e1b"}, - {file = "pydantic-1.10.17-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:820ae12a390c9cbb26bb44913c87fa2ff431a029a785642c1ff11fed0a095fcb"}, - {file = "pydantic-1.10.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c1e51d1af306641b7d1574d6d3307eaa10a4991542ca324f0feb134fee259815"}, - {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e53fb834aae96e7b0dadd6e92c66e7dd9cdf08965340ed04c16813102a47fab"}, - {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2495309b1266e81d259a570dd199916ff34f7f51f1b549a0d37a6d9b17b4dc"}, - {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:098ad8de840c92ea586bf8efd9e2e90c6339d33ab5c1cfbb85be66e4ecf8213f"}, - {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:525bbef620dac93c430d5d6bdbc91bdb5521698d434adf4434a7ef6ffd5c4b7f"}, - {file = "pydantic-1.10.17-cp312-cp312-win_amd64.whl", hash = "sha256:6654028d1144df451e1da69a670083c27117d493f16cf83da81e1e50edce72ad"}, - {file = "pydantic-1.10.17-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c87cedb4680d1614f1d59d13fea353faf3afd41ba5c906a266f3f2e8c245d655"}, - {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11289fa895bcbc8f18704efa1d8020bb9a86314da435348f59745473eb042e6b"}, - {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94833612d6fd18b57c359a127cbfd932d9150c1b72fea7c86ab58c2a77edd7c7"}, - {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d4ecb515fa7cb0e46e163ecd9d52f9147ba57bc3633dca0e586cdb7a232db9e3"}, - {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7017971ffa7fd7808146880aa41b266e06c1e6e12261768a28b8b41ba55c8076"}, - {file = "pydantic-1.10.17-cp37-cp37m-win_amd64.whl", hash = "sha256:e840e6b2026920fc3f250ea8ebfdedf6ea7a25b77bf04c6576178e681942ae0f"}, - {file = "pydantic-1.10.17-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bfbb18b616abc4df70591b8c1ff1b3eabd234ddcddb86b7cac82657ab9017e33"}, - {file = "pydantic-1.10.17-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb249096d873593e014535ab07145498957091aa6ae92759a32d40cb9998e2e"}, - {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c209af63ccd7b22fba94b9024e8b7fd07feffee0001efae50dd99316b27768"}, - {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b40c9e13a0b61583e5599e7950490c700297b4a375b55b2b592774332798b7"}, - {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c31d281c7485223caf6474fc2b7cf21456289dbaa31401844069b77160cab9c7"}, - {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae5184e99a060a5c80010a2d53c99aee76a3b0ad683d493e5f0620b5d86eeb75"}, - {file = "pydantic-1.10.17-cp38-cp38-win_amd64.whl", hash = "sha256:ad1e33dc6b9787a6f0f3fd132859aa75626528b49cc1f9e429cdacb2608ad5f0"}, - {file = "pydantic-1.10.17-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e17c0ee7192e54a10943f245dc79e36d9fe282418ea05b886e1c666063a7b54"}, - {file = "pydantic-1.10.17-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cafb9c938f61d1b182dfc7d44a7021326547b7b9cf695db5b68ec7b590214773"}, - {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ef534e3c22e5abbdbdd6f66b6ea9dac3ca3e34c5c632894f8625d13d084cbe"}, - {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d96b8799ae3d782df7ec9615cb59fc32c32e1ed6afa1b231b0595f6516e8ab"}, - {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ab2f976336808fd5d539fdc26eb51f9aafc1f4b638e212ef6b6f05e753c8011d"}, - {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8ad363330557beac73159acfbeed220d5f1bfcd6b930302a987a375e02f74fd"}, - {file = "pydantic-1.10.17-cp39-cp39-win_amd64.whl", hash = "sha256:48db882e48575ce4b39659558b2f9f37c25b8d348e37a2b4e32971dd5a7d6227"}, - {file = "pydantic-1.10.17-py3-none-any.whl", hash = "sha256:e41b5b973e5c64f674b3b4720286ded184dcc26a691dd55f34391c62c6934688"}, - {file = "pydantic-1.10.17.tar.gz", hash = "sha256:f434160fb14b353caf634149baaf847206406471ba70e64657c1e8330277a991"}, + {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, + {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, ] [package.dependencies] -typing-extensions = ">=4.2.0" +annotated-types = ">=0.4.0" +pydantic-core = "2.20.1" +typing-extensions = {version = ">=4.6.1", markers = "python_version < \"3.13\""} [package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.20.1" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, + {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, + {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, + {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, + {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, + {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, + {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, + {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, + {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, + {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, + {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, + {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, + {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, + {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pyjwt" @@ -962,27 +1064,25 @@ files = [ [[package]] name = "pytest" -version = "6.2.5" +version = "8.3.2" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, - {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, + {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, + {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, ] [package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -toml = "*" +pluggy = ">=1.5,<2" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-mock" @@ -1099,6 +1199,94 @@ files = [ {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] +[[package]] +name = "regex" +version = "2024.7.24" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.8" +files = [ + {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b0d3f567fafa0633aee87f08b9276c7062da9616931382993c03808bb68ce"}, + {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3426de3b91d1bc73249042742f45c2148803c111d1175b283270177fdf669024"}, + {file = "regex-2024.7.24-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f273674b445bcb6e4409bf8d1be67bc4b58e8b46fd0d560055d515b8830063cd"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23acc72f0f4e1a9e6e9843d6328177ae3074b4182167e34119ec7233dfeccf53"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65fd3d2e228cae024c411c5ccdffae4c315271eee4a8b839291f84f796b34eca"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c414cbda77dbf13c3bc88b073a1a9f375c7b0cb5e115e15d4b73ec3a2fbc6f59"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7a89eef64b5455835f5ed30254ec19bf41f7541cd94f266ab7cbd463f00c41"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19c65b00d42804e3fbea9708f0937d157e53429a39b7c61253ff15670ff62cb5"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7a5486ca56c8869070a966321d5ab416ff0f83f30e0e2da1ab48815c8d165d46"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6f51f9556785e5a203713f5efd9c085b4a45aecd2a42573e2b5041881b588d1f"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a4997716674d36a82eab3e86f8fa77080a5d8d96a389a61ea1d0e3a94a582cf7"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c0abb5e4e8ce71a61d9446040c1e86d4e6d23f9097275c5bd49ed978755ff0fe"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:18300a1d78cf1290fa583cd8b7cde26ecb73e9f5916690cf9d42de569c89b1ce"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:416c0e4f56308f34cdb18c3f59849479dde5b19febdcd6e6fa4d04b6c31c9faa"}, + {file = "regex-2024.7.24-cp310-cp310-win32.whl", hash = "sha256:fb168b5924bef397b5ba13aabd8cf5df7d3d93f10218d7b925e360d436863f66"}, + {file = "regex-2024.7.24-cp310-cp310-win_amd64.whl", hash = "sha256:6b9fc7e9cc983e75e2518496ba1afc524227c163e43d706688a6bb9eca41617e"}, + {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:382281306e3adaaa7b8b9ebbb3ffb43358a7bbf585fa93821300a418bb975281"}, + {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4fdd1384619f406ad9037fe6b6eaa3de2749e2e12084abc80169e8e075377d3b"}, + {file = "regex-2024.7.24-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3d974d24edb231446f708c455fd08f94c41c1ff4f04bcf06e5f36df5ef50b95a"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a2ec4419a3fe6cf8a4795752596dfe0adb4aea40d3683a132bae9c30b81e8d73"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb563dd3aea54c797adf513eeec819c4213d7dbfc311874eb4fd28d10f2ff0f2"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45104baae8b9f67569f0f1dca5e1f1ed77a54ae1cd8b0b07aba89272710db61e"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:994448ee01864501912abf2bad9203bffc34158e80fe8bfb5b031f4f8e16da51"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fac296f99283ac232d8125be932c5cd7644084a30748fda013028c815ba3364"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7e37e809b9303ec3a179085415cb5f418ecf65ec98cdfe34f6a078b46ef823ee"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:01b689e887f612610c869421241e075c02f2e3d1ae93a037cb14f88ab6a8934c"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f6442f0f0ff81775eaa5b05af8a0ffa1dda36e9cf6ec1e0d3d245e8564b684ce"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:871e3ab2838fbcb4e0865a6e01233975df3a15e6fce93b6f99d75cacbd9862d1"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c918b7a1e26b4ab40409820ddccc5d49871a82329640f5005f73572d5eaa9b5e"}, + {file = "regex-2024.7.24-cp311-cp311-win32.whl", hash = "sha256:2dfbb8baf8ba2c2b9aa2807f44ed272f0913eeeba002478c4577b8d29cde215c"}, + {file = "regex-2024.7.24-cp311-cp311-win_amd64.whl", hash = "sha256:538d30cd96ed7d1416d3956f94d54e426a8daf7c14527f6e0d6d425fcb4cca52"}, + {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86"}, + {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:74007a5b25b7a678459f06559504f1eec2f0f17bca218c9d56f6a0a12bfffdad"}, + {file = "regex-2024.7.24-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7df9ea48641da022c2a3c9c641650cd09f0cd15e8908bf931ad538f5ca7919c9"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1141a1dcc32904c47f6846b040275c6e5de0bf73f17d7a409035d55b76f289"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80c811cfcb5c331237d9bad3bea2c391114588cf4131707e84d9493064d267f9"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7214477bf9bd195894cf24005b1e7b496f46833337b5dedb7b2a6e33f66d962c"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d55588cba7553f0b6ec33130bc3e114b355570b45785cebdc9daed8c637dd440"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558a57cfc32adcf19d3f791f62b5ff564922942e389e3cfdb538a23d65a6b610"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a512eed9dfd4117110b1881ba9a59b31433caed0c4101b361f768e7bcbaf93c5"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:86b17ba823ea76256b1885652e3a141a99a5c4422f4a869189db328321b73799"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5eefee9bfe23f6df09ffb6dfb23809f4d74a78acef004aa904dc7c88b9944b05"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:731fcd76bbdbf225e2eb85b7c38da9633ad3073822f5ab32379381e8c3c12e94"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eaef80eac3b4cfbdd6de53c6e108b4c534c21ae055d1dbea2de6b3b8ff3def38"}, + {file = "regex-2024.7.24-cp312-cp312-win32.whl", hash = "sha256:185e029368d6f89f36e526764cf12bf8d6f0e3a2a7737da625a76f594bdfcbfc"}, + {file = "regex-2024.7.24-cp312-cp312-win_amd64.whl", hash = "sha256:2f1baff13cc2521bea83ab2528e7a80cbe0ebb2c6f0bfad15be7da3aed443908"}, + {file = "regex-2024.7.24-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:66b4c0731a5c81921e938dcf1a88e978264e26e6ac4ec96a4d21ae0354581ae0"}, + {file = "regex-2024.7.24-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:88ecc3afd7e776967fa16c80f974cb79399ee8dc6c96423321d6f7d4b881c92b"}, + {file = "regex-2024.7.24-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:64bd50cf16bcc54b274e20235bf8edbb64184a30e1e53873ff8d444e7ac656b2"}, + {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb462f0e346fcf41a901a126b50f8781e9a474d3927930f3490f38a6e73b6950"}, + {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a82465ebbc9b1c5c50738536fdfa7cab639a261a99b469c9d4c7dcbb2b3f1e57"}, + {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68a8f8c046c6466ac61a36b65bb2395c74451df2ffb8458492ef49900efed293"}, + {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac8e84fff5d27420f3c1e879ce9929108e873667ec87e0c8eeb413a5311adfe"}, + {file = "regex-2024.7.24-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba2537ef2163db9e6ccdbeb6f6424282ae4dea43177402152c67ef869cf3978b"}, + {file = "regex-2024.7.24-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:43affe33137fcd679bdae93fb25924979517e011f9dea99163f80b82eadc7e53"}, + {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:c9bb87fdf2ab2370f21e4d5636e5317775e5d51ff32ebff2cf389f71b9b13750"}, + {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:945352286a541406f99b2655c973852da7911b3f4264e010218bbc1cc73168f2"}, + {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:8bc593dcce679206b60a538c302d03c29b18e3d862609317cb560e18b66d10cf"}, + {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3f3b6ca8eae6d6c75a6cff525c8530c60e909a71a15e1b731723233331de4169"}, + {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c51edc3541e11fbe83f0c4d9412ef6c79f664a3745fab261457e84465ec9d5a8"}, + {file = "regex-2024.7.24-cp38-cp38-win32.whl", hash = "sha256:d0a07763776188b4db4c9c7fb1b8c494049f84659bb387b71c73bbc07f189e96"}, + {file = "regex-2024.7.24-cp38-cp38-win_amd64.whl", hash = "sha256:8fd5afd101dcf86a270d254364e0e8dddedebe6bd1ab9d5f732f274fa00499a5"}, + {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0ffe3f9d430cd37d8fa5632ff6fb36d5b24818c5c986893063b4e5bdb84cdf24"}, + {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:25419b70ba00a16abc90ee5fce061228206173231f004437730b67ac77323f0d"}, + {file = "regex-2024.7.24-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:33e2614a7ce627f0cdf2ad104797d1f68342d967de3695678c0cb84f530709f8"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d33a0021893ede5969876052796165bab6006559ab845fd7b515a30abdd990dc"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04ce29e2c5fedf296b1a1b0acc1724ba93a36fb14031f3abfb7abda2806c1535"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b16582783f44fbca6fcf46f61347340c787d7530d88b4d590a397a47583f31dd"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:836d3cc225b3e8a943d0b02633fb2f28a66e281290302a79df0e1eaa984ff7c1"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:438d9f0f4bc64e8dea78274caa5af971ceff0f8771e1a2333620969936ba10be"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:973335b1624859cb0e52f96062a28aa18f3a5fc77a96e4a3d6d76e29811a0e6e"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c5e69fd3eb0b409432b537fe3c6f44ac089c458ab6b78dcec14478422879ec5f"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fbf8c2f00904eaf63ff37718eb13acf8e178cb940520e47b2f05027f5bb34ce3"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2757ace61bc4061b69af19e4689fa4416e1a04840f33b441034202b5cd02d4"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:44fc61b99035fd9b3b9453f1713234e5a7c92a04f3577252b45feefe1b327759"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:84c312cdf839e8b579f504afcd7b65f35d60b6285d892b19adea16355e8343c9"}, + {file = "regex-2024.7.24-cp39-cp39-win32.whl", hash = "sha256:ca5b2028c2f7af4e13fb9fc29b28d0ce767c38c7facdf64f6c2cd040413055f1"}, + {file = "regex-2024.7.24-cp39-cp39-win_amd64.whl", hash = "sha256:7c479f5ae937ec9985ecaf42e2e10631551d909f203e31308c12d703922742f9"}, + {file = "regex-2024.7.24.tar.gz", hash = "sha256:9cfd009eed1a46b27c14039ad5bbc5e71b6367c5b2e6d5f5da0ea91600817506"}, +] + [[package]] name = "requests" version = "2.32.3" @@ -1210,16 +1398,36 @@ doc = ["reno", "sphinx"] test = ["pytest", "tornado (>=4.5)", "typeguard"] [[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = ">=3.7" files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +[[package]] +name = "tqdm" +version = "4.66.5" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tqdm-4.66.5-py3-none-any.whl", hash = "sha256:90279a3770753eafc9194a0364852159802111925aa30eb3f9d85b0e805ac7cd"}, + {file = "tqdm-4.66.5.tar.gz", hash = "sha256:e1020aef2e5096702d8a025ac7d16b1577279c9d63f8375b63083e9a5f0fcbad"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + [[package]] name = "typing-extensions" version = "4.12.2" @@ -1357,5 +1565,5 @@ files = [ [metadata] lock-version = "2.0" -python-versions = "^3.9,<3.12" -content-hash = "39d3a9ac9f5327e63f0df77c43f7b378920e9d3eab37e659322d86ef7f9432ea" +python-versions = "^3.10,<3.12" +content-hash = "4322007328fdc64bbc75b8d8e18ce2d275329f90f2b690f6dd052c9836156e3e" diff --git a/airbyte-integrations/connectors/source-datadog/pyproject.toml b/airbyte-integrations/connectors/source-datadog/pyproject.toml index 24c0f69433e4..2dea43b6b158 100644 --- a/airbyte-integrations/connectors/source-datadog/pyproject.toml +++ b/airbyte-integrations/connectors/source-datadog/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.4.15" +version = "1.0.0" name = "source-datadog" description = "Source implementation for Datadog." authors = [ "Airbyte ",] @@ -16,13 +16,13 @@ repository = "https://github.com/airbytehq/airbyte" include = "source_datadog" [tool.poetry.dependencies] -python = "^3.9,<3.12" -airbyte-cdk = "^1" +python = "^3.10,<3.12" +airbyte-cdk = "^4" [tool.poetry.scripts] source-datadog = "source_datadog.run:run" [tool.poetry.group.dev.dependencies] -requests-mock = "^1.9.3" -pytest = "^6.2" -pytest-mock = "^3.6.1" +requests-mock = "*" +pytest = "*" +pytest-mock = "*" diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/manifest.yaml b/airbyte-integrations/connectors/source-datadog/source_datadog/manifest.yaml index f9e94df46516..e536c0fed0b2 100644 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/manifest.yaml +++ b/airbyte-integrations/connectors/source-datadog/source_datadog/manifest.yaml @@ -1,276 +1,2068 @@ -version: "0.29.0" +version: 4.3.2 -definitions: - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["{{ parameters.name }}"] +type: DeclarativeSource - data_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["data"] +check: + type: CheckStream + stream_names: + - dashboards - requester_v1: +definitions: + streams: + audit_logs: + type: DeclarativeStream + name: audit_logs + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v2" + path: audit/events + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page[cursor] + pagination_strategy: + type: CursorPagination + cursor_value: >- + {{ last_record['meta']['page']['after'] if last_record else None + }} + stop_condition: "{{ 'page' not in last_record['meta'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/audit_logs" + dashboards: + type: DeclarativeStream + name: dashboards + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v1" + path: dashboard + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - dashboards + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/dashboards" + downtimes: + type: DeclarativeStream + name: downtimes + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v1" + path: downtime + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/downtimes" + incident_teams: + type: DeclarativeStream + name: incident_teams + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v2" + path: teams + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + paginator: + type: DefaultPaginator + pagination_strategy: + type: CursorPagination + cursor_value: >- + {{ last_record['meta']['pagination']['next_offset'] if last_record + else None }} + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/incident_teams" + incidents: + type: DeclarativeStream + name: incidents + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v2" + path: incidents + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page[offset] + pagination_strategy: + type: CursorPagination + cursor_value: >- + {{ last_record['meta']['pagination']['next_offset'] if last_record + else None }} + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/incidents" + logs: + type: DeclarativeStream + name: logs + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v2" + path: logs/events + http_method: GET + request_parameters: + filter[query]: "{{ config['query'] }}" + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 3 + backoff_strategies: + - type: ExponentialBackoffStrategy + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 429 + error_message: Too many requests, retrying... + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page[cursor] + pagination_strategy: + type: CursorPagination + cursor_value: >- + {{ last_record['meta']['page']['after'] if last_record else None + }} + stop_condition: "{{ 'page' not in last_record['meta'] }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: sync_date + lookback_window: P31D + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%SZ" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config['start_date'] }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_time_option: + type: RequestOption + field_name: filter[from] + inject_into: request_parameter + end_time_option: + type: RequestOption + field_name: filter[to] + inject_into: request_parameter + end_datetime: + type: MinMaxDatetime + datetime: "{{ config['end_date'] }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: P1M + cursor_granularity: PT0.000001S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/logs" + metrics: + type: DeclarativeStream + name: metrics + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v2" + path: metrics + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/metrics" + monitors: + type: DeclarativeStream + name: monitors + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v1" + path: monitor + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/monitors" + service_level_objectives: + type: DeclarativeStream + name: service_level_objectives + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v1" + path: slo + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/service_level_objectives" + synthetic_tests: + type: DeclarativeStream + name: synthetic_tests + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v1" + path: synthetics/tests + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - tests + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/synthetic_tests" + users: + type: DeclarativeStream + name: users + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester_v2" + path: users + http_method: GET + request_headers: + DD-APPLICATION-KEY: "{{ config['application_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page[number] + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page[size] + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/users" + base_requester_v1: type: HttpRequester - url_base: "https://api.{{ config['site'] }}/api/v1/" - http_method: "GET" + url_base: https://api.{{ config['site'] }}/api/v1/ authenticator: - type: "ApiKeyAuthenticator" - header: "DD-API-KEY" - api_token: "{{ config['api_key'] }}" - request_headers: - DD-APPLICATION-KEY: "{{ config['application_key'] }}" - - requester_v2: - $ref: "#/definitions/requester_v1" - url_base: "https://api.{{ config['site'] }}/api/v2/" - - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - type: NoPagination - requester: - $ref: "#/definitions/requester_v1" - - retriever_v2: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/data_selector" - paginator: - type: NoPagination - requester: - $ref: "#/definitions/requester_v2" - - base_stream: - type: DeclarativeStream - retriever: - $ref: "#/definitions/retriever" - - base_paginator: - type: "DefaultPaginator" - pagination_strategy: - type: "CursorPagination" - cursor_value: "{{ last_record['meta']['pagination']['next_offset'] if last_record else None }}" - page_token_option: - type: "RequestPath" - field_name: "page[offset]" - inject_into: "request_parameter" - - base_page_paginator: - type: "DefaultPaginator" - page_size_option: - type: "RequestOption" - inject_into: "request_parameter" - field_name: "page[size]" - pagination_strategy: - type: "PageIncrement" - page_size: 100 - page_token_option: - type: "RequestOption" - inject_into: "request_parameter" - field_name: "page[number]" - - base_after_paginator: - type: "DefaultPaginator" - pagination_strategy: - type: "CursorPagination" - cursor_value: "{{ last_record['meta']['page']['after'] if last_record else None }}" - page_token_option: - type: "RequestPath" - field_name: "page[cursor]" - inject_into: "request_parameter" - - incremental_sync_base: - type: DatetimeBasedCursor - cursor_field: "{{ parameters.incremental_cursor }}" - datetime_format: "%Y-%m-%dT%H:%M:%SZ" - cursor_granularity: "PT0.000001S" - lookback_window: "P31D" - start_datetime: - datetime: "{{ config['start_date'] }}" - datetime_format: "%Y-%m-%dT%H:%M:%SZ" - end_datetime: - datetime: "{{ config['end_date'] }}" - datetime_format: "%Y-%m-%dT%H:%M:%SZ" - start_time_option: - type: RequestOption - field_name: filter[from] - inject_into: request_parameter - end_time_option: - type: RequestOption - field_name: filter[to] - inject_into: request_parameter - step: "P1M" - - dashboards_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "dashboards" - primary_key: "id" - path: "dashboard" - - downtimes_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "downtimes" - primary_key: "id" - path: "downtime" - retriever: - $ref: "#/definitions/retriever" - record_selector: - $ref: "#/definitions/selector" - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - - synthetic_tests_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "synthetic_tests" - path: "synthetics/tests" - retriever: - $ref: "#/definitions/retriever" - record_selector: - $ref: "#/definitions/selector" - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["tests"] - - monitors_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "monitors" - primary_key: "id" - path: "monitor" - retriever: - $ref: "#/definitions/retriever" - record_selector: - $ref: "#/definitions/selector" - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - - service_level_objectives_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "service_level_objectives" - primary_key: "id" - path: "slo" - retriever: - $ref: "#/definitions/retriever" - record_selector: - $ref: "#/definitions/selector" - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["data"] - - audit_logs_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "audit_logs" - primary_key: "id" - path: "audit/events" - incremental_cursor: "sync_date" - retriever: - $ref: "#/definitions/retriever_v2" - paginator: - $ref: "#/definitions/base_after_paginator" - - logs_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "logs" - primary_key: "id" - path: "logs/events" - incremental_cursor: "sync_date" - retriever: - $ref: "#/definitions/retriever_v2" - requester: - $ref: "#/definitions/requester_v2" - request_parameters: - filter[query]: "{{ config['query'] }}" - paginator: - $ref: "#/definitions/base_after_paginator" - incremental_sync: - $ref: "#/definitions/incremental_sync_base" - - metrics_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "metrics" - primary_key: "id" - path: "metrics" - retriever: - $ref: "#/definitions/retriever_v2" - paginator: - type: NoPagination - - incidents_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "incidents" - primary_key: "id" - path: "incidents" - retriever: - $ref: "#/definitions/retriever_v2" - paginator: - $ref: "#/definitions/base_paginator" + type: ApiKeyAuthenticator + api_token: '{{ config["api_key"] }}' + inject_into: + type: RequestOption + field_name: DD-API-KEY + inject_into: header + base_requester_v2: + type: HttpRequester + url_base: https://api.{{ config['site'] }}/api/v2/ + authenticator: + type: ApiKeyAuthenticator + api_token: '{{ config["api_key"] }}' + inject_into: + type: RequestOption + field_name: DD-API-KEY + inject_into: header - incident_teams_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "incident_teams" - primary_key: "id" - path: "teams" - retriever: - $ref: "#/definitions/retriever_v2" - paginator: - $ref: "#/definitions/base_paginator" +streams: + - $ref: "#/definitions/streams/audit_logs" + - $ref: "#/definitions/streams/dashboards" + - $ref: "#/definitions/streams/downtimes" + - $ref: "#/definitions/streams/incident_teams" + - $ref: "#/definitions/streams/incidents" + - $ref: "#/definitions/streams/logs" + - $ref: "#/definitions/streams/metrics" + - $ref: "#/definitions/streams/monitors" + - $ref: "#/definitions/streams/service_level_objectives" + - $ref: "#/definitions/streams/synthetic_tests" + - $ref: "#/definitions/streams/users" - users_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "users" - primary_key: "id" - path: "users" - retriever: - $ref: "#/definitions/retriever_v2" - paginator: - $ref: "#/definitions/base_page_paginator" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + - application_key + properties: + api_key: + type: string + description: Datadog API key + order: 0 + title: API Key + airbyte_secret: true + application_key: + type: string + description: Datadog application key + order: 1 + title: Application Key + airbyte_secret: true + query: + type: string + description: >- + The search query. This just applies to Incremental syncs. If empty, + it'll collect all logs. + order: 2 + title: Query + start_date: + type: string + description: >- + UTC date and time in the format 2017-01-25T00:00:00Z. Any data before + this date will not be replicated. This just applies to Incremental + syncs. + order: 3 + title: Start date + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ + examples: + - "2022-10-01T00:00:00Z" + default: "2023-12-01T00:00:00Z" + site: + type: string + description: The site where Datadog data resides in. + enum: + - datadoghq.com + - us3.datadoghq.com + - us5.datadoghq.com + - datadoghq.eu + - ddog-gov.com + order: 4 + title: Site + default: datadoghq.com + end_date: + type: string + description: >- + UTC date and time in the format 2017-01-25T00:00:00Z. Data after this + date will not be replicated. An empty value will represent the + current datetime for each execution. This just applies to Incremental + syncs. + order: 5 + title: End date + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ + examples: + - "2022-10-01T00:00:00Z" + default: "2024-01-01T00:00:00Z" + max_records_per_request: + type: integer + description: Maximum number of records to collect per request. + order: 6 + title: Max records per requests + default: 5000 + maximum: 5000 + minimum: 1 + queries: + type: array + description: List of queries to be run and used as inputs. + items: + type: object + required: + - name + - data_source + - query + properties: + name: + type: string + description: The variable name for use in queries. + order: 1 + title: Query Name + query: + type: string + description: A classic query string. + order: 3 + title: Query + data_source: + type: string + description: A data source that is powered by the platform. + enum: + - metrics + - cloud_cost + - logs + - rum + order: 2 + title: Data Source + order: 7 + title: Queries + default: [] + additionalProperties: true -streams: - - "#/definitions/audit_logs_stream" - - "#/definitions/dashboards_stream" - - "#/definitions/downtimes_stream" - - "#/definitions/incident_teams_stream" - - "#/definitions/incidents_stream" - - "#/definitions/logs_stream" - - "#/definitions/metrics_stream" - - "#/definitions/monitors_stream" - - "#/definitions/service_level_objectives_stream" - - "#/definitions/synthetic_tests_stream" - - "#/definitions/users_stream" +metadata: + autoImportSchema: + audit_logs: false + dashboards: false + downtimes: false + incident_teams: false + incidents: false + logs: false + metrics: false + monitors: false + service_level_objectives: false + synthetic_tests: false + users: false + testedStreams: + audit_logs: + streamHash: 3120cc4ea60fe42d20e6f755a4f3d2f1f872642a + hasResponse: true + responsesAreSuccessful: true + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + dashboards: + streamHash: ccf126d779c38738bb296dfe1ede33addf7609a7 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + downtimes: + streamHash: 436e7603ff5e27d49318282b058b2384075a4622 + hasResponse: true + responsesAreSuccessful: true + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + incident_teams: + streamHash: d11d730339f869d1e26779abd5ae2064a0aabdc9 + hasResponse: true + responsesAreSuccessful: true + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + incidents: + streamHash: ab19fbb8c0522940c9ddaee6b97e5900343d1ec3 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + logs: + streamHash: 529b609d71adf271af2b9fc4f55afe0e663ea15f + hasResponse: true + responsesAreSuccessful: false + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + monitors: + streamHash: 1627d8435fbe1cbba0018bd96537d1daf7c31122 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + service_level_objectives: + streamHash: a78ca24666edd1f8ca80652d7134f6bb0355847c + hasResponse: true + responsesAreSuccessful: true + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + synthetic_tests: + streamHash: d9bb8580df6620a0faec41f91386334a39e8af48 + hasResponse: true + responsesAreSuccessful: true + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + users: + streamHash: f36dda4ac376220e578488a647e87c81ad15a315 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + metrics: + streamHash: 730b847ada6a9eb114431fd35d32fb8b4e810a9f + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true -check: - type: CheckStream - stream_names: - - "audit_logs" - - "dashboards" - - "downtimes" - - "incident_teams" - - "incidents" - - "logs" - - "metrics" - - "monitors" - - "service_level_objectives" - - "synthetic_tests" - - "users" +schemas: + audit_logs: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + description: "Type of the event. Allowed enum values: audit" + enum: + - audit + readOnly: true + attributes: + type: + - object + - "null" + description: >- + JSON object containing all event attributes and their associated + values. + additionalProperties: true + properties: + attributes: + type: + - object + - "null" + description: JSON object of attributes from Audit Logs events. + additionalProperties: true + service: + type: + - string + - "null" + description: Name of the application or service generating Audit Logs events. + tags: + type: + - array + - "null" + description: Array of tags associated with your event. + items: + type: string + timestamp: + type: + - string + - "null" + description: Timestamp of your event. + format: date-time + id: + type: + - string + - "null" + description: Unique ID of the event. + readOnly: true + sync_date: + type: + - "null" + - string + dashboards: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + description: Description of the dashboard. + readOnly: true + author_handle: + type: + - string + - "null" + description: Identifier of the dashboard author. + readOnly: true + created_at: + type: + - string + - "null" + description: Creation date of the dashboard. + format: date-time + readOnly: true + deleted_at: + type: + - string + - "null" + description: Deletion date of the dashboard. + format: date-time + readOnly: true + id: + type: + - string + - "null" + description: Dashboard identifier. + readOnly: true + is_read_only: + type: + - boolean + - "null" + description: >- + Whether this dashboard is read-only. If True, only the author and + admins can make changes to it. + readOnly: true + layout_type: + type: + - string + - "null" + description: Layout type of the dashboard + enum: + - ordered + - free + readOnly: true + modified_at: + type: + - string + - "null" + description: Modification date of the dashboard. + format: date-time + readOnly: true + title: + type: + - string + - "null" + description: Title of the dashboard. + readOnly: true + url: + type: + - string + - "null" + description: URL of the dashboard. + readOnly: true + downtimes: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + active: + type: + - boolean + - "null" + description: If a scheduled downtime currently exists. + readOnly: true + active_child: + type: + - object + - "null" + description: >- + The downtime object definition of the active child for the original + parent recurring downtime. + additionalProperties: true + canceled: + type: + - integer + - "null" + description: If a scheduled downtime is canceled. + readOnly: true + child_id: + type: + - integer + - "null" + created: + type: + - integer + - "null" + creator_id: + type: + - integer + - "null" + description: User ID of the downtime creator. + readOnly: true + disabled: + type: + - boolean + - "null" + description: If a downtime has been disabled. + readOnly: true + downtime_type: + type: + - integer + - "null" + description: >- + 0 for a downtime applied on * or all, 1 when the downtime is only + scoped to hosts, or 2 when the downtime is scoped to anything but + hosts. + readOnly: true + end: + type: + - integer + - "null" + description: >- + POSIX timestamp to end the downtime. If not provided, the downtime is + in effect indefinitely until you cancel it. + readOnly: true + id: + type: + - integer + - "null" + description: The downtime ID. + readOnly: true + message: + type: + - string + - "null" + description: A message to include with notifications for this downtime. + readOnly: true + modified: + type: + - integer + - "null" + monitor_id: + type: + - integer + - "null" + description: >- + A single monitor to which the downtime applies. If not provided, the + downtime applies to all monitors. + readOnly: true + monitor_tags: + type: + - array + - "null" + description: A comma-separated list of monitor tags. + items: + type: string + readOnly: true + mute_first_recovery_notification: + type: + - boolean + - "null" + description: If the first recovery notification during a downtime should be muted. + readOnly: true + notify_end_states: + type: + - array + - "null" + items: + type: string + notify_end_types: + type: + - array + - "null" + items: + type: string + org_id: + type: + - integer + - "null" + parent_id: + type: + - integer + - "null" + description: ID of the parent Downtime. + readOnly: true + recurrence: + type: + - object + - "null" + description: An object defining the recurrence of the downtime. + additionalProperties: true + scope: + type: + - array + - "null" + description: The scope(s) to which the downtime applies. + items: + type: string + readOnly: true + start: + type: + - integer + - "null" + description: >- + POSIX timestamp to start the downtime. If not provided, the downtime + starts the moment it is created. + readOnly: true + status: + type: + - string + - "null" + timezone: + type: + - string + - "null" + description: >- + The timezone in which to display the downtime's start and end times in + Datadog applications. + readOnly: true + updater_id: + type: + - integer + - "null" + description: ID of the last user that updated the downtime. + readOnly: true + uuid: + type: + - string + - "null" + incident_teams: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + description: "Incident Team resource type. Allowed enum values: teams" + enum: + - teams + readOnly: true + attributes: + type: + - object + - "null" + description: The incident team's attributes from a response. + additionalProperties: true + properties: + created: + type: + - string + - "null" + description: Timestamp of when the incident team was created. + format: date-time + modified: + type: + - string + - "null" + description: Timestamp of when the incident team was modified. + format: date-time + name: + type: + - string + - "null" + description: Name of the incident team. + id: + type: + - string + - "null" + description: The incident team's ID. + readOnly: true + relationships: + type: + - object + - "null" + description: The incident team's relationships. + additionalProperties: true + properties: + created_by: + type: + - object + - "null" + description: Relationship to user. + additionalProperties: true + properties: + data: + type: + - object + description: Relationship to user object. + additionalProperties: true + properties: + type: + type: + - string + description: "Users resource type. Allowed enum values: users" + enum: + - users + id: + type: + - string + description: A unique identifier that represents the user. + last_modified_by: + type: + - object + - "null" + description: Relationship to user. + additionalProperties: true + properties: + data: + type: + - object + description: Relationship to user object. + additionalProperties: true + properties: + type: + type: + - string + description: "Users resource type. Allowed enum values: users" + enum: + - users + id: + type: + - string + description: A unique identifier that represents the user. + incidents: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + description: "Incident resource type. Allowed enum values: incidents" + enum: + - incidents + readOnly: true + attributes: + type: + - object + - "null" + description: The incident's attributes from a response. + additionalProperties: true + properties: + created: + type: + - string + - "null" + description: Timestamp when the incident was created. + format: date-time + customer_impact_duration: + type: + - integer + - "null" + description: >- + Length of the incident's customer impact in seconds. Equals the + difference between customer_impact_start and customer_impact_end. + customer_impact_end: + type: + - string + - "null" + description: Timestamp when customers were no longer impacted by the incident. + format: date-time + customer_impact_scope: + type: + - string + - "null" + description: A summary of the impact customers experienced during the incident. + customer_impact_start: + type: + - string + - "null" + description: Timestamp when customers began being impacted by the incident. + format: date-time + customer_impacted: + type: + - boolean + - "null" + description: A flag indicating whether the incident caused customer impact. + detected: + type: + - string + - "null" + description: Timestamp when the incident was detected. + format: date-time + fields: + type: + - object + - "null" + description: A condensed view of the user-defined fields attached to incidents. + additionalProperties: true + modified: + type: + - string + - "null" + description: Timestamp when the incident was last modified. + format: date-time + notification_handles: + type: + - array + - "null" + description: >- + Notification handles that will be notified of the incident during + update. + items: + type: object + public_id: + type: + - integer + - "null" + description: The monotonically increasing integer ID for the incident. + resolved: + type: + - string + - "null" + description: >- + Timestamp when the incident's state was last changed from active + or stable to resolved or completed. + format: date-time + time_to_detect: + type: + - integer + - "null" + description: >- + The amount of time in seconds to detect the incident. Equals the + difference between customer_impact_start and detected. + time_to_internal_response: + type: + - integer + - "null" + description: >- + The amount of time in seconds to call incident after detection. + Equals the difference of detected and created. + time_to_repair: + type: + - integer + - "null" + description: >- + The amount of time in seconds to resolve customer impact after + detecting the issue. Equals the difference between + customer_impact_end and detected. + time_to_resolve: + type: + - integer + - "null" + description: >- + The amount of time in seconds to resolve the incident after it was + created. Equals the difference between created and resolved. + title: + type: + - string + description: The title of the incident, which summarizes what happened. + id: + type: + - string + description: The incident's ID. + readOnly: true + relationships: + type: + - object + - "null" + description: The incident's relationships from a response. + additionalProperties: true + properties: + attachments: + type: + - object + - "null" + description: A relationship reference for attachments. + additionalProperties: true + commander_user: + type: + - object + - "null" + description: Relationship to user. + additionalProperties: true + created_by_user: + type: + - object + - "null" + description: Relationship to user. + additionalProperties: true + integrations: + type: + - object + - "null" + description: >- + A relationship reference for multiple integration metadata + objects. + additionalProperties: true + last_modified_by_user: + type: + - object + - "null" + description: Relationship to user. + additionalProperties: true + logs: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + description: "Type of the event. Allowed enum values: log" + enum: + - log + readOnly: true + attributes: + type: + - object + - "null" + description: JSON object containing all log attributes and their associated values. + additionalProperties: true + properties: + attributes: + type: + - object + - "null" + description: JSON object of attributes from your log. + additionalProperties: true + host: + type: + - string + - "null" + description: Name of the machine from where the logs are being sent. + message: + type: + - string + - "null" + description: The message reserved attribute of your log. + service: + type: + - string + - "null" + description: The name of the application or service generating the log events. + status: + type: + - string + - "null" + description: Status of the message associated with your log. + tags: + type: + - array + - "null" + description: Array of tags associated with your log. + items: + type: string + timestamp: + type: + - string + - "null" + description: Timestamp of your log. + format: date-time + id: + type: + - string + - "null" + description: Unique ID of the Log. + readOnly: true + sync_date: + type: + - "null" + - string + metrics: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + description: The metric resource type. + id: + type: + - "null" + - string + description: The metric name for this resource. + monitors: + type: + - object + - "null" + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + created: + type: + - string + - "null" + created_at: + type: + - integer + - "null" + creator: + type: + - object + - "null" + additionalProperties: true + properties: + email: + type: + - string + - "null" + handle: + type: + - string + - "null" + name: + type: + - string + - "null" + deleted: + type: + - string + - "null" + id: + type: + - integer + - "null" + matching_downtimes: + type: + - array + - "null" + items: + type: + - object + - "null" + additionalProperties: true + properties: + end: + type: + - integer + - "null" + id: + type: + - integer + - "null" + scope: + type: + - array + - "null" + items: + type: + - string + - "null" + start: + type: + - integer + - "null" + message: + type: + - string + - "null" + modified: + type: + - string + - "null" + multi: + type: + - boolean + - "null" + name: + type: + - string + - "null" + options: + type: + - object + - "null" + additionalProperties: true + properties: + aggregation: + type: + - object + - "null" + additionalProperties: true + properties: + type: + type: + - string + - "null" + groupBy: + type: + - array + - "null" + items: + type: + - string + - "null" + metric: + type: + - string + - "null" + device_ids: + type: + - array + - "null" + items: + type: + - string + - "null" + enable_logs_sample: + type: + - boolean + - "null" + enable_samples: + type: + - boolean + - "null" + escalation_message: + type: + - string + - "null" + evaluation_delay: + type: + - integer + - "null" + group_retention_duration: + type: + - string + - "null" + groupby_simple_monitor: + type: + - boolean + - "null" + include_tags: + type: + - boolean + - "null" + locked: + type: + - boolean + - "null" + new_group_delay: + type: + - integer + - "null" + new_host_delay: + type: + - integer + - "null" + no_data_timeframe: + type: + - integer + - "null" + notification_preset_name: + type: + - string + - "null" + notify_audit: + type: + - boolean + - "null" + notify_by: + type: + - array + - "null" + items: + type: + - string + - "null" + notify_no_data: + type: + - boolean + - "null" + on_missing_data: + type: + - string + - "null" + renotify_interval: + type: + - integer + - "null" + renotify_occurrences: + type: + - integer + - "null" + renotify_statuses: + type: + - array + - "null" + items: + type: + - string + - "null" + require_full_window: + type: + - boolean + - "null" + scheduling_options: + type: + - object + - "null" + additionalProperties: true + properties: + evaluation_window: + type: + - object + - "null" + additionalProperties: true + properties: + day_starts: + type: + - string + - "null" + hour_starts: + type: + - string + - "null" + month_starts: + type: + - integer + - "null" + silenced: + patternProperties: + .+: + type: + - integer + - "null" + synthetics_check_id: + type: + - string + - "null" + threshold_windows: + type: + - object + - "null" + additionalProperties: true + properties: + recovery_window: + type: + - string + - "null" + trigger_window: + type: + - string + - "null" + thresholds: + type: + - object + - "null" + additionalProperties: true + properties: + critical: + type: + - number + - "null" + critical_recovery: + type: + - number + - "null" + ok: + type: + - number + - "null" + unknown: + type: + - number + - "null" + warning: + type: + - number + - "null" + warning_recovery: + type: + - number + - "null" + timeout_h: + type: + - integer + - "null" + variables: + type: + - array + - "null" + items: + type: + - object + - "null" + additionalProperties: true + properties: + compute: + type: + - object + - "null" + additionalProperties: true + properties: + aggregation: + type: + - string + - "null" + interval: + type: + - integer + - "null" + metric: + type: + - string + - "null" + data_source: + type: + - string + - "null" + group_by: + type: + - array + - "null" + items: + type: + - object + - "null" + additionalProperties: true + properties: + facet: + type: + - string + - "null" + limit: + type: + - integer + - "null" + sort: + type: + - object + - "null" + additionalProperties: true + properties: + aggregation: + type: + - string + - "null" + metric: + type: + - string + - "null" + order: + type: + - string + - "null" + indexes: + type: + - array + - "null" + items: + type: + - string + - "null" + name: + type: + - string + - "null" + search: + type: + - object + - "null" + additionalProperties: true + properties: + query: + type: + - string + - "null" + org_id: + type: + - integer + - "null" + overall_state: + type: + - string + - "null" + overall_state_modified: + type: + - string + - "null" + priority: + type: + - integer + - "null" + query: + type: + - string + - "null" + restricted_roles: + type: + - array + - "null" + items: + type: + - string + - "null" + state: + type: + - object + - "null" + properties: + groups: + type: + - object + - "null" + patternProperties: + .+: + type: + - object + - "null" + properties: + last_nodata_ts: + type: + - integer + - "null" + last_notified_ts: + type: + - integer + - "null" + last_resolved_ts: + type: + - integer + - "null" + last_triggered_ts: + type: + - integer + - "null" + name: + type: + - string + - "null" + status: + type: + - string + - "null" + tags: + type: + - array + - "null" + items: + type: + - string + - "null" + service_level_objectives: + type: + - object + - "null" + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + description: + type: + - string + - "null" + created_at: + type: + - integer + - "null" + creator: + type: + - object + - "null" + additionalProperties: true + properties: + email: + type: + - string + - "null" + handle: + type: + - string + - "null" + name: + type: + - string + - "null" + groups: + type: + - array + - "null" + items: + type: + - string + - "null" + id: + type: + - string + - "null" + modified_at: + type: + - integer + - "null" + monitor_ids: + type: + - array + - "null" + items: + type: + - integer + - "null" + monitor_tags: + type: + - array + - "null" + items: + type: + - string + - "null" + name: + type: + - string + - "null" + query: + type: + - object + - "null" + additionalProperties: true + properties: + denominator: + type: + - string + - "null" + numerator: + type: + - string + - "null" + tags: + type: + - array + - "null" + items: + type: + - string + - "null" + target_threshold: + type: + - number + - "null" + thresholds: + type: + - array + - "null" + items: + type: + - object + - "null" + additionalProperties: true + properties: + target: + type: + - number + - "null" + target_display: + type: + - string + - "null" + timeframe: + type: + - string + - "null" + warning: + type: + - number + - "null" + warning_display: + type: + - string + - "null" + timeframe: + type: + - string + - "null" + type_id: + type: + - integer + - "null" + warning_threshold: + type: + - number + - "null" + synthetic_tests: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + description: >- + Type of the Synthetic test, either api or browser. Allowed enum + values: api,browser + enum: + - api + - browser + readOnly: true + config: + type: + - object + - "null" + description: Configuration object for a Synthetic test. + additionalProperties: true + created_at: + type: + - string + - "null" + description: Creation date of the Synthetic test. + format: date-time + readOnly: true + creator: + type: + - object + - "null" + description: Object describing the creator of the shared element. + additionalProperties: true + properties: + email: + type: + - string + - "null" + description: Email of the creator. + handle: + type: + - string + - "null" + description: Handle of the creator. + name: + type: + - string + - "null" + description: Name of the creator. + locations: + type: + - array + - "null" + description: Array of locations used to run the test. + items: + type: string + readOnly: true + message: + type: + - string + - "null" + description: Notification message associated with the test. + readOnly: true + modified_at: + type: + - string + - "null" + description: Creation date of the Synthetic test. + format: date-time + readOnly: true + monitor_id: + type: + - integer + - "null" + description: The associated monitor ID. + readOnly: true + name: + type: + - string + - "null" + description: Name of the test. + readOnly: true + options: + type: + - object + - "null" + description: Object describing the extra options for a Synthetic test. + additionalProperties: true + public_id: + type: + - string + - "null" + description: The test public ID. + readOnly: true + status: + type: + - string + - "null" + description: >- + Define whether you want to start (live) or pause (paused) a Synthetic + test. Allowed enum values: live,paused + enum: + - live + - paused + readOnly: true + steps: + type: + - object + - "null" + description: For browser test, the steps of the test. + additionalProperties: true + subtype: + type: + - string + - "null" + description: >- + The subtype of the Synthetic API test, http, ssl, tcp, dns, icmp, udp, + websocket, grpc or multi. Allowed enum values: + http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc + enum: + - http + - ssl + - tcp + - dns + - multi + - icmp + - udp + - websocket + - grpc + readOnly: true + tags: + type: + - array + - "null" + description: Array of tags attached to the test. + items: + type: string + readOnly: true + users: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + description: "Users resource type. Allowed enum values: users" + enum: + - users + readOnly: true + attributes: + type: + - object + - "null" + description: Attributes of user object returned by the API. + additionalProperties: true + properties: + created_at: + type: + - string + - "null" + description: Creation time of the user. + format: date-time + disabled: + type: + - boolean + - "null" + description: Whether the user is disabled. + email: + type: + - string + - "null" + description: Email of the user. + handle: + type: + - string + - "null" + description: Handle of the user. + icon: + type: + - string + - "null" + description: URL of the user's icon. + modified_at: + type: + - string + - "null" + description: Time that the user was last modified. + format: date-time + name: + type: + - string + - "null" + description: Name of the user. + service_account: + type: + - boolean + - "null" + description: Whether the user is a service account. + status: + type: + - string + - "null" + description: Status of the user. + title: + type: + - string + - "null" + description: Title of the user. + verified: + type: + - boolean + - "null" + description: Whether the user is verified. + id: + type: + - string + - "null" + description: ID of the user. + readOnly: true + relationships: + type: + - object + - "null" + description: Relationships of the user object returned by the API. + readOnly: true diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/audit_logs.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/audit_logs.json deleted file mode 100644 index f4d05f4a807f..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/audit_logs.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "attributes": { - "type": ["object", "null"], - "description": "JSON object containing all event attributes and their associated values.", - "properties": { - "attributes": { - "type": ["object", "null"], - "description": "JSON object of attributes from Audit Logs events.", - "additionalProperties": true - }, - "service": { - "type": ["string", "null"], - "description": "Name of the application or service generating Audit Logs events." - }, - "tags": { - "type": ["array", "null"], - "items": { - "type": "string" - }, - "description": "Array of tags associated with your event." - }, - "timestamp": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp of your event." - } - }, - "additionalProperties": true - }, - "id": { - "type": ["string", "null"], - "description": "Unique ID of the event.", - "readOnly": true - }, - "sync_date": { - "type": ["null", "string"] - }, - "type": { - "type": ["string", "null"], - "enum": ["audit"], - "description": "Type of the event. Allowed enum values: audit", - "readOnly": true - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/dashboards.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/dashboards.json deleted file mode 100644 index 14350c585a30..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/dashboards.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "author_handle": { - "type": ["string", "null"], - "description": "Identifier of the dashboard author.", - "readOnly": true - }, - "created_at": { - "type": ["string", "null"], - "format": "date-time", - "description": "Creation date of the dashboard.", - "readOnly": true - }, - "deleted_at": { - "type": ["string", "null"], - "format": "date-time", - "description": "Deletion date of the dashboard.", - "readOnly": true - }, - "description": { - "type": ["string", "null"], - "description": "Description of the dashboard.", - "readOnly": true - }, - "id": { - "type": ["string", "null"], - "description": "Dashboard identifier.", - "readOnly": true - }, - "is_read_only": { - "type": ["boolean", "null"], - "description": "Whether this dashboard is read-only. If True, only the author and admins can make changes to it.", - "readOnly": true - }, - "layout_type": { - "type": ["string", "null"], - "enum": ["ordered", "free"], - "description": "Layout type of the dashboard", - "readOnly": true - }, - "modified_at": { - "type": ["string", "null"], - "format": "date-time", - "description": "Modification date of the dashboard.", - "readOnly": true - }, - "title": { - "type": ["string", "null"], - "description": "Title of the dashboard.", - "readOnly": true - }, - "url": { - "type": ["string", "null"], - "description": "URL of the dashboard.", - "readOnly": true - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/downtimes.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/downtimes.json deleted file mode 100644 index c34ab884fba9..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/downtimes.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "active": { - "type": ["boolean", "null"], - "description": "If a scheduled downtime currently exists.", - "readOnly": true - }, - "active_child": { - "type": ["object", "null"], - "description": "The downtime object definition of the active child for the original parent recurring downtime.", - "additionalProperties": true - }, - "canceled": { - "type": ["integer", "null"], - "description": "If a scheduled downtime is canceled.", - "readOnly": true - }, - "child_id": { - "type": ["integer", "null"] - }, - "created": { - "type": ["integer", "null"] - }, - "creator_id": { - "type": ["integer", "null"], - "description": "User ID of the downtime creator.", - "readOnly": true - }, - "disabled": { - "type": ["boolean", "null"], - "description": "If a downtime has been disabled.", - "readOnly": true - }, - "downtime_type": { - "type": ["integer", "null"], - "description": "0 for a downtime applied on * or all, 1 when the downtime is only scoped to hosts, or 2 when the downtime is scoped to anything but hosts.", - "readOnly": true - }, - "end": { - "type": ["integer", "null"], - "description": "POSIX timestamp to end the downtime. If not provided, the downtime is in effect indefinitely until you cancel it.", - "readOnly": true - }, - "id": { - "type": ["integer", "null"], - "description": "The downtime ID.", - "readOnly": true - }, - "message": { - "type": ["string", "null"], - "description": "A message to include with notifications for this downtime.", - "readOnly": true - }, - "modified": { - "type": ["integer", "null"] - }, - "monitor_id": { - "type": ["integer", "null"], - "description": "A single monitor to which the downtime applies. If not provided, the downtime applies to all monitors.", - "readOnly": true - }, - "monitor_tags": { - "type": ["array", "null"], - "items": { - "type": "string" - }, - "description": "A comma-separated list of monitor tags.", - "readOnly": true - }, - "mute_first_recovery_notification": { - "type": ["boolean", "null"], - "description": "If the first recovery notification during a downtime should be muted.", - "readOnly": true - }, - "notify_end_states": { - "type": ["array", "null"], - "items": { - "type": "string" - } - }, - "notify_end_types": { - "type": ["array", "null"], - "items": { - "type": "string" - } - }, - "org_id": { - "type": ["integer", "null"] - }, - "parent_id": { - "type": ["integer", "null"], - "description": "ID of the parent Downtime.", - "readOnly": true - }, - "recurrence": { - "type": ["object", "null"], - "description": "An object defining the recurrence of the downtime.", - "additionalProperties": true - }, - "scope": { - "type": ["array", "null"], - "items": { - "type": "string" - }, - "description": "The scope(s) to which the downtime applies.", - "readOnly": true - }, - "start": { - "type": ["integer", "null"], - "description": "POSIX timestamp to start the downtime. If not provided, the downtime starts the moment it is created.", - "readOnly": true - }, - "status": { - "type": ["string", "null"] - }, - "timezone": { - "type": ["string", "null"], - "description": "The timezone in which to display the downtime's start and end times in Datadog applications.", - "readOnly": true - }, - "updater_id": { - "type": ["integer", "null"], - "description": "ID of the last user that updated the downtime.", - "readOnly": true - }, - "uuid": { - "type": ["string", "null"] - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/incident_teams.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/incident_teams.json deleted file mode 100644 index 3411ac94cfb4..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/incident_teams.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "attributes": { - "type": ["object", "null"], - "description": "The incident team's attributes from a response.", - "properties": { - "created": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp of when the incident team was created." - }, - "modified": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp of when the incident team was modified." - }, - "name": { - "type": ["string", "null"], - "description": "Name of the incident team." - } - }, - "additionalProperties": true - }, - "id": { - "type": ["string", "null"], - "description": "The incident team's ID.", - "readOnly": true - }, - "relationships": { - "type": ["object", "null"], - "description": "The incident team's relationships.", - "properties": { - "created_by": { - "type": ["object", "null"], - "description": "Relationship to user.", - "properties": { - "data": { - "type": ["object"], - "description": "Relationship to user object.", - "properties": { - "id": { - "type": ["string"], - "description": "A unique identifier that represents the user." - }, - "type": { - "type": ["string"], - "enum": ["users"], - "description": "Users resource type. Allowed enum values: users" - } - }, - "additionalProperties": true - } - }, - "additionalProperties": true - }, - "last_modified_by": { - "type": ["object", "null"], - "description": "Relationship to user.", - "properties": { - "data": { - "type": ["object"], - "description": "Relationship to user object.", - "properties": { - "id": { - "type": ["string"], - "description": "A unique identifier that represents the user." - }, - "type": { - "type": ["string"], - "enum": ["users"], - "description": "Users resource type. Allowed enum values: users" - } - }, - "additionalProperties": true - } - }, - "additionalProperties": true - } - }, - "additionalProperties": true - }, - "type": { - "type": ["string", "null"], - "enum": ["teams"], - "description": "Incident Team resource type. Allowed enum values: teams", - "readOnly": true - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/incidents.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/incidents.json deleted file mode 100644 index 91b29ea4a799..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/incidents.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "attributes": { - "type": ["object", "null"], - "description": "The incident's attributes from a response.", - "properties": { - "created": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp when the incident was created." - }, - "customer_impact_duration": { - "type": ["integer", "null"], - "description": "Length of the incident's customer impact in seconds. Equals the difference between customer_impact_start and customer_impact_end." - }, - "customer_impact_end": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp when customers were no longer impacted by the incident." - }, - "customer_impact_scope": { - "type": ["string", "null"], - "description": "A summary of the impact customers experienced during the incident." - }, - "customer_impact_start": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp when customers began being impacted by the incident." - }, - "customer_impacted": { - "type": ["boolean", "null"], - "description": "A flag indicating whether the incident caused customer impact." - }, - "detected": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp when the incident was detected." - }, - "fields": { - "type": ["object", "null"], - "description": "A condensed view of the user-defined fields attached to incidents.", - "additionalProperties": true - }, - "modified": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp when the incident was last modified." - }, - "notification_handles": { - "type": ["array", "null"], - "items": { - "type": "object" - }, - "description": "Notification handles that will be notified of the incident during update." - }, - "public_id": { - "type": ["integer", "null"], - "description": "The monotonically increasing integer ID for the incident." - }, - "resolved": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp when the incident's state was last changed from active or stable to resolved or completed." - }, - "time_to_detect": { - "type": ["integer", "null"], - "description": "The amount of time in seconds to detect the incident. Equals the difference between customer_impact_start and detected." - }, - "time_to_internal_response": { - "type": ["integer", "null"], - "description": "The amount of time in seconds to call incident after detection. Equals the difference of detected and created." - }, - "time_to_repair": { - "type": ["integer", "null"], - "description": "The amount of time in seconds to resolve customer impact after detecting the issue. Equals the difference between customer_impact_end and detected." - }, - "time_to_resolve": { - "type": ["integer", "null"], - "description": "The amount of time in seconds to resolve the incident after it was created. Equals the difference between created and resolved." - }, - "title": { - "type": ["string"], - "description": "The title of the incident, which summarizes what happened." - } - }, - "additionalProperties": true - }, - "id": { - "type": ["string"], - "description": "The incident's ID.", - "readOnly": true - }, - "relationships": { - "type": ["object", "null"], - "description": "The incident's relationships from a response.", - "properties": { - "attachments": { - "type": ["object", "null"], - "description": "A relationship reference for attachments.", - "additionalProperties": true - }, - "commander_user": { - "type": ["object", "null"], - "description": "Relationship to user.", - "additionalProperties": true - }, - "created_by_user": { - "type": ["object", "null"], - "description": "Relationship to user.", - "additionalProperties": true - }, - "integrations": { - "type": ["object", "null"], - "description": "A relationship reference for multiple integration metadata objects.", - "additionalProperties": true - }, - "last_modified_by_user": { - "type": ["object", "null"], - "description": "Relationship to user.", - "additionalProperties": true - } - }, - "additionalProperties": true - }, - "type": { - "type": ["string"], - "enum": ["incidents"], - "description": "Incident resource type. Allowed enum values: incidents", - "readOnly": true - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/logs.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/logs.json deleted file mode 100644 index 1e1d2bc70818..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/logs.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "attributes": { - "type": ["object", "null"], - "description": "JSON object containing all log attributes and their associated values.", - "properties": { - "attributes": { - "type": ["object", "null"], - "description": "JSON object of attributes from your log.", - "additionalProperties": true - }, - "host": { - "type": ["string", "null"], - "description": "Name of the machine from where the logs are being sent." - }, - "message": { - "type": ["string", "null"], - "description": "The message reserved attribute of your log." - }, - "service": { - "type": ["string", "null"], - "description": "The name of the application or service generating the log events." - }, - "status": { - "type": ["string", "null"], - "description": "Status of the message associated with your log." - }, - "tags": { - "type": ["array", "null"], - "items": { - "type": "string" - }, - "description": "Array of tags associated with your log." - }, - "timestamp": { - "type": ["string", "null"], - "format": "date-time", - "description": "Timestamp of your log." - } - }, - "additionalProperties": true - }, - "id": { - "type": ["string", "null"], - "description": "Unique ID of the Log.", - "readOnly": true - }, - "sync_date": { - "type": ["null", "string"] - }, - "type": { - "type": ["string", "null"], - "enum": ["log"], - "description": "Type of the event. Allowed enum values: log", - "readOnly": true - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/metrics.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/metrics.json deleted file mode 100644 index ea7d6cc8cd1d..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/metrics.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "string"], - "description": "The metric name for this resource." - }, - "type": { - "type": ["null", "string"], - "description": "The metric resource type." - } - } -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/monitors.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/monitors.json deleted file mode 100644 index 7905aa2bc7fc..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/monitors.json +++ /dev/null @@ -1,374 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, - "properties": { - "created": { - "type": ["string", "null"] - }, - "created_at": { - "type": ["integer", "null"] - }, - "org_id": { - "type": ["integer", "null"] - }, - "overall_state_modified": { - "type": ["string", "null"] - }, - "creator": { - "additionalProperties": true, - "properties": { - "email": { - "type": ["string", "null"] - }, - "handle": { - "type": ["string", "null"] - }, - "name": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - }, - "deleted": { - "type": ["string", "null"] - }, - "id": { - "type": ["integer", "null"] - }, - "matching_downtimes": { - "items": { - "additionalProperties": true, - "properties": { - "end": { - "type": ["integer", "null"] - }, - "id": { - "type": ["integer", "null"] - }, - "scope": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "start": { - "type": ["integer", "null"] - } - }, - "type": ["object", "null"] - }, - "type": ["array", "null"] - }, - "message": { - "type": ["string", "null"] - }, - "modified": { - "type": ["string", "null"] - }, - "multi": { - "type": ["boolean", "null"] - }, - "name": { - "type": ["string", "null"] - }, - "options": { - "additionalProperties": true, - "properties": { - "aggregation": { - "additionalProperties": true, - "properties": { - "groupBy": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "metric": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - }, - "device_ids": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "enable_logs_sample": { - "type": ["boolean", "null"] - }, - "enable_samples": { - "type": ["boolean", "null"] - }, - "escalation_message": { - "type": ["string", "null"] - }, - "evaluation_delay": { - "type": ["integer", "null"] - }, - "group_retention_duration": { - "type": ["string", "null"] - }, - "groupby_simple_monitor": { - "type": ["boolean", "null"] - }, - "include_tags": { - "type": ["boolean", "null"] - }, - "locked": { - "type": ["boolean", "null"] - }, - "new_group_delay": { - "type": ["integer", "null"] - }, - "new_host_delay": { - "type": ["integer", "null"] - }, - "no_data_timeframe": { - "type": ["integer", "null"] - }, - "notification_preset_name": { - "type": ["string", "null"] - }, - "notify_audit": { - "type": ["boolean", "null"] - }, - "notify_by": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "notify_no_data": { - "type": ["boolean", "null"] - }, - "on_missing_data": { - "type": ["string", "null"] - }, - "renotify_interval": { - "type": ["integer", "null"] - }, - "renotify_occurrences": { - "type": ["integer", "null"] - }, - "renotify_statuses": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "require_full_window": { - "type": ["boolean", "null"] - }, - "scheduling_options": { - "additionalProperties": true, - "properties": { - "evaluation_window": { - "additionalProperties": true, - "properties": { - "day_starts": { - "type": ["string", "null"] - }, - "hour_starts": { - "type": ["string", "null"] - }, - "month_starts": { - "type": ["integer", "null"] - } - }, - "type": ["object", "null"] - } - }, - "type": ["object", "null"] - }, - "silenced": { - "patternProperties": { - ".+": { - "type": ["integer", "null"] - } - } - }, - "synthetics_check_id": { - "type": ["string", "null"] - }, - "threshold_windows": { - "additionalProperties": true, - "properties": { - "recovery_window": { - "type": ["string", "null"] - }, - "trigger_window": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - }, - "thresholds": { - "additionalProperties": true, - "properties": { - "critical": { - "type": ["number", "null"] - }, - "critical_recovery": { - "type": ["number", "null"] - }, - "ok": { - "type": ["number", "null"] - }, - "unknown": { - "type": ["number", "null"] - }, - "warning": { - "type": ["number", "null"] - }, - "warning_recovery": { - "type": ["number", "null"] - } - }, - "type": ["object", "null"] - }, - "timeout_h": { - "type": ["integer", "null"] - }, - "variables": { - "items": { - "additionalProperties": true, - "properties": { - "compute": { - "additionalProperties": true, - "properties": { - "aggregation": { - "type": ["string", "null"] - }, - "interval": { - "type": ["integer", "null"] - }, - "metric": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - }, - "data_source": { - "type": ["string", "null"] - }, - "group_by": { - "items": { - "additionalProperties": true, - "properties": { - "facet": { - "type": ["string", "null"] - }, - "limit": { - "type": ["integer", "null"] - }, - "sort": { - "additionalProperties": true, - "properties": { - "aggregation": { - "type": ["string", "null"] - }, - "metric": { - "type": ["string", "null"] - }, - "order": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - } - }, - "type": ["object", "null"] - }, - "type": ["array", "null"] - }, - "indexes": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "name": { - "type": ["string", "null"] - }, - "search": { - "additionalProperties": true, - "properties": { - "query": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - } - }, - "type": ["object", "null"] - }, - "type": ["array", "null"] - } - }, - "type": ["object", "null"] - }, - "overall_state": { - "type": ["string", "null"] - }, - "priority": { - "type": ["integer", "null"] - }, - "query": { - "type": ["string", "null"] - }, - "restricted_roles": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "state": { - "properties": { - "groups": { - "patternProperties": { - ".+": { - "properties": { - "last_nodata_ts": { - "type": ["integer", "null"] - }, - "last_notified_ts": { - "type": ["integer", "null"] - }, - "last_resolved_ts": { - "type": ["integer", "null"] - }, - "last_triggered_ts": { - "type": ["integer", "null"] - }, - "name": { - "type": ["string", "null"] - }, - "status": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - } - }, - "type": ["object", "null"] - } - }, - "type": ["object", "null"] - }, - "tags": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "type": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/service_level_objectives.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/service_level_objectives.json deleted file mode 100644 index f387885cf940..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/service_level_objectives.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, - "properties": { - "created_at": { - "type": ["integer", "null"] - }, - "creator": { - "additionalProperties": true, - "properties": { - "email": { - "type": ["string", "null"] - }, - "handle": { - "type": ["string", "null"] - }, - "name": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - }, - "description": { - "type": ["string", "null"] - }, - "groups": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "id": { - "type": ["string", "null"] - }, - "modified_at": { - "type": ["integer", "null"] - }, - "monitor_ids": { - "items": { - "type": ["integer", "null"] - }, - "type": ["array", "null"] - }, - "monitor_tags": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "name": { - "type": ["string", "null"] - }, - "query": { - "additionalProperties": true, - "properties": { - "denominator": { - "type": ["string", "null"] - }, - "numerator": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - }, - "tags": { - "items": { - "type": ["string", "null"] - }, - "type": ["array", "null"] - }, - "target_threshold": { - "type": ["number", "null"] - }, - "thresholds": { - "items": { - "additionalProperties": true, - "properties": { - "target": { - "type": ["number", "null"] - }, - "target_display": { - "type": ["string", "null"] - }, - "timeframe": { - "type": ["string", "null"] - }, - "warning": { - "type": ["number", "null"] - }, - "warning_display": { - "type": ["string", "null"] - } - }, - "type": ["object", "null"] - }, - "type": ["array", "null"] - }, - "timeframe": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "type_id": { - "type": ["integer", "null"] - }, - "warning_threshold": { - "type": ["number", "null"] - } - }, - "type": ["object", "null"] -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/synthetic_tests.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/synthetic_tests.json deleted file mode 100644 index d9e26f003a1f..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/synthetic_tests.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "config": { - "type": ["object", "null"], - "description": "Configuration object for a Synthetic test.", - "additionalProperties": true - }, - "created_at": { - "type": ["string", "null"], - "format": "date-time", - "description": "Creation date of the Synthetic test.", - "readOnly": true - }, - "creator": { - "type": ["object", "null"], - "description": "Object describing the creator of the shared element.", - "properties": { - "email": { - "type": ["string", "null"], - "description": "Email of the creator." - }, - "handle": { - "type": ["string", "null"], - "description": "Handle of the creator." - }, - "name": { - "type": ["string", "null"], - "description": "Name of the creator." - } - }, - "additionalProperties": true - }, - "locations": { - "type": ["array", "null"], - "items": { - "type": "string" - }, - "description": "Array of locations used to run the test.", - "readOnly": true - }, - "message": { - "type": ["string", "null"], - "description": "Notification message associated with the test.", - "readOnly": true - }, - "modified_at": { - "type": ["string", "null"], - "format": "date-time", - "description": "Creation date of the Synthetic test.", - "readOnly": true - }, - "monitor_id": { - "type": ["integer", "null"], - "description": "The associated monitor ID.", - "readOnly": true - }, - "name": { - "type": ["string", "null"], - "description": "Name of the test.", - "readOnly": true - }, - "options": { - "type": ["object", "null"], - "description": "Object describing the extra options for a Synthetic test.", - "additionalProperties": true - }, - "public_id": { - "type": ["string", "null"], - "description": "The test public ID.", - "readOnly": true - }, - "status": { - "type": ["string", "null"], - "enum": ["live", "paused"], - "description": "Define whether you want to start (live) or pause (paused) a Synthetic test. Allowed enum values: live,paused", - "readOnly": true - }, - "steps": { - "type": ["object", "null"], - "description": "For browser test, the steps of the test.", - "additionalProperties": true - }, - "subtype": { - "type": ["string", "null"], - "enum": [ - "http", - "ssl", - "tcp", - "dns", - "multi", - "icmp", - "udp", - "websocket", - "grpc" - ], - "description": "The subtype of the Synthetic API test, http, ssl, tcp, dns, icmp, udp, websocket, grpc or multi. Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc", - "readOnly": true - }, - "tags": { - "type": ["array", "null"], - "items": { - "type": "string" - }, - "description": "Array of tags attached to the test.", - "readOnly": true - }, - "type": { - "type": ["string", "null"], - "enum": ["api", "browser"], - "description": "Type of the Synthetic test, either api or browser. Allowed enum values: api,browser", - "readOnly": true - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/users.json b/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/users.json deleted file mode 100644 index d9d80590a4f4..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/schemas/users.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "attributes": { - "type": ["object", "null"], - "description": "Attributes of user object returned by the API.", - "properties": { - "created_at": { - "type": ["string", "null"], - "format": "date-time", - "description": "Creation time of the user." - }, - "disabled": { - "type": ["boolean", "null"], - "description": "Whether the user is disabled." - }, - "email": { - "type": ["string", "null"], - "description": "Email of the user." - }, - "handle": { - "type": ["string", "null"], - "description": "Handle of the user." - }, - "icon": { - "type": ["string", "null"], - "description": "URL of the user's icon." - }, - "modified_at": { - "type": ["string", "null"], - "format": "date-time", - "description": "Time that the user was last modified." - }, - "name": { - "type": ["string", "null"], - "description": "Name of the user." - }, - "service_account": { - "type": ["boolean", "null"], - "description": "Whether the user is a service account." - }, - "status": { - "type": ["string", "null"], - "description": "Status of the user." - }, - "title": { - "type": ["string", "null"], - "description": "Title of the user." - }, - "verified": { - "type": ["boolean", "null"], - "description": "Whether the user is verified." - } - }, - "additionalProperties": true - }, - "id": { - "type": ["string", "null"], - "description": "ID of the user.", - "readOnly": true - }, - "relationships": { - "type": ["object", "null"], - "description": "Relationships of the user object returned by the API.", - "readOnly": true - }, - "type": { - "type": ["string", "null"], - "enum": ["users"], - "description": "Users resource type. Allowed enum values: users", - "readOnly": true - } - }, - "additionalProperties": true -} diff --git a/airbyte-integrations/connectors/source-datadog/source_datadog/spec.yaml b/airbyte-integrations/connectors/source-datadog/source_datadog/spec.yaml deleted file mode 100644 index 897f8e20b54d..000000000000 --- a/airbyte-integrations/connectors/source-datadog/source_datadog/spec.yaml +++ /dev/null @@ -1,100 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/datadog -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Datadog Source Spec - type: object - required: - - api_key - - application_key - additionalProperties: true - properties: - api_key: - title: API Key - description: Datadog API key - type: string - airbyte_secret: true - order: 1 - application_key: - title: Application Key - description: Datadog application key - type: string - airbyte_secret: true - order: 2 - query: - title: Query - description: The search query. This just applies to Incremental syncs. If empty, it'll collect all logs. - type: string - order: 3 - start_date: - title: Start date - pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ - description: >- - UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will - not be replicated. This just applies to Incremental syncs. - type: string - examples: - - "2022-10-01T00:00:00Z" - order: 4 - site: - title: Site - description: The site where Datadog data resides in. - type: string - enum: - [ - "datadoghq.com", - "us3.datadoghq.com", - "us5.datadoghq.com", - "datadoghq.eu", - "ddog-gov.com", - ] - default: "datadoghq.com" - order: 5 - end_date: - title: End date - pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ - description: >- - UTC date and time in the format 2017-01-25T00:00:00Z. Data after this date will - not be replicated. An empty value will represent the current datetime for each - execution. This just applies to Incremental syncs. - examples: - - "2022-10-01T00:00:00Z" - type: string - order: 6 - max_records_per_request: - type: integer - title: Max records per requests - default: 5000 - minimum: 1 - maximum: 5000 - description: Maximum number of records to collect per request. - order: 7 - queries: - title: Queries - description: >- - List of queries to be run and used as inputs. - type: array - order: 8 - default: [] - items: - type: object - required: - - name - - data_source - - query - properties: - name: - title: Query Name - description: The variable name for use in queries. - type: string - order: 1 - data_source: - title: Data Source - description: A data source that is powered by the platform. - type: string - enum: ["metrics", "cloud_cost", "logs", "rum"] - order: 2 - query: - title: Query - description: A classic query string. - type: string - order: 3 diff --git a/docs/integrations/sources/datadog-migrations.md b/docs/integrations/sources/datadog-migrations.md new file mode 100644 index 000000000000..8e062936404e --- /dev/null +++ b/docs/integrations/sources/datadog-migrations.md @@ -0,0 +1,5 @@ +# Datadog Migration Guide + +## Upgrading to 1.0.0 + +Starting 1.0, Datadog source will apply start and end dates to sync data incrementally. When upgrading, take a minute to set start and end date config options. diff --git a/docs/integrations/sources/datadog.md b/docs/integrations/sources/datadog.md index 58f9c202701c..54c3dcc9b730 100644 --- a/docs/integrations/sources/datadog.md +++ b/docs/integrations/sources/datadog.md @@ -76,6 +76,7 @@ The Datadog source connector supports the following [sync modes](https://docs.ai | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:-----------------------------------------------------------------------------| +| 1.0.0 | 2024-08-19 | [44371](https://github.com/airbytehq/airbyte/pull/44371) | Update CDK version and dependencies, remove parameters and migrate to inline schemas | | 0.4.15 | 2024-08-17 | [44313](https://github.com/airbytehq/airbyte/pull/44313) | Update dependencies | | 0.4.14 | 2024-08-12 | [43741](https://github.com/airbytehq/airbyte/pull/43741) | Update dependencies | | 0.4.13 | 2024-08-10 | [43555](https://github.com/airbytehq/airbyte/pull/43555) | Update dependencies |