diff --git a/.generator/poetry.lock b/.generator/poetry.lock index 08eb591c24a2..5ead8f931a05 100644 --- a/.generator/poetry.lock +++ b/.generator/poetry.lock @@ -2,14 +2,14 @@ [[package]] name = "click" -version = "8.1.7" +version = "8.2.1" description = "Composable command line interface toolkit" optional = false -python-versions = ">=3.7" +python-versions = ">=3.10" groups = ["main"] files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, + {file = "click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"}, + {file = "click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202"}, ] [package.dependencies] @@ -30,30 +30,33 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.2.0" +version = "1.3.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["main"] markers = "python_version < \"3.11\"" files = [ - {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, - {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, + {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"}, + {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} + [package.extras] test = ["pytest (>=6)"] [[package]] name = "iniconfig" -version = "2.0.0" +version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" groups = ["main"] files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, + {file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760"}, + {file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7"}, ] [[package]] @@ -88,14 +91,14 @@ files = [ [[package]] name = "mako" -version = "1.3.0" +version = "1.3.10" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "Mako-1.3.0-py3-none-any.whl", hash = "sha256:57d4e997349f1a92035aa25c17ace371a4213f2ca42f99bee9a602500cfd54d9"}, - {file = "Mako-1.3.0.tar.gz", hash = "sha256:e3a9d388fd00e87043edbe8792f45880ac0114e9c4adc69f6e9bfb2c55e3b11b"}, + {file = "mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59"}, + {file = "mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28"}, ] [package.dependencies] @@ -108,108 +111,109 @@ testing = ["pytest"] [[package]] name = "markupsafe" -version = "2.1.3" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] name = "packaging" -version = "23.2" +version = "25.0" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" groups = ["main"] files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, ] [[package]] name = "parse" -version = "1.20.0" +version = "1.20.2" description = "parse() is the opposite of format()" optional = false python-versions = "*" groups = ["main"] files = [ - {file = "parse-1.20.0-py2.py3-none-any.whl", hash = "sha256:5e171b001452fa9f004c5a58a93525175468daf69b493e9fa915347ed7ff6968"}, - {file = "parse-1.20.0.tar.gz", hash = "sha256:bd28bae37714b45d5894d77160a16e2be36b64a3b618c81168b3684676aa498b"}, + {file = "parse-1.20.2-py2.py3-none-any.whl", hash = "sha256:967095588cb802add9177d0c0b6133b5ba33b1ea9007ca800e526f42a85af558"}, + {file = "parse-1.20.2.tar.gz", hash = "sha256:b41d604d16503c79d81af5165155c0b20f6c8d6c559efa66b4b695c3e5a0a0ce"}, ] [[package]] name = "parse-type" -version = "0.6.2" +version = "0.6.6" description = "Simplifies to build parse types based on the parse module" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*" +python-versions = "!=3.0.*,!=3.1.*,>=2.7" groups = ["main"] files = [ - {file = "parse_type-0.6.2-py2.py3-none-any.whl", hash = "sha256:06d39a8b70fde873eb2a131141a0e79bb34a432941fb3d66fad247abafc9766c"}, - {file = "parse_type-0.6.2.tar.gz", hash = "sha256:79b1f2497060d0928bc46016793f1fca1057c4aacdf15ef876aa48d75a73a355"}, + {file = "parse_type-0.6.6-py2.py3-none-any.whl", hash = "sha256:3ca79bbe71e170dfccc8ec6c341edfd1c2a0fc1e5cfd18330f93af938de2348c"}, + {file = "parse_type-0.6.6.tar.gz", hash = "sha256:513a3784104839770d690e04339a8b4d33439fcd5dd99f2e4580f9fc1097bfb2"}, ] [package.dependencies] @@ -217,36 +221,36 @@ parse = {version = ">=1.18.0", markers = "python_version >= \"3.0\""} six = ">=1.15" [package.extras] -develop = ["build (>=0.5.1)", "coverage (>=4.4)", "pylint", "pytest (<5.0) ; python_version < \"3.0\"", "pytest (>=5.0) ; python_version >= \"3.0\"", "pytest-cov", "pytest-html (>=1.19.0)", "ruff ; python_version >= \"3.7\"", "tox (>=2.8,<4.0)", "twine (>=1.13.0)", "virtualenv (<20.22.0) ; python_version <= \"3.6\"", "virtualenv (>=20.0.0) ; python_version > \"3.6\""] -docs = ["Sphinx (>=1.6)", "sphinx-bootstrap-theme (>=0.6.0)"] +develop = ["build (>=0.5.1)", "coverage (>=4.4)", "pylint", "pytest (<5.0) ; python_version < \"3.0\"", "pytest (>=5.0) ; python_version >= \"3.0\"", "pytest-cov", "pytest-html (>=1.19.0)", "ruff ; python_version >= \"3.7\"", "setuptools", "setuptools-scm", "tox (>=2.8,<4.0)", "twine (>=1.13.0)", "virtualenv (<20.22.0) ; python_version <= \"3.6\"", "virtualenv (>=20.0.0) ; python_version > \"3.6\"", "wheel"] +docs = ["Sphinx (>=1.6)", "sphinx_bootstrap_theme (>=0.6.0)"] testing = ["pytest (<5.0) ; python_version < \"3.0\"", "pytest (>=5.0) ; python_version >= \"3.0\"", "pytest-html (>=1.19.0)"] [[package]] name = "pluggy" -version = "1.3.0" +version = "1.6.0" description = "plugin and hook calling mechanisms for python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, + {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, + {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, ] [package.extras] dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +testing = ["coverage", "pytest", "pytest-benchmark"] [[package]] name = "pytest" -version = "7.4.3" +version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, - {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] @@ -281,14 +285,14 @@ typing-extensions = "*" [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" groups = ["main"] files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -296,100 +300,132 @@ six = ">=1.5" [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" groups = ["main"] files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" groups = ["main"] files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] name = "tomli" -version = "2.0.1" +version = "2.2.1" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" groups = ["main"] markers = "python_version < \"3.11\"" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, + {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, + {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, + {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, + {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, + {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, + {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, + {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, + {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] [[package]] name = "typing-extensions" -version = "4.9.0" -description = "Backported and Experimental Type Hints for Python 3.8+" +version = "4.15.0" +description = "Backported and Experimental Type Hints for Python 3.9+" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, - {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, + {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, + {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, ] [metadata] diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index f5051733337c..a1335722ca47 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -3288,15 +3288,19 @@ components: example: https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL type: string cloud_run_revision_filters: - description: 'Limit the Cloud Run revisions that are pulled into Datadog - by using tags. + deprecated: true + description: 'List of filters to limit the Cloud Run revisions that are + pulled into Datadog by using tags. Only Cloud Run revision resources that apply to specified filters are - imported into Datadog.' + imported into Datadog. + + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` + with `type=cloud_run_revision`' example: - $KEY:$VALUE items: - description: Cloud Run Filters + description: Cloud Run revision filters type: string type: array errors: @@ -3309,11 +3313,16 @@ components: type: string type: array host_filters: - description: 'Limit the GCE instances that are pulled into Datadog by using - tags. + deprecated: true + description: 'A comma-separated list of filters to limit the VM instances + that are pulled into Datadog by using tags. - Only hosts that match one of the defined tags are imported into Datadog.' - example: key:value,filter:example + Only VM instance resources that apply to specified filters are imported + into Datadog. + + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` + with `type=gce_instance`' + example: $KEY1:$VALUE1,$KEY2:$VALUE2 type: string is_cspm_enabled: description: 'When enabled, Datadog will activate the Cloud Security Monitoring @@ -3334,6 +3343,15 @@ components: account.' example: true type: boolean + monitored_resource_configs: + description: Configurations for GCP monitored resources. + example: + - filters: + - $KEY:$VALUE + type: gce_instance + items: + $ref: '#/components/schemas/GCPMonitoredResourceConfig' + type: array private_key: description: Your private key name found in your JSON service account key. example: private_key @@ -3366,6 +3384,37 @@ components: items: $ref: '#/components/schemas/GCPAccount' type: array + GCPMonitoredResourceConfig: + description: Configuration for a GCP monitored resource. + properties: + filters: + description: 'List of filters to limit the monitored resources that are + pulled into Datadog by using tags. + + Only monitored resources that apply to specified filters are imported + into Datadog.' + example: + - $KEY:$VALUE + items: + description: A monitored resource filter + type: string + type: array + type: + $ref: '#/components/schemas/GCPMonitoredResourceConfigType' + type: object + GCPMonitoredResourceConfigType: + description: The GCP monitored resource type. Only a subset of resource types + are supported. + enum: + - cloud_function + - cloud_run_revision + - gce_instance + example: gce_instance + type: string + x-enum-varnames: + - CLOUD_FUNCTION + - CLOUD_RUN_REVISION + - GCE_INSTANCE GeomapWidgetDefinition: description: This visualization displays a series of values by country on a world map. @@ -27347,6 +27396,7 @@ paths: - hosts_read /api/v1/integration/aws: delete: + deprecated: true description: Delete a Datadog-AWS integration matching the specified `account_id` and `role_name parameters`. operationId: DeleteAWSAccount @@ -27393,6 +27443,7 @@ paths: permissions: - aws_configurations_manage get: + deprecated: true description: List all Datadog-AWS integrations available in your Datadog organization. operationId: ListAWSAccounts parameters: @@ -27443,6 +27494,7 @@ paths: permissions: - aws_configuration_read post: + deprecated: true description: 'Create a Datadog-Amazon Web Services integration. Using the `POST` method updates your integration configuration @@ -27494,6 +27546,7 @@ paths: permissions: - aws_configurations_manage put: + deprecated: true description: Update a Datadog-Amazon Web Services integration. operationId: UpdateAWSAccount parameters: @@ -27563,6 +27616,7 @@ paths: - aws_configuration_edit /api/v1/integration/aws/available_namespace_rules: get: + deprecated: true description: List all namespace rules for a given Datadog-AWS integration. This endpoint takes no arguments. operationId: ListAvailableAWSNamespaces @@ -27708,6 +27762,7 @@ paths: - manage_integrations /api/v1/integration/aws/filtering: delete: + deprecated: true description: Delete a tag filtering entry. operationId: DeleteAWSTagFilter requestBody: @@ -27749,6 +27804,7 @@ paths: permissions: - aws_configuration_edit get: + deprecated: true description: Get all AWS tag filters. operationId: ListAWSTagFilters parameters: @@ -27787,6 +27843,7 @@ paths: permissions: - aws_configuration_read post: + deprecated: true description: Set an AWS tag filter. operationId: CreateAWSTagFilter requestBody: @@ -27832,6 +27889,7 @@ paths: - aws_configuration_edit /api/v1/integration/aws/generate_new_external_id: put: + deprecated: true description: Generate a new AWS external ID for a given AWS account ID and role name pair. operationId: CreateNewAWSExternalID @@ -27917,6 +27975,7 @@ paths: permissions: - aws_configuration_edit get: + deprecated: true description: List all Datadog-AWS Logs integrations configured in your Datadog account. operationId: ListAWSLogsIntegrations @@ -28058,6 +28117,7 @@ paths: - aws_configuration_read /api/v1/integration/aws/logs/services: get: + deprecated: true description: Get the list of current AWS services that Datadog offers automatic log collection. Use returned service IDs with the services parameter for the Enable an AWS service log collection API endpoint. @@ -28100,6 +28160,7 @@ paths: permissions: - aws_configuration_read post: + deprecated: true description: Enable automatic log collection for a list of services. This should be run after running `CreateAWSLambdaARN` to save the configuration. operationId: EnableAWSLogServices diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index ce80244d2357..42b12a3fb056 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -485,6 +485,58 @@ components: required: true schema: type: string + IncidentNotificationRuleIDPathParameter: + description: The ID of the notification rule. + in: path + name: id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + IncidentNotificationRuleIncludeQueryParameter: + description: 'Comma-separated list of resources to include. Supported values: + `created_by_user`, `last_modified_by_user`, `incident_type`, `notification_template` + + ' + explode: false + in: query + name: include + required: false + schema: + example: created_by_user,incident_type,notification_template + type: string + IncidentNotificationTemplateIDPathParameter: + description: The ID of the notification template. + in: path + name: id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + IncidentNotificationTemplateIncidentTypeFilterQueryParameter: + description: Optional incident type ID filter. + explode: false + in: query + name: filter[incident-type] + required: false + schema: + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + IncidentNotificationTemplateIncludeQueryParameter: + description: 'Comma-separated list of relationships to include. Supported values: + `created_by_user`, `last_modified_by_user`, `incident_type` + + ' + explode: false + in: query + name: include + required: false + schema: + example: created_by_user,incident_type + type: string IncidentSearchIncludeQueryParameter: description: Specifies which types of related objects should be included in the response. @@ -5743,6 +5795,33 @@ components: type: $ref: '#/components/schemas/FindingType' type: object + BulkPutAppsDatastoreItemsRequest: + description: Request to insert multiple items into a datastore in a single operation. + properties: + data: + $ref: '#/components/schemas/BulkPutAppsDatastoreItemsRequestData' + type: object + BulkPutAppsDatastoreItemsRequestData: + description: Data wrapper containing the items to insert and their configuration + for the bulk insert operation. + properties: + attributes: + $ref: '#/components/schemas/BulkPutAppsDatastoreItemsRequestDataAttributes' + type: + $ref: '#/components/schemas/DatastoreItemsDataType' + required: + - type + type: object + BulkPutAppsDatastoreItemsRequestDataAttributes: + description: Configuration for bulk inserting multiple items into a datastore. + properties: + conflict_mode: + $ref: '#/components/schemas/DatastoreItemConflictMode' + values: + $ref: '#/components/schemas/DatastoreItemValues' + required: + - values + type: object CIAppAggregateBucketValue: description: A bucket value, can either be a timeseries or a single value. oneOf: @@ -5915,7 +5994,7 @@ components: description: Request object. properties: data: - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData' + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataSingleOrArray' type: object CIAppCreatePipelineEventRequestAttributes: description: Attributes of the pipeline event to create. @@ -5951,6 +6030,16 @@ components: type: $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataType' type: object + CIAppCreatePipelineEventRequestDataArray: + description: Array of pipeline events to create in batch. + items: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData' + type: array + CIAppCreatePipelineEventRequestDataSingleOrArray: + description: Data of the pipeline events to create. + oneOf: + - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData' + - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataArray' CIAppCreatePipelineEventRequestDataType: default: cipipeline_resource_request description: Type of the event. @@ -10733,6 +10822,77 @@ components: - id - type type: object + CreateAppsDatastoreRequest: + description: Request to create a new datastore with specified configuration + and metadata. + properties: + data: + $ref: '#/components/schemas/CreateAppsDatastoreRequestData' + type: object + CreateAppsDatastoreRequestData: + description: Data wrapper containing the configuration needed to create a new + datastore. + properties: + attributes: + $ref: '#/components/schemas/CreateAppsDatastoreRequestDataAttributes' + id: + description: Optional ID for the new datastore. If not provided, one will + be generated automatically. + type: string + type: + $ref: '#/components/schemas/DatastoreDataType' + required: + - type + type: object + CreateAppsDatastoreRequestDataAttributes: + description: Configuration and metadata to create a new datastore. + properties: + description: + description: A human-readable description about the datastore. + type: string + name: + description: The display name for the new datastore. + example: datastore-name + type: string + org_access: + $ref: '#/components/schemas/CreateAppsDatastoreRequestDataAttributesOrgAccess' + primary_column_name: + $ref: '#/components/schemas/DatastoreAttributesPrimaryColumnName' + primary_key_generation_strategy: + $ref: '#/components/schemas/DatastorePrimaryKeyGenerationStrategy' + required: + - name + - primary_column_name + type: object + CreateAppsDatastoreRequestDataAttributesOrgAccess: + description: The organization access level for the datastore. For example, 'contributor'. + enum: + - contributor + - viewer + - manager + type: string + x-enum-varnames: + - CONTRIBUTOR + - VIEWER + - MANAGER + CreateAppsDatastoreResponse: + description: Response after successfully creating a new datastore, containing + the datastore's assigned ID. + properties: + data: + $ref: '#/components/schemas/CreateAppsDatastoreResponseData' + type: object + CreateAppsDatastoreResponseData: + description: The newly created datastore's data. + properties: + id: + description: The unique identifier assigned to the newly created datastore. + type: string + type: + $ref: '#/components/schemas/DatastoreDataType' + required: + - type + type: object CreateCustomFrameworkRequest: description: Request object to create a custom framework. properties: @@ -10820,6 +10980,22 @@ components: meta: $ref: '#/components/schemas/DataDeletionResponseMeta' type: object + CreateIncidentNotificationRuleRequest: + description: Create request for a notification rule. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationRuleCreateData' + required: + - data + type: object + CreateIncidentNotificationTemplateRequest: + description: Create request for a notification template. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationTemplateCreateData' + required: + - data + type: object CreateNotificationRuleParameters: description: Body of the notification rule create request. properties: @@ -12567,7 +12743,7 @@ components: type: string finished_at: description: Unix timestamp when the failure finished. It must be in nanoseconds, - milliseconds, or seconds, and it should not be older than 1 hour. + milliseconds, or seconds. example: 1693491984000000000 format: int64 type: integer @@ -13444,6 +13620,134 @@ components: required: - data type: object + Datastore: + description: A datastore's complete configuration and metadata. + properties: + data: + $ref: '#/components/schemas/DatastoreData' + type: object + DatastoreArray: + description: A collection of datastores returned by list operations. + properties: + data: + description: An array of datastore objects containing their configurations + and metadata. + items: + $ref: '#/components/schemas/DatastoreData' + type: array + required: + - data + type: object + DatastoreAttributesPrimaryColumnName: + description: "The name of the primary key column for this datastore. Primary + column names:\n - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm)\n + \ - Cannot exceed 63 characters" + example: '' + maxLength: 63 + type: string + DatastoreData: + description: Core information about a datastore, including its unique identifier + and attributes. + properties: + attributes: + $ref: '#/components/schemas/DatastoreDataAttributes' + id: + description: The unique identifier of the datastore. + type: string + type: + $ref: '#/components/schemas/DatastoreDataType' + required: + - type + type: object + DatastoreDataAttributes: + description: Detailed information about a datastore. + properties: + created_at: + description: Timestamp when the datastore was created. + format: date-time + type: string + creator_user_id: + description: The numeric ID of the user who created the datastore. + format: int64 + type: integer + creator_user_uuid: + description: The UUID of the user who created the datastore. + type: string + description: + description: A human-readable description about the datastore. + type: string + modified_at: + description: Timestamp when the datastore was last modified. + format: date-time + type: string + name: + description: The display name of the datastore. + type: string + org_id: + description: The ID of the organization that owns this datastore. + format: int64 + type: integer + primary_column_name: + $ref: '#/components/schemas/DatastoreAttributesPrimaryColumnName' + primary_key_generation_strategy: + $ref: '#/components/schemas/DatastorePrimaryKeyGenerationStrategy' + type: object + DatastoreDataType: + default: datastores + description: The resource type for datastores. + enum: + - datastores + example: datastores + type: string + x-enum-varnames: + - DATASTORES + DatastoreItemConflictMode: + description: How to handle conflicts when inserting items that already exist + in the datastore. + enum: + - fail_on_conflict + - overwrite_on_conflict + example: overwrite_on_conflict + type: string + x-enum-varnames: + - FAIL_ON_CONFLICT + - OVERWRITE_ON_CONFLICT + DatastoreItemValues: + description: An array of items to add to the datastore, where each item is a + set of key-value pairs representing the item's data. Up to 100 items can be + updated in a single request. + example: + - data: example data + key: value + - data: example data2 + key: value2 + items: + additionalProperties: {} + description: A single item's data as key-value pairs. Key names cannot exceed + 63 characters. + type: object + maxItems: 100 + type: array + DatastoreItemsDataType: + default: items + description: The resource type for datastore items. + enum: + - items + example: items + type: string + x-enum-varnames: + - ITEMS + DatastorePrimaryKeyGenerationStrategy: + description: Can be set to `uuid` to automatically generate primary keys when + new items are added. Default value is `none`, which requires you to supply + a primary key for each new item. + enum: + - none + - uuid + type: string + x-enum-varnames: + - NONE + - UUID Date: description: Date as Unix timestamp in milliseconds. example: 1722439510282 @@ -13469,6 +13773,59 @@ components: - id - type type: object + DeleteAppsDatastoreItemRequest: + description: Request to delete a specific item from a datastore by its primary + key. + properties: + data: + $ref: '#/components/schemas/DeleteAppsDatastoreItemRequestData' + type: object + DeleteAppsDatastoreItemRequestData: + description: Data wrapper containing the information needed to identify and + delete a specific datastore item. + properties: + attributes: + $ref: '#/components/schemas/DeleteAppsDatastoreItemRequestDataAttributes' + type: + $ref: '#/components/schemas/DatastoreItemsDataType' + required: + - type + type: object + DeleteAppsDatastoreItemRequestDataAttributes: + description: Attributes specifying which datastore item to delete by its primary + key. + properties: + id: + description: Optional unique identifier of the item to delete. + example: a7656bcc-51d4-4884-adf7-4d0d9a3e0633 + type: string + item_key: + description: The primary key value that identifies the item to delete. Cannot + exceed 256 characters. + example: primaryKey + maxLength: 256 + type: string + required: + - item_key + type: object + DeleteAppsDatastoreItemResponse: + description: Response from successfully deleting a datastore item. + properties: + data: + $ref: '#/components/schemas/DeleteAppsDatastoreItemResponseData' + type: object + DeleteAppsDatastoreItemResponseData: + description: Data containing the identifier of the datastore item that was successfully + deleted. + properties: + id: + description: The unique identifier of the item that was deleted. + type: string + type: + $ref: '#/components/schemas/DatastoreItemsDataType' + required: + - type + type: object DeleteAppsRequest: description: A request object for deleting multiple apps by ID. example: @@ -17626,6 +17983,37 @@ components: example: aiplatform type: string type: object + GCPMonitoredResourceConfig: + description: Configuration for a GCP monitored resource. + properties: + filters: + description: 'List of filters to limit the monitored resources that are + pulled into Datadog by using tags. + + Only monitored resources that apply to specified filters are imported + into Datadog.' + example: + - $KEY:$VALUE + items: + description: A monitored resource filter + type: string + type: array + type: + $ref: '#/components/schemas/GCPMonitoredResourceConfigType' + type: object + GCPMonitoredResourceConfigType: + description: The GCP monitored resource type. Only a subset of resource types + are supported. + enum: + - cloud_function + - cloud_run_revision + - gce_instance + example: gce_instance + type: string + x-enum-varnames: + - CLOUD_FUNCTION + - CLOUD_RUN_REVISION + - GCE_INSTANCE GCPSTSDelegateAccount: description: Datadog principal service account info. properties: @@ -17693,21 +18081,35 @@ components: example: datadog-service-account@test-project.iam.gserviceaccount.com type: string cloud_run_revision_filters: + deprecated: true description: 'List of filters to limit the Cloud Run revisions that are pulled into Datadog by using tags. Only Cloud Run revision resources that apply to specified filters are - imported into Datadog.' + imported into Datadog. + + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` + with `type=cloud_run_revision`' example: - $KEY:$VALUE items: - description: Cloud Run Filters + description: Cloud Run revision filters type: string type: array host_filters: - description: Your Host Filters. + deprecated: true + description: 'List of filters to limit the VM instances that are pulled + into Datadog by using tags. + + Only VM instance resources that apply to specified filters are imported + into Datadog. + + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` + with `type=gce_instance`' + example: + - $KEY:$VALUE items: - description: Host Filters + description: VM instance filters type: string type: array is_cspm_enabled: @@ -17743,6 +18145,15 @@ components: items: $ref: '#/components/schemas/GCPMetricNamespaceConfig' type: array + monitored_resource_configs: + description: Configurations for GCP monitored resources. + example: + - filters: + - $KEY:$VALUE + type: gce_instance + items: + $ref: '#/components/schemas/GCPMonitoredResourceConfig' + type: array resource_collection_enabled: description: When enabled, Datadog scans for all resources in your GCP environment. type: boolean @@ -18550,6 +18961,31 @@ components: required: - type type: object + GoogleMeetConfigurationReference: + description: A reference to a Google Meet Configuration resource. + nullable: true + properties: + data: + $ref: '#/components/schemas/GoogleMeetConfigurationReferenceData' + required: + - data + type: object + GoogleMeetConfigurationReferenceData: + description: The Google Meet configuration relationship data object. + nullable: true + properties: + id: + description: The unique identifier of the Google Meet configuration. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + description: The type of the Google Meet configuration. + example: google_meet_configurations + type: string + required: + - id + - type + type: object GreyNoiseAPIKey: description: The definition of the `GreyNoiseAPIKey` object. properties: @@ -18996,11 +19432,11 @@ components: type: string type: array hasOptionalGroupByFields: + default: false description: When false, events without a group-by value are ignored by the query. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. example: false - readOnly: true type: boolean metrics: description: Group of target fields to aggregate over when using the sum, @@ -19875,6 +20311,551 @@ components: example: '@test.user@test.com' type: string type: object + IncidentNotificationRule: + description: Response with a notification rule. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationRuleResponseData' + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationRuleIncludedItems' + type: array + required: + - data + type: object + IncidentNotificationRuleArray: + description: Response with notification rules. + properties: + data: + description: The `NotificationRuleArray` `data`. + items: + $ref: '#/components/schemas/IncidentNotificationRuleResponseData' + type: array + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationRuleIncludedItems' + type: array + meta: + $ref: '#/components/schemas/IncidentNotificationRuleArrayMeta' + required: + - data + type: object + IncidentNotificationRuleArrayMeta: + description: Response metadata. + properties: + pagination: + $ref: '#/components/schemas/IncidentNotificationRuleArrayMetaPage' + type: object + IncidentNotificationRuleArrayMetaPage: + description: Pagination metadata. + properties: + next_offset: + description: The offset for the next page of results. + example: 15 + format: int64 + type: integer + offset: + description: The current offset in the results. + example: 0 + format: int64 + type: integer + size: + description: The number of results returned per page. + example: 15 + format: int64 + type: integer + type: object + IncidentNotificationRuleAttributes: + description: The notification rule's attributes. + properties: + conditions: + $ref: '#/components/schemas/IncidentNotificationRuleConditions' + created: + description: Timestamp when the notification rule was created. + example: '2025-01-15T10:30:00Z' + format: date-time + readOnly: true + type: string + enabled: + description: Whether the notification rule is enabled. + example: true + type: boolean + handles: + $ref: '#/components/schemas/IncidentNotificationRuleHandles' + modified: + description: Timestamp when the notification rule was last modified. + example: '2025-01-15T14:45:00Z' + format: date-time + readOnly: true + type: string + renotify_on: + $ref: '#/components/schemas/IncidentNotificationRuleRenotifyOn' + trigger: + description: The trigger event for this notification rule. + example: incident_created_trigger + type: string + visibility: + $ref: '#/components/schemas/IncidentNotificationRuleAttributesVisibility' + required: + - conditions + - handles + - visibility + - trigger + - enabled + - created + - modified + type: object + IncidentNotificationRuleAttributesVisibility: + description: The visibility of the notification rule. + enum: + - all + - organization + - private + example: organization + type: string + x-enum-varnames: + - ALL + - ORGANIZATION + - PRIVATE + IncidentNotificationRuleConditions: + description: The conditions that trigger this notification rule. + example: + - field: severity + values: + - SEV-1 + - SEV-2 + items: + $ref: '#/components/schemas/IncidentNotificationRuleConditionsItems' + type: array + IncidentNotificationRuleConditionsItems: + description: A condition that must be met to trigger the notification rule. + properties: + field: + description: The incident field to evaluate + example: severity + type: string + values: + description: The value(s) to compare against. Multiple values are `ORed` + together. + example: + - SEV-1 + - SEV-2 + items: + type: string + type: array + required: + - field + - values + type: object + IncidentNotificationRuleCreateAttributes: + description: The attributes for creating a notification rule. + properties: + conditions: + $ref: '#/components/schemas/IncidentNotificationRuleConditions' + enabled: + default: false + description: Whether the notification rule is enabled. + example: true + type: boolean + handles: + $ref: '#/components/schemas/IncidentNotificationRuleHandles' + renotify_on: + $ref: '#/components/schemas/IncidentNotificationRuleRenotifyOn' + trigger: + description: The trigger event for this notification rule. + example: incident_created_trigger + type: string + visibility: + $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributesVisibility' + required: + - conditions + - handles + - trigger + type: object + IncidentNotificationRuleCreateAttributesVisibility: + description: The visibility of the notification rule. + enum: + - all + - organization + - private + example: organization + type: string + x-enum-varnames: + - ALL + - ORGANIZATION + - PRIVATE + IncidentNotificationRuleCreateData: + description: Notification rule data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributes' + relationships: + $ref: '#/components/schemas/IncidentNotificationRuleCreateDataRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationRuleType' + required: + - type + - attributes + type: object + IncidentNotificationRuleCreateDataRelationships: + description: The definition of `NotificationRuleCreateDataRelationships` object. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + notification_template: + $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplate' + type: object + IncidentNotificationRuleHandles: + description: The notification handles (targets) for this rule. + example: + - '@team-email@company.com' + - '@slack-channel' + items: + description: A notification handle (email, Slack channel, etc.). + type: string + type: array + IncidentNotificationRuleIncludedItems: + description: Objects related to a notification rule. + oneOf: + - $ref: '#/components/schemas/User' + - $ref: '#/components/schemas/IncidentTypeObject' + - $ref: '#/components/schemas/IncidentNotificationTemplateObject' + IncidentNotificationRuleRelationships: + description: The notification rule's resource relationships. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + notification_template: + $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplate' + type: object + IncidentNotificationRuleRenotifyOn: + description: List of incident fields that trigger re-notification when changed. + example: + - status + - severity + items: + description: An incident field name. + type: string + type: array + IncidentNotificationRuleResponseData: + description: Notification rule data from a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationRuleAttributes' + id: + description: The unique identifier of the notification rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationRuleRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationRuleType' + required: + - id + - type + type: object + IncidentNotificationRuleType: + description: Notification rules resource type. + enum: + - incident_notification_rules + example: incident_notification_rules + type: string + x-enum-varnames: + - INCIDENT_NOTIFICATION_RULES + IncidentNotificationRuleUpdateData: + description: Notification rule data for an update request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributes' + id: + description: The unique identifier of the notification rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationRuleCreateDataRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationRuleType' + required: + - id + - type + - attributes + type: object + IncidentNotificationTemplate: + description: Response with a notification template. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationTemplateResponseData' + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationTemplateIncludedItems' + type: array + required: + - data + type: object + IncidentNotificationTemplateArray: + description: Response with notification templates. + properties: + data: + description: The `NotificationTemplateArray` `data`. + items: + $ref: '#/components/schemas/IncidentNotificationTemplateResponseData' + type: array + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationTemplateIncludedItems' + type: array + meta: + $ref: '#/components/schemas/IncidentNotificationTemplateArrayMeta' + required: + - data + type: object + IncidentNotificationTemplateArrayMeta: + description: Response metadata. + properties: + page: + $ref: '#/components/schemas/IncidentNotificationTemplateArrayMetaPage' + type: object + IncidentNotificationTemplateArrayMetaPage: + description: Pagination metadata. + properties: + total_count: + description: Total number of notification templates. + example: 42 + format: int64 + type: integer + total_filtered_count: + description: Total number of notification templates matching the filter. + example: 15 + format: int64 + type: integer + type: object + IncidentNotificationTemplateAttributes: + description: The notification template's attributes. + properties: + category: + description: The category of the notification template. + example: alert + type: string + content: + description: The content body of the notification template. + example: 'An incident has been declared. + + + Title: {{incident.title}} + + Severity: {{incident.severity}} + + Affected Services: {{incident.services}} + + Status: {{incident.state}} + + + Please join the incident channel for updates.' + type: string + created: + description: Timestamp when the notification template was created. + example: '2025-01-15T10:30:00Z' + format: date-time + readOnly: true + type: string + modified: + description: Timestamp when the notification template was last modified. + example: '2025-01-15T14:45:00Z' + format: date-time + readOnly: true + type: string + name: + description: The name of the notification template. + example: Incident Alert Template + type: string + subject: + description: The subject line of the notification template. + example: '{{incident.severity}} Incident: {{incident.title}}' + type: string + required: + - name + - subject + - content + - category + - created + - modified + type: object + IncidentNotificationTemplateCreateAttributes: + description: The attributes for creating a notification template. + properties: + category: + description: The category of the notification template. + example: alert + type: string + content: + description: The content body of the notification template. + example: 'An incident has been declared. + + + Title: {{incident.title}} + + Severity: {{incident.severity}} + + Affected Services: {{incident.services}} + + Status: {{incident.state}} + + + Please join the incident channel for updates.' + type: string + name: + description: The name of the notification template. + example: Incident Alert Template + type: string + subject: + description: The subject line of the notification template. + example: '{{incident.severity}} Incident: {{incident.title}}' + type: string + required: + - name + - subject + - content + - category + type: object + IncidentNotificationTemplateCreateData: + description: Notification template data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateCreateAttributes' + relationships: + $ref: '#/components/schemas/IncidentNotificationTemplateCreateDataRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - type + - attributes + type: object + IncidentNotificationTemplateCreateDataRelationships: + description: The definition of `NotificationTemplateCreateDataRelationships` + object. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + type: object + IncidentNotificationTemplateIncludedItems: + description: Objects related to a notification template. + oneOf: + - $ref: '#/components/schemas/User' + - $ref: '#/components/schemas/IncidentTypeObject' + IncidentNotificationTemplateObject: + description: A notification template object for inclusion in other resources. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateAttributes' + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationTemplateRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - id + - type + type: object + IncidentNotificationTemplateRelationships: + description: The notification template's resource relationships. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentNotificationTemplateResponseData: + description: Notification template data from a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateAttributes' + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationTemplateRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - id + - type + type: object + IncidentNotificationTemplateType: + description: Notification templates resource type. + enum: + - notification_templates + example: notification_templates + type: string + x-enum-varnames: + - NOTIFICATION_TEMPLATES + IncidentNotificationTemplateUpdateAttributes: + description: The attributes to update on a notification template. + properties: + category: + description: The category of the notification template. + example: update + type: string + content: + description: The content body of the notification template. + example: 'Incident Status Update: + + + Title: {{incident.title}} + + New Status: {{incident.state}} + + Severity: {{incident.severity}} + + Services: {{incident.services}} + + Commander: {{incident.commander}} + + + For more details, visit the incident page.' + type: string + name: + description: The name of the notification template. + example: Incident Status Update Template + type: string + subject: + description: The subject line of the notification template. + example: 'Incident Update: {{incident.title}} - {{incident.state}}' + type: string + type: object + IncidentNotificationTemplateUpdateData: + description: Notification template data for an update request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateUpdateAttributes' + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - id + - type + type: object IncidentPostmortemType: default: incident_postmortems description: Incident postmortem resource type. @@ -21034,6 +22015,8 @@ components: description: The incident type's ID. example: 00000000-0000-0000-0000-000000000000 type: string + relationships: + $ref: '#/components/schemas/IncidentTypeRelationships' type: $ref: '#/components/schemas/IncidentTypeType' required: @@ -21064,6 +22047,21 @@ components: required: - data type: object + IncidentTypeRelationships: + additionalProperties: {} + description: The incident type's resource relationships. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + google_meet_configuration: + $ref: '#/components/schemas/GoogleMeetConfigurationReference' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + microsoft_teams_configuration: + $ref: '#/components/schemas/MicrosoftTeamsConfigurationReference' + zoom_configuration: + $ref: '#/components/schemas/ZoomConfigurationReference' + type: object IncidentTypeResponse: description: Incident type response data. properties: @@ -22260,6 +23258,125 @@ components: type: string x-enum-varnames: - ERROR_TRACKING_SEARCH_RESULT + ItemApiPayload: + description: A single datastore item with its content and metadata. + properties: + data: + $ref: '#/components/schemas/ItemApiPayloadData' + type: object + ItemApiPayloadArray: + description: A collection of datastore items with pagination and schema metadata. + properties: + data: + description: An array of datastore items with their content and metadata. + items: + $ref: '#/components/schemas/ItemApiPayloadData' + maxItems: 100 + type: array + meta: + $ref: '#/components/schemas/ItemApiPayloadMeta' + description: Metadata about the included items, including pagination info + and datastore schema. + required: + - data + type: object + ItemApiPayloadData: + description: Core data and metadata for a single datastore item. + properties: + attributes: + $ref: '#/components/schemas/ItemApiPayloadDataAttributes' + id: + description: The unique identifier of the datastore. + type: string + type: + $ref: '#/components/schemas/DatastoreItemsDataType' + required: + - type + type: object + ItemApiPayloadDataAttributes: + description: Metadata and content of a datastore item. + properties: + created_at: + description: Timestamp when the item was first created. + format: date-time + type: string + modified_at: + description: Timestamp when the item was last modified. + format: date-time + type: string + org_id: + description: The ID of the organization that owns this item. + format: int64 + type: integer + primary_column_name: + $ref: '#/components/schemas/DatastoreAttributesPrimaryColumnName' + signature: + description: A unique signature identifying this item version. + type: string + store_id: + description: The unique identifier of the datastore containing this item. + type: string + value: + $ref: '#/components/schemas/ItemApiPayloadDataAttributesValue' + type: object + ItemApiPayloadDataAttributesValue: + additionalProperties: {} + description: The data content (as key-value pairs) of a datastore item. + type: object + ItemApiPayloadMeta: + description: Additional metadata about a collection of datastore items, including + pagination and schema information. + properties: + page: + $ref: '#/components/schemas/ItemApiPayloadMetaPage' + schema: + $ref: '#/components/schemas/ItemApiPayloadMetaSchema' + type: object + ItemApiPayloadMetaPage: + description: Pagination information for a collection of datastore items. + properties: + hasMore: + description: Whether there are additional pages of items beyond the current + page. + type: boolean + totalCount: + description: The total number of items in the datastore, ignoring any filters. + format: int64 + type: integer + totalFilteredCount: + description: The total number of items that match the current filter criteria. + format: int64 + type: integer + type: object + ItemApiPayloadMetaSchema: + description: Schema information about the datastore, including its primary key + and field definitions. + properties: + fields: + description: An array describing the columns available in this datastore. + items: + $ref: '#/components/schemas/ItemApiPayloadMetaSchemaField' + type: array + primary_key: + description: The name of the primary key column for this datastore. + type: string + type: object + ItemApiPayloadMetaSchemaField: + description: Information about a specific column in the datastore schema. + properties: + name: + description: The name of this column in the datastore. + example: '' + type: string + type: + description: The data type of this column. For example, 'string', 'number', + or 'boolean'. + example: '' + type: string + required: + - name + - type + type: object JSONAPIErrorItem: description: API error response body properties: @@ -26067,6 +27184,31 @@ components: type: string x-enum-varnames: - MS_TEAMS_CHANNEL_INFO + MicrosoftTeamsConfigurationReference: + description: A reference to a Microsoft Teams Configuration resource. + nullable: true + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsConfigurationReferenceData' + required: + - data + type: object + MicrosoftTeamsConfigurationReferenceData: + description: The Microsoft Teams configuration relationship data object. + nullable: true + properties: + id: + description: The unique identifier of the Microsoft Teams configuration. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + description: The type of the Microsoft Teams configuration. + example: microsoft_teams_configurations + type: string + required: + - id + - type + type: object MicrosoftTeamsCreateTenantBasedHandleRequest: description: Create tenant-based handle request. properties: @@ -32455,6 +33597,14 @@ components: $ref: '#/components/schemas/ApplicationKeyResponseIncludedItem' type: array type: object + PatchIncidentNotificationTemplateRequest: + description: Update request for a notification template. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationTemplateUpdateData' + required: + - data + type: object PatchNotificationRuleParameters: description: Body of the notification rule patch request. properties: @@ -33135,6 +34285,40 @@ components: data: $ref: '#/components/schemas/Deployment' type: object + PutAppsDatastoreItemResponseArray: + description: Response after successfully inserting multiple items into a datastore, + containing the identifiers of the created items. + properties: + data: + description: An array of data objects containing the identifiers of the + successfully inserted items. + items: + $ref: '#/components/schemas/PutAppsDatastoreItemResponseData' + maxItems: 100 + type: array + required: + - data + type: object + PutAppsDatastoreItemResponseData: + description: Data containing the identifier of a single item that was successfully + inserted into the datastore. + properties: + id: + description: The unique identifier assigned to the inserted item. + type: string + type: + $ref: '#/components/schemas/DatastoreItemsDataType' + required: + - type + type: object + PutIncidentNotificationRuleRequest: + description: Put request for a notification rule. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationRuleUpdateData' + required: + - data + type: object Query: description: A data query used by an app. This can take the form of an external action, a data transformation, or a state variable. @@ -34310,6 +35494,28 @@ components: required: - data type: object + RelationshipToIncidentNotificationTemplate: + description: A relationship reference to a notification template. + properties: + data: + $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplateData' + required: + - data + type: object + RelationshipToIncidentNotificationTemplateData: + description: The notification template relationship data. + properties: + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - id + - type + type: object RelationshipToIncidentPostmortem: description: A relationship reference for postmortems. example: @@ -34362,6 +35568,27 @@ components: required: - data type: object + RelationshipToIncidentType: + description: Relationship to an incident type. + properties: + data: + $ref: '#/components/schemas/RelationshipToIncidentTypeData' + required: + - data + type: object + RelationshipToIncidentTypeData: + description: Relationship to incident type object. + properties: + id: + description: The incident type's ID. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/IncidentTypeType' + required: + - id + - type + type: object RelationshipToIncidentUserDefinedFieldData: description: Relationship to impact object. properties: @@ -37784,6 +39011,9 @@ components: SecurityMonitoringRuleConvertResponse: description: Result of the convert rule request containing Terraform content. properties: + ruleId: + description: the ID of the rule. + type: string terraformContent: description: Terraform string as a result of converting the rule from JSON. type: string @@ -39218,11 +40448,11 @@ components: type: string type: array hasOptionalGroupByFields: + default: false description: When false, events without a group-by value are ignored by the rule. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. example: false - readOnly: true type: boolean index: description: '**This field is currently unstable and might be removed in @@ -41720,7 +42950,7 @@ components: type: string type: object Shift: - description: The definition of `Shift` object. + description: An on-call shift with its associated data and relationships. example: data: attributes: @@ -41751,7 +42981,7 @@ components: type: array type: object ShiftData: - description: The definition of `ShiftData` object. + description: Data for an on-call shift. properties: attributes: $ref: '#/components/schemas/ShiftDataAttributes' @@ -41766,7 +42996,7 @@ components: - type type: object ShiftDataAttributes: - description: The definition of `ShiftDataAttributes` object. + description: Attributes for an on-call shift. properties: end: description: The end time of the shift. @@ -41778,7 +43008,7 @@ components: type: string type: object ShiftDataRelationships: - description: The definition of `ShiftDataRelationships` object. + description: Relationships for an on-call shift. properties: user: $ref: '#/components/schemas/ShiftDataRelationshipsUser' @@ -41825,7 +43055,7 @@ components: x-enum-varnames: - SHIFTS ShiftIncluded: - description: The definition of `ShiftIncluded` object. + description: Included data for shift operations. oneOf: - $ref: '#/components/schemas/ScheduleUser' SimpleMonitorUserTemplate: @@ -44949,6 +46179,94 @@ components: type: string type: array type: object + UpdateAppsDatastoreItemRequest: + description: Request to update specific fields on an existing datastore item. + properties: + data: + $ref: '#/components/schemas/UpdateAppsDatastoreItemRequestData' + type: object + UpdateAppsDatastoreItemRequestData: + description: Data wrapper containing the item identifier and the changes to + apply during the update operation. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppsDatastoreItemRequestDataAttributes' + id: + description: The unique identifier of the datastore item. + type: string + type: + $ref: '#/components/schemas/UpdateAppsDatastoreItemRequestDataType' + required: + - type + type: object + UpdateAppsDatastoreItemRequestDataAttributes: + description: Attributes for updating a datastore item, including the item key + and changes to apply. + properties: + id: + description: The unique identifier of the item being updated. + type: string + item_changes: + $ref: '#/components/schemas/UpdateAppsDatastoreItemRequestDataAttributesItemChanges' + item_key: + description: The primary key that identifies the item to update. Cannot + exceed 256 characters. + example: '' + maxLength: 256 + type: string + required: + - item_changes + - item_key + type: object + UpdateAppsDatastoreItemRequestDataAttributesItemChanges: + description: Changes to apply to a datastore item using set operations. + properties: + ops_set: + additionalProperties: {} + description: Set operation that contains key-value pairs to set on the datastore + item. + type: object + type: object + UpdateAppsDatastoreItemRequestDataType: + default: items + description: The resource type for datastore items. + enum: + - items + example: items + type: string + x-enum-varnames: + - ITEMS + UpdateAppsDatastoreRequest: + description: Request to update a datastore's configuration such as its name + or description. + properties: + data: + $ref: '#/components/schemas/UpdateAppsDatastoreRequestData' + type: object + UpdateAppsDatastoreRequestData: + description: Data wrapper containing the datastore identifier and the attributes + to update. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppsDatastoreRequestDataAttributes' + id: + description: The unique identifier of the datastore to update. + type: string + type: + $ref: '#/components/schemas/DatastoreDataType' + required: + - type + type: object + UpdateAppsDatastoreRequestDataAttributes: + description: Attributes that can be updated on a datastore. + properties: + description: + description: A human-readable description about the datastore. + type: string + name: + description: The display name of the datastore. + type: string + type: object UpdateCustomFrameworkRequest: description: Request object to update a custom framework. properties: @@ -46811,6 +48129,31 @@ components: oneOf: - $ref: '#/components/schemas/XRayServicesIncludeAll' - $ref: '#/components/schemas/XRayServicesIncludeOnly' + ZoomConfigurationReference: + description: A reference to a Zoom configuration resource. + nullable: true + properties: + data: + $ref: '#/components/schemas/ZoomConfigurationReferenceData' + required: + - data + type: object + ZoomConfigurationReferenceData: + description: The Zoom configuration relationship data object. + nullable: true + properties: + id: + description: The unique identifier of the Zoom configuration. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + description: The type of the Zoom configuration. + example: zoom_configurations + type: string + required: + - id + - type + type: object securitySchemes: AuthZ: description: This API uses OAuth 2 with the implicit grant flow. @@ -46857,9 +48200,11 @@ components: error_tracking_write: Edit Error Tracking issues. events_read: Read Events data. hosts_read: List hosts and their attributes. + incident_notification_settings_read: View Incident Notification Rule Settings. incident_notification_settings_write: Configure Incidents Notification - settings. + Rule settings. incident_read: View incidents in Datadog. + incident_settings_read: View Incident Settings. incident_settings_write: Configure Incident Settings. incident_write: Create, view, and manage incidents in Datadog. metrics_read: View custom metrics. @@ -46945,6 +48290,378 @@ info: version: '1.0' openapi: 3.0.0 paths: + /api/v2/actions-datastores: + get: + description: Lists all datastores for the organization. + operationId: ListDatastores + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DatastoreArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List datastores + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_read + post: + description: Creates a new datastore. + operationId: CreateDatastore + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAppsDatastoreRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAppsDatastoreResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create datastore + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_manage + /api/v2/actions-datastores/{datastore_id}: + delete: + description: Deletes a datastore by its unique identifier. + operationId: DeleteDatastore + parameters: + - description: The unique identifier of the datastore to retrieve. + in: path + name: datastore_id + required: true + schema: + type: string + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete datastore + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_manage + get: + description: Retrieves a specific datastore by its ID. + operationId: GetDatastore + parameters: + - description: The unique identifier of the datastore to retrieve. + in: path + name: datastore_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Datastore' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get datastore + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_read + patch: + description: Updates an existing datastore's attributes. + operationId: UpdateDatastore + parameters: + - description: The unique identifier of the datastore to retrieve. + in: path + name: datastore_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateAppsDatastoreRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Datastore' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update datastore + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_manage + /api/v2/actions-datastores/{datastore_id}/items: + delete: + description: Deletes an item from a datastore by its key. + operationId: DeleteDatastoreItem + parameters: + - description: The unique identifier of the datastore to retrieve. + in: path + name: datastore_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteAppsDatastoreItemRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteAppsDatastoreItemResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete datastore item + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_write + get: + description: Lists items from a datastore. You can filter the results by specifying + either an item key or a filter query parameter, but not both at the same time. + Supports server-side pagination for large datasets. + operationId: ListDatastoreItems + parameters: + - description: The unique identifier of the datastore to retrieve. + in: path + name: datastore_id + required: true + schema: + type: string + - description: Optional query filter to search items using the [logs search + syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). + in: query + name: filter + schema: + type: string + - description: Optional primary key value to retrieve a specific item. Cannot + be used together with the filter parameter. + in: query + name: item_key + schema: + maxLength: 256 + type: string + - description: Optional field to limit the number of items to return per page + for pagination. Up to 100 items can be returned per page. + in: query + name: page[limit] + schema: + format: int64 + maximum: 100 + minimum: 1 + type: integer + - description: Optional field to offset the number of items to skip from the + beginning of the result set for pagination. + in: query + name: page[offset] + schema: + format: int64 + type: integer + - description: Optional field to sort results by. Prefix with '-' for descending + order (e.g., '-created_at'). + in: query + name: sort + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ItemApiPayloadArray' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List datastore items + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_read + patch: + description: Partially updates an item in a datastore by its key. + operationId: UpdateDatastoreItem + parameters: + - description: The unique identifier of the datastore to retrieve. + in: path + name: datastore_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateAppsDatastoreItemRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ItemApiPayload' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update datastore item + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_write + /api/v2/actions-datastores/{datastore_id}/items/bulk: + post: + description: Creates or replaces multiple items in a datastore by their keys + in a single operation. + operationId: BulkWriteDatastoreItems + parameters: + - description: The unique identifier of the datastore to retrieve. + in: path + name: datastore_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BulkPutAppsDatastoreItemsRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PutAppsDatastoreItemResponseArray' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Bulk write datastore items + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_write /api/v2/actions/app_key_registrations: get: description: List App Key Registrations @@ -50014,6 +51731,9 @@ paths: we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/). + Multiple events can be sent in an array (up to 1000). + + Pipeline events can be submitted with a timestamp that is up to 18 hours in the past.' operationId: CreateCIAppPipelineEvent @@ -52370,13 +54090,15 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] + - AuthZ: + - user_access_manage summary: Delete a dataset tags: - Datasets x-permission: - operator: OPEN - permissions: [] + operator: OR + permissions: + - user_access_manage x-unstable: '**Note: Data Access is in preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).**' @@ -52403,7 +54125,8 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] + - AuthZ: + - user_access_read summary: Get a single dataset by ID tags: - Datasets @@ -52443,14 +54166,16 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] + - AuthZ: + - user_access_manage summary: Edit a dataset tags: - Datasets x-codegen-request-body-name: body x-permission: - operator: OPEN - permissions: [] + operator: OR + permissions: + - user_access_manage x-unstable: '**Note: Data Access is in preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).**' @@ -53787,6 +55512,407 @@ paths: - incident_write x-unstable: '**Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/incidents/config/notification-rules: + get: + description: Lists all notification rules for the organization. Optionally filter + by incident type. + operationId: ListIncidentNotificationRules + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationRuleArray' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_read + summary: List incident notification rules + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_read + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + post: + description: Creates a new notification rule. + operationId: CreateIncidentNotificationRule + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateIncidentNotificationRuleRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationRule' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Create an incident notification rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/incidents/config/notification-rules/{id}: + delete: + description: Deletes a notification rule by its ID. + operationId: DeleteIncidentNotificationRule + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Delete an incident notification rule + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + get: + description: Retrieves a specific notification rule by its ID. + operationId: GetIncidentNotificationRule + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationRule' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_read + summary: Get an incident notification rule + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_read + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + put: + description: Updates an existing notification rule with a complete replacement. + operationId: UpdateIncidentNotificationRule + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PutIncidentNotificationRuleRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationRule' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Update an incident notification rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/incidents/config/notification-templates: + get: + description: Lists all notification templates. Optionally filter by incident + type. + operationId: ListIncidentNotificationTemplates + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIncidentTypeFilterQueryParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationTemplateArray' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident notification templates + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_read + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + post: + description: Creates a new notification template. + operationId: CreateIncidentNotificationTemplate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateIncidentNotificationTemplateRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationTemplate' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Create incident notification template + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/incidents/config/notification-templates/{id}: + delete: + description: Deletes a notification template by its ID. + operationId: DeleteIncidentNotificationTemplate + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Delete a notification template + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + get: + description: Retrieves a specific notification template by its ID. + operationId: GetIncidentNotificationTemplate + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationTemplate' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: Get incident notification template + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_write + - incident_read + x-unstable: '**Note**: This endpoint is in Preview. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + patch: + description: Updates an existing notification template's attributes. + operationId: UpdateIncidentNotificationTemplate + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchIncidentNotificationTemplateRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNotificationTemplate' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Update incident notification template + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: '**Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/incidents/config/types: get: @@ -54650,9 +56776,6 @@ paths: operator: OR permissions: - aws_configuration_read - x-unstable: '**Note: This endpoint is in Preview. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' post: description: Create a new AWS Account Integration Config. operationId: CreateAWSAccount @@ -54685,9 +56808,6 @@ paths: operator: OR permissions: - aws_configurations_manage - x-unstable: '**Note: This endpoint is in Preview. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' /api/v2/integration/aws/accounts/{aws_account_config_id}: delete: description: Delete an AWS Account Integration Config by config ID. @@ -54712,9 +56832,6 @@ paths: operator: OR permissions: - aws_configurations_manage - x-unstable: '**Note: This endpoint is in Preview. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' get: description: Get an AWS Account Integration Config by config ID. operationId: GetAWSAccount @@ -54742,9 +56859,6 @@ paths: operator: OR permissions: - aws_configuration_read - x-unstable: '**Note: This endpoint is in Preview. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' patch: description: Update an AWS Account Integration Config by config ID. operationId: UpdateAWSAccount @@ -54779,9 +56893,6 @@ paths: operator: OR permissions: - aws_configuration_edit - x-unstable: '**Note: This endpoint is in Preview. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' /api/v2/integration/aws/available_namespaces: get: description: Get a list of available AWS CloudWatch namespaces that can send @@ -54805,9 +56916,6 @@ paths: operator: OR permissions: - aws_configuration_read - x-unstable: '**Note: This endpoint is in Preview. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' /api/v2/integration/aws/generate_new_external_id: post: description: Generate a new external ID for AWS role-based authentication. @@ -54830,9 +56938,6 @@ paths: operator: OR permissions: - aws_configuration_edit - x-unstable: '**Note: This endpoint is in Preview. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' /api/v2/integration/aws/iam_permissions: get: description: Get all AWS IAM permissions required for the AWS integration. @@ -54871,9 +56976,6 @@ paths: operator: OR permissions: - aws_configuration_read - x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, - - contact [Datadog support](https://docs.datadoghq.com/help/).**' /api/v2/integration/gcp/accounts: get: description: List all GCP STS-enabled service accounts configured in your Datadog @@ -58413,6 +60515,47 @@ paths: description: Returns a list of all monitor notification rules. operationId: GetMonitorNotificationRules parameters: + - description: The page to start paginating from. If `page` is not specified, + the argument defaults to the first page. + in: query + name: page + required: false + schema: + format: int32 + maximum: 1000000 + minimum: 0 + type: integer + - description: The number of rules to return per page. If `per_page` is not + specified, the argument defaults to 100. + in: query + name: per_page + required: false + schema: + format: int32 + maximum: 1000 + minimum: 1 + type: integer + - description: 'String for sort order, composed of field and sort order separated + by a colon, for example `name:asc`. Supported sort directions: `asc`, `desc`. + Supported fields: `name`, `created_at`.' + in: query + name: sort + required: false + schema: + type: string + - description: 'JSON-encoded filter object. Supported keys: + + * `text`: Free-text query matched against rule name, tags, and recipients. + + * `tags`: Array of strings. Return rules that have any of these tags. + + * `recipients`: Array of strings. Return rules that have any of these recipients.' + example: '{"text":"error","tags":["env:prod","team:my-team"],"recipients":["slack-monitor-app","email@example.com"]}' + in: query + name: filters + required: false + schema: + type: string - description: 'Comma-separated list of resource paths for related resources to include in the response. Supported resource @@ -60274,6 +62417,39 @@ paths: get: description: Returns a list of org connections. operationId: ListOrgConnections + parameters: + - description: The Org ID of the sink org. + example: 0879ce27-29a1-481f-a12e-bc2a48ec9ae1 + in: query + name: sink_org_id + required: false + schema: + type: string + - description: The Org ID of the source org. + example: 0879ce27-29a1-481f-a12e-bc2a48ec9ae1 + in: query + name: source_org_id + required: false + schema: + type: string + - description: The limit of number of entries you want to return. Default is + 1000. + example: 1000 + in: query + name: limit + required: false + schema: + format: int64 + type: integer + - description: The pagination offset which you want to query from. Default is + 0. + example: 0 + in: query + name: offset + required: false + schema: + format: int64 + type: integer responses: '200': content: @@ -70693,6 +72869,12 @@ tags: description: Find out more at url: https://docs.datadoghq.com/service_management/workflows/connections/ name: Action Connection +- description: 'Leverage the Actions Datastore API to create, modify, and delete + + items in datastores owned by your organization.' + externalDocs: + url: https://docs.datadoghq.com/actions/datastore + name: Actions Datastores - description: "Datadog Agentless Scanning provides visibility into risks and vulnerabilities\nwithin your hosts, running containers, and serverless functions\u2014all without\nrequiring teams to install Agents on every host or where Agents cannot be installed.\nAgentless diff --git a/.github/workflows/reusable-ci.yml b/.github/workflows/reusable-ci.yml new file mode 100644 index 000000000000..9826dc041b74 --- /dev/null +++ b/.github/workflows/reusable-ci.yml @@ -0,0 +1,114 @@ +name: Reusable Complete CI Workflow + +on: + workflow_call: + inputs: + target-branch: + description: 'Branch to checkout and test (defaults to the calling branch)' + required: false + type: string + default: '' + enable-commit-changes: + description: 'Whether to commit and push pre-commit fixes' + required: false + type: boolean + default: true + enable-status-reporting: + description: 'Whether to enable status reporting' + required: false + type: boolean + default: true + status-context: + description: 'Context for status checks' + required: false + type: string + default: 'master/unit' + target-repo: + description: 'Repository to post status to' + required: false + type: string + default: 'datadog-api-spec' + node-version: + description: 'Node.js version to use' + required: false + type: string + default: '16' + + secrets: + PIPELINE_GITHUB_APP_ID: + required: false + PIPELINE_GITHUB_APP_PRIVATE_KEY: + required: false + # Integration test secrets + DD_API_KEY: + required: false + DD_CLIENT_API_KEY: + required: false + DD_CLIENT_APP_KEY: + required: false + SLEEP_AFTER_REQUEST: + required: false + +jobs: + pre-commit: + uses: ./.github/workflows/reusable-pre-commit.yml + with: + target-branch: ${{ inputs.target-branch }} + enable-commit-changes: ${{ inputs.enable-commit-changes }} + secrets: + PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} + + test: + uses: ./.github/workflows/reusable-typescript-test.yml + with: + target-branch: ${{ inputs.target-branch }} + node-versions: '["16", "18"]' + platforms: '["ubuntu-latest"]' + test-script: './run-tests.sh' + enable-status-reporting: false # We handle reporting in the main report job + status-context: ${{ inputs.status-context }} + secrets: + PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} + + examples: + uses: ./.github/workflows/reusable-examples.yml + with: + target-branch: ${{ inputs.target-branch }} + examples-script: './check-examples.sh' + node-version: ${{ inputs.node-version }} + + integration: + uses: ./.github/workflows/reusable-integration-test.yml + with: + target-branch: ${{ inputs.target-branch }} + enable-status-reporting: false # We handle reporting in the main report job + status-context: 'integration' + target-repo: ${{ inputs.target-repo }} + node-version: ${{ inputs.node-version }} + secrets: + PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} + DD_API_KEY: ${{ secrets.DD_API_KEY }} + DD_CLIENT_API_KEY: ${{ secrets.DD_CLIENT_API_KEY }} + DD_CLIENT_APP_KEY: ${{ secrets.DD_CLIENT_APP_KEY }} + SLEEP_AFTER_REQUEST: ${{ secrets.SLEEP_AFTER_REQUEST }} + + report: + uses: ./.github/workflows/reusable-report.yml + needs: + - test + - examples + - integration + if: always() + with: + test-result: ${{ needs.test.result }} + examples-result: ${{ needs.examples.result }} + integration-result: ${{ needs.integration.result }} + context: ${{ inputs.status-context }} + target-repo: ${{ inputs.target-repo }} + enable-status-reporting: ${{ inputs.enable-status-reporting }} + secrets: + PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} \ No newline at end of file diff --git a/.github/workflows/reusable-examples.yml b/.github/workflows/reusable-examples.yml new file mode 100644 index 000000000000..dcdf39f269b4 --- /dev/null +++ b/.github/workflows/reusable-examples.yml @@ -0,0 +1,41 @@ +name: Reusable Examples Workflow + +on: + workflow_call: + inputs: + target-branch: + description: 'Branch to checkout and test (defaults to the calling branch)' + required: false + type: string + default: '' + examples-script: + description: 'Examples script to execute' + required: false + type: string + default: './check-examples.sh' + node-version: + description: 'Node.js version to use' + required: false + type: string + default: '16' + +jobs: + examples: + runs-on: ubuntu-latest + if: > + (github.event.pull_request.draft == false && + !contains(github.event.pull_request.labels.*.name, 'ci/skip') && + !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || + github.event_name == 'schedule' + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ inputs.target-branch || github.ref }} + - name: Set up Node ${{ inputs.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ inputs.node-version }} + cache: 'yarn' + - name: Check examples + run: ${{ inputs.examples-script }} + shell: bash \ No newline at end of file diff --git a/.github/workflows/test_integration.yml b/.github/workflows/reusable-integration-test.yml similarity index 55% rename from .github/workflows/test_integration.yml rename to .github/workflows/reusable-integration-test.yml index f5601193de4d..0aa23c9af86d 100644 --- a/.github/workflows/test_integration.yml +++ b/.github/workflows/reusable-integration-test.yml @@ -1,10 +1,12 @@ -name: Run Integration Tests +name: Reusable Integration Test Workflow permissions: contents: read on: pull_request: + branches: + - master types: - opened - reopened @@ -12,17 +14,55 @@ on: - synchronize - labeled - unlabeled - branches: - - master schedule: - cron: "0 4 * * *" + workflow_call: + inputs: + target-branch: + description: 'Branch to checkout and test (defaults to the calling branch)' + required: false + type: string + default: '' + enable-status-reporting: + description: 'Whether to post status checks to datadog-api-spec repo' + required: false + type: boolean + default: false + status-context: + description: 'Context for status checks' + required: false + type: string + default: 'integration' + target-repo: + description: 'Repository to post status to' + required: false + type: string + default: 'datadog-api-spec' + node-version: + description: 'Node.js version to use' + required: false + type: string + default: '16' + secrets: + PIPELINE_GITHUB_APP_ID: + required: false + PIPELINE_GITHUB_APP_PRIVATE_KEY: + required: false + DD_API_KEY: + required: true + DD_CLIENT_API_KEY: + required: true + DD_CLIENT_APP_KEY: + required: true + SLEEP_AFTER_REQUEST: + required: false concurrency: group: integration-${{ github.head_ref }} cancel-in-progress: true jobs: - test_integration: + integration_tests: runs-on: ubuntu-latest if: > (github.event_name == 'pull_request' && @@ -48,21 +88,23 @@ jobs: with: app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} - repositories: datadog-api-spec + repositories: ${{ inputs.target-repo || 'datadog-api-spec' }} - name: Checkout code uses: actions/checkout@v3 + with: + ref: ${{ inputs.target-branch || github.ref }} - name: Post pending status check - if: github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') + if: github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && (inputs.enable-status-reporting || github.event_name != 'workflow_call') uses: DataDog/github-actions/post-status-check@v2 with: github-token: ${{ steps.get_token.outputs.token }} - repo: datadog-api-spec + repo: ${{ inputs.target-repo || 'datadog-api-spec' }} status: pending - context: integration - - name: Set up Node 16 + context: ${{ inputs.status-context || 'integration' }} + - name: Set up Node ${{ inputs.node-version }} uses: actions/setup-node@v3 with: - node-version: 16 + node-version: ${{ inputs.node-version }} cache: 'yarn' - name: Run integration tests run: ./run-tests.sh @@ -77,20 +119,20 @@ jobs: DD_TEST_CLIENT_API_KEY: ${{ secrets.DD_CLIENT_API_KEY }} DD_TEST_CLIENT_APP_KEY: ${{ secrets.DD_CLIENT_APP_KEY }} RECORD: "none" - SLEEP_AFTER_REQUEST: "${{ vars.SLEEP_AFTER_REQUEST }}" + SLEEP_AFTER_REQUEST: ${{ secrets.SLEEP_AFTER_REQUEST || vars.SLEEP_AFTER_REQUEST }} - name: Post failure status check - if: failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') + if: failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && (inputs.enable-status-reporting || github.event_name != 'workflow_call') uses: DataDog/github-actions/post-status-check@v2 with: github-token: ${{ steps.get_token.outputs.token }} - repo: datadog-api-spec + repo: ${{ inputs.target-repo || 'datadog-api-spec' }} status: failure - context: integration + context: ${{ inputs.status-context || 'integration' }} - name: Post success status check - if: "!failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/')" + if: "!failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && (inputs.enable-status-reporting || github.event_name != 'workflow_call')" uses: DataDog/github-actions/post-status-check@v2 with: github-token: ${{ steps.get_token.outputs.token }} - repo: datadog-api-spec + repo: ${{ inputs.target-repo || 'datadog-api-spec' }} status: success - context: integration + context: ${{ inputs.status-context || 'integration' }} \ No newline at end of file diff --git a/.github/workflows/reusable-pre-commit.yml b/.github/workflows/reusable-pre-commit.yml new file mode 100644 index 000000000000..76dbae6b3b28 --- /dev/null +++ b/.github/workflows/reusable-pre-commit.yml @@ -0,0 +1,89 @@ +name: Reusable Pre-commit Workflow + +on: + workflow_call: + inputs: + target-branch: + description: 'Branch to checkout and test (defaults to the calling branch)' + required: false + type: string + default: '' + enable-commit-changes: + description: 'Whether to commit and push pre-commit fixes' + required: false + type: boolean + default: true + secrets: + PIPELINE_GITHUB_APP_ID: + required: false + PIPELINE_GITHUB_APP_PRIVATE_KEY: + required: false + +env: + GIT_AUTHOR_EMAIL: "packages@datadoghq.com" + GIT_AUTHOR_NAME: "ci.datadog-api-spec" + +jobs: + pre-commit: + runs-on: ubuntu-latest + if: > + (github.event.pull_request.draft == false && + !contains(github.event.pull_request.labels.*.name, 'ci/skip') && + !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || + github.event_name == 'schedule' + steps: + # Run only in this repository + - name: Get GitHub App token + id: get_token + if: inputs.enable-commit-changes && github.event.pull_request.head.repo.full_name == github.repository + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} + - uses: actions/checkout@v3 + if: github.event.pull_request.head.repo.full_name == github.repository + with: + fetch-depth: 0 + ref: ${{ inputs.target-branch || github.event.pull_request.head.sha || github.ref }} + token: ${{ inputs.enable-commit-changes && steps.get_token.outputs.token || github.token }} + - uses: actions/setup-python@v4 + with: + python-version: '3.11' + # Fetch a fork of the repo + - uses: actions/checkout@v3 + if: github.event.pull_request.head.repo.full_name != github.repository + with: + fetch-depth: 0 + ref: ${{ inputs.target-branch || github.event.pull_request.head.sha || github.ref }} + - name: Install pre-commit + run: python -m pip install pre-commit + - name: set PY + run: echo "PY=$(python -c 'import hashlib, sys, platform;print(hashlib.sha256(platform.python_version().encode()+sys.executable.encode()).hexdigest())')" >> $GITHUB_ENV + - uses: actions/cache@v3 + with: + path: ~/.cache/pre-commit + key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} + - id: pre_commit + name: Run pre-commit + if: github.event.action != 'closed' && github.event.pull_request.merged != true + run: | + pre-commit run --from-ref "${FROM_REF}" --to-ref "${TO_REF}" --show-diff-on-failure --color=always + env: + FROM_REF: ${{ github.event.pull_request.base.sha }} + TO_REF: ${{ github.event.pull_request.head.sha }} + - name: Commit changes + if: github.event.pull_request.head.repo.full_name == github.repository && failure() && inputs.enable-commit-changes + run: |- + git add -A + git config user.name "${GIT_AUTHOR_NAME}" + git config user.email "${GIT_AUTHOR_EMAIL}" + git commit -m "pre-commit fixes" + git push origin "HEAD:${HEAD_REF}" + exit 1 + env: + HEAD_REF: ${{ github.event.pull_request.head.ref }} + - id: pre_commit_schedule + name: Run pre-commit in schedule + if: github.event_name == 'schedule' + run: | + pre-commit run --all-files --show-diff-on-failure --color=always \ No newline at end of file diff --git a/.github/workflows/reusable-report.yml b/.github/workflows/reusable-report.yml new file mode 100644 index 000000000000..9248748794a9 --- /dev/null +++ b/.github/workflows/reusable-report.yml @@ -0,0 +1,62 @@ +name: Reusable Report Workflow + +on: + workflow_call: + inputs: + test-result: + description: 'Result of the test job' + required: true + type: string + examples-result: + description: 'Result of the examples job' + required: true + type: string + integration-result: + description: 'Result of the integration job' + required: true + type: string + context: + description: 'Context for status check' + required: false + type: string + default: 'master/unit' + target-repo: + description: 'Repository to post status to' + required: false + type: string + default: 'datadog-api-spec' + enable-status-reporting: + description: 'Whether to enable status reporting' + required: false + type: boolean + default: true + secrets: + PIPELINE_GITHUB_APP_ID: + required: true + PIPELINE_GITHUB_APP_PRIVATE_KEY: + required: true + +jobs: + report: + runs-on: ubuntu-latest + if: > + always() && + github.event_name == 'pull_request' && + contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && + inputs.enable-status-reporting + steps: + - name: Get GitHub App token + if: github.event_name == 'pull_request' + id: get_token + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} + repositories: ${{ inputs.target-repo }} + - name: Post status check + uses: DataDog/github-actions/post-status-check@v2 + with: + github-token: ${{ steps.get_token.outputs.token }} + repo: ${{ inputs.target-repo }} + status: ${{ (inputs.test-result == 'cancelled' || inputs.examples-result == 'cancelled' || inputs.integration-result == 'cancelled') && 'pending' || (inputs.test-result == 'success' && inputs.examples-result == 'success' && inputs.integration-result == 'success') && 'success' || 'failure' }} + context: ${{ inputs.context }} \ No newline at end of file diff --git a/.github/workflows/reusable-typescript-test.yml b/.github/workflows/reusable-typescript-test.yml new file mode 100644 index 000000000000..a9801d829c6c --- /dev/null +++ b/.github/workflows/reusable-typescript-test.yml @@ -0,0 +1,51 @@ +name: Reusable TypeScript Testing Workflow + +on: + workflow_call: + inputs: + target-branch: + description: 'Branch to checkout and test (defaults to the calling branch)' + required: false + type: string + default: '' + node-versions: + description: 'JSON array of Node.js versions to test against' + required: false + type: string + default: '["16", "18"]' + platforms: + description: 'JSON array of platforms to run tests on' + required: false + type: string + default: '["ubuntu-latest"]' + test-script: + description: 'Test script to execute' + required: false + type: string + default: './run-tests.sh' + secrets: + PIPELINE_GITHUB_APP_ID: + required: false + PIPELINE_GITHUB_APP_PRIVATE_KEY: + required: false + +jobs: + test: + strategy: + matrix: + node-version: ${{ fromJSON(inputs.node-versions) }} + platform: ${{ fromJSON(inputs.platforms) }} + runs-on: ${{ matrix.platform }} + if: (github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'ci/skip') && !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || github.event_name == 'schedule' + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ inputs.target-branch || github.ref }} + - name: Set up Node ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'yarn' + - name: Test + run: ${{ inputs.test-script }} + shell: bash diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a0a79553f05f..70ba18f201d7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,100 +20,43 @@ concurrency: jobs: pre-commit: - runs-on: ubuntu-latest if: > (github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'ci/skip') && !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || github.event_name == 'schedule' - steps: - # Run only in this repository - - name: Get GitHub App token - id: get_token - if: github.event.pull_request.head.repo.full_name == github.repository - uses: actions/create-github-app-token@v1 - with: - app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }} - private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} - - uses: actions/checkout@v3 - if: github.event.pull_request.head.repo.full_name == github.repository - with: - fetch-depth: 0 - ref: ${{ github.event.pull_request.head.sha }} - token: ${{ steps.get_token.outputs.token }} - - uses: actions/setup-python@v4 - with: - python-version: '3.11' - # Fetch a fork of the repo - - uses: actions/checkout@v3 - if: github.event.pull_request.head.repo.full_name != github.repository - with: - fetch-depth: 0 - ref: ${{ github.event.pull_request.head.sha }} - - name: Install pre-commit - run: python -m pip install pre-commit - - name: set PY - run: echo "PY=$(python -c 'import hashlib, sys, platform;print(hashlib.sha256(platform.python_version().encode()+sys.executable.encode()).hexdigest())')" >> $GITHUB_ENV - - uses: actions/cache@v3 - with: - path: ~/.cache/pre-commit - key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} - - id: pre_commit - name: Run pre-commit - if: github.event.action != 'closed' && github.event.pull_request.merged != true - run: | - pre-commit run --from-ref "${FROM_REF}" --to-ref "${TO_REF}" --show-diff-on-failure --color=always - env: - FROM_REF: ${{ github.event.pull_request.base.sha }} - TO_REF: ${{ github.event.pull_request.head.sha }} - - name: Commit changes - if: github.event.pull_request.head.repo.full_name == github.repository && failure() - run: |- - git add -A - git config user.name "${GIT_AUTHOR_NAME}" - git config user.email "${GIT_AUTHOR_EMAIL}" - git commit -m "pre-commit fixes" - git push origin "HEAD:${HEAD_REF}" - exit 1 - env: - HEAD_REF: ${{ github.event.pull_request.head.ref }} - - id: pre_commit_schedule - name: Run pre-commit in schedule - if: github.event_name == 'schedule' - run: | - pre-commit run --all-files --show-diff-on-failure --color=always + uses: ./.github/workflows/reusable-pre-commit.yml + with: + enable-commit-changes: true + secrets: + PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} test: - strategy: - matrix: - node-version: ["16", "18"] - platform: [ubuntu-latest] - runs-on: ${{ matrix.platform }} - if: (github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'ci/skip') && !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || github.event_name == 'schedule' - steps: - - uses: actions/checkout@v3 - - name: Set up Node ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - cache: 'yarn' - - name: Test - run: ./run-tests.sh - shell: bash + if: > + (github.event.pull_request.draft == false && + !contains(github.event.pull_request.labels.*.name, 'ci/skip') && + !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || + github.event_name == 'schedule' + uses: ./.github/workflows/reusable-typescript-test.yml + with: + node-versions: '["16", "18"]' + platforms: '["ubuntu-latest"]' + test-script: './run-tests.sh' + secrets: + PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }} + PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }} examples: - runs-on: ubuntu-latest - if: (github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'ci/skip') && !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || github.event_name == 'schedule' - steps: - - uses: actions/checkout@v3 - - name: Set up Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - cache: 'yarn' - - name: Check examples - run: ./check-examples.sh - shell: bash + if: > + (github.event.pull_request.draft == false && + !contains(github.event.pull_request.labels.*.name, 'ci/skip') && + !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')) || + github.event_name == 'schedule' + uses: ./.github/workflows/reusable-examples.yml + with: + examples-script: './check-examples.sh' + node-version: '16' report: runs-on: ubuntu-latest @@ -135,5 +78,5 @@ jobs: with: github-token: ${{ steps.get_token.outputs.token }} repo: datadog-api-spec - status: ${{ (needs.test.result == 'cancelled' || needs.examples.result == 'cancelled') && 'pending' || needs.test.result == 'success' && needs.examples.result == 'success' && 'success' || 'failure' }} + status: ${{ (needs.test.result == 'cancelled' || needs.examples.result == 'cancelled') && 'pending' || (needs.test.result == 'success' && needs.examples.result == 'success') && 'success' || 'failure' }} context: master/unit diff --git a/CHANGELOG.md b/CHANGELOG.md index 922d7a1f1c4e..89a292d4d843 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,49 @@ # CHANGELOG +## 1.43.0/2025-09-15 + +### Added +* Add Query Parameters to ListOrgConnections Endpoint [#2784](https://github.com/DataDog/datadog-api-client-typescript/pull/2784) +* Add Incident Notification Rules Public Spec [#2772](https://github.com/DataDog/datadog-api-client-typescript/pull/2772) +* Update v1 and v2 GCP API specs to support `monitored_resource_configs` [#2769](https://github.com/DataDog/datadog-api-client-typescript/pull/2769) +* Add action datastore API [#2731](https://github.com/DataDog/datadog-api-client-typescript/pull/2731) +* Security Monitoring - Make hasOptionalGroupByFields updatable [#2639](https://github.com/DataDog/datadog-api-client-typescript/pull/2639) + +### Deprecated +* Promote unstable aws v2 APIs and deprecate v1 [#2767](https://github.com/DataDog/datadog-api-client-typescript/pull/2767) + +### Changed +* Allow to send batches of events in pipelines API [#2737](https://github.com/DataDog/datadog-api-client-typescript/pull/2737) + +## 1.42.0/2025-09-09 + +### Added +* Add Incident Notification Template Public Docs [#2760](https://github.com/DataDog/datadog-api-client-typescript/pull/2760) +* Add Cross Org API to Open API specs [#2759](https://github.com/DataDog/datadog-api-client-typescript/pull/2759) +* Update Get All Notification Rules API docs to include pagination, sorting, and filtering params [#2752](https://github.com/DataDog/datadog-api-client-typescript/pull/2752) +* Add readonly ID of synthetics test steps [#2748](https://github.com/DataDog/datadog-api-client-typescript/pull/2748) +* Create Cloud SIEM histsignals endpoints [#2746](https://github.com/DataDog/datadog-api-client-typescript/pull/2746) +* Security Monitoring - Validation Endpoint for Suppressions [#2741](https://github.com/DataDog/datadog-api-client-typescript/pull/2741) +* Security Monitoring - Related Suppressions for a Rule [#2734](https://github.com/DataDog/datadog-api-client-typescript/pull/2734) +* Extend Widget time schema with support for hide_incomplete_cost_data [#2708](https://github.com/DataDog/datadog-api-client-typescript/pull/2708) +* Add SDS rule `should_save_match` field [#2704](https://github.com/DataDog/datadog-api-client-typescript/pull/2704) +* Add spec for Agentless GetAwsScanOptions [#2697](https://github.com/DataDog/datadog-api-client-typescript/pull/2697) +* Add Cross Org API to Open API specs [#2693](https://github.com/DataDog/datadog-api-client-typescript/pull/2693) +* Add DNAP Spark Pod Autosizing service to API client [#2686](https://github.com/DataDog/datadog-api-client-typescript/pull/2686) +* Add version parameter to synthetic test trigger ci endpoint [#2684](https://github.com/DataDog/datadog-api-client-typescript/pull/2684) +* Document Error Tracking public APIs [#2680](https://github.com/DataDog/datadog-api-client-typescript/pull/2680) +* Add docs for 404 not found error in cost-onboarding-api [#2668](https://github.com/DataDog/datadog-api-client-typescript/pull/2668) +* Adds async Scorecard outcomes batch update endpoint [#2646](https://github.com/DataDog/datadog-api-client-typescript/pull/2646) + +### Fixed +* Security Monitoring - Fix payload of Validation Endpoint for Suppressions [#2750](https://github.com/DataDog/datadog-api-client-typescript/pull/2750) +* [CCA-938][CCC-883] Audit existing CCM endpoints in OpenAPI spec [#2659](https://github.com/DataDog/datadog-api-client-typescript/pull/2659) +* Add enum Dataset type to Dataset API spec [#2655](https://github.com/DataDog/datadog-api-client-typescript/pull/2655) + +### Changed +* Update public cost permissions [#2702](https://github.com/DataDog/datadog-api-client-typescript/pull/2702) +* Add Product Scales support to RUM v2 Applications API [#2664](https://github.com/DataDog/datadog-api-client-typescript/pull/2664) + ## 1.41.0/2025-08-12 ### Added diff --git a/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Bad-Request-response_2469357677/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Bad-Request-response_2469357677/frozen.json new file mode 100644 index 000000000000..aaa50aba5bc4 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Bad-Request-response_2469357677/frozen.json @@ -0,0 +1 @@ +"2025-09-06T19:02:39.774Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Bad-Request-response_2469357677/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Bad-Request-response_2469357677/recording.har new file mode 100644 index 000000000000..20b48a8376db --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Bad-Request-response_2469357677/recording.har @@ -0,0 +1,163 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Bulk write datastore items returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"226df00a-c52e-41cd-9067-2b8c2b18649d\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-06T19:02:39.781Z", + "time": 186 + }, + { + "_id": "63a78f23e106ee7c499b3b4601a8ec0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 133, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 624, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"values\":[{\"id\":\"cust_3141\",\"name\":\"Johnathan\"},{\"badPrimaryKey\":\"key2\",\"name\":\"Johnathan\"}]},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/226df00a-c52e-41cd-9067-2b8c2b18649d/items/bulk" + }, + "response": { + "bodySize": 155, + "content": { + "mimeType": "application/vnd.api+json", + "size": 155, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"b6f27ea4-0a0b-43fa-92ef-b023f8e06e2c\",\"title\":\"item key missing or invalid\",\"detail\":\"primary column \\\"id\\\" is missing\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 942, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-06T19:02:39.978Z", + "time": 158 + }, + { + "_id": "1f7013a551590e12085a315e100e88a1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/226df00a-c52e-41cd-9067-2b8c2b18649d" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"226df00a-c52e-41cd-9067-2b8c2b18649d\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-06T19:02:40.144Z", + "time": 163 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Not-Found-response_2557073806/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Not-Found-response_2557073806/frozen.json new file mode 100644 index 000000000000..9e87e32c8142 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Not-Found-response_2557073806/frozen.json @@ -0,0 +1 @@ +"2025-09-06T19:02:54.153Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Not-Found-response_2557073806/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Not-Found-response_2557073806/recording.har new file mode 100644 index 000000000000..42772c3cd68a --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-Not-Found-response_2557073806/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Bulk write datastore items returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7b85df98bd95d5668b6beaa5d48a00fa", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 122, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 622, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"values\":[{\"id\":\"cust_3141\",\"name\":\"Johnathan\"},{\"id\":\"cust_3142\",\"name\":\"Mary\"}]},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/70b87c26-886f-497a-bd9d-09f53bc9b40c/items/bulk" + }, + "response": { + "bodySize": 103, + "content": { + "mimeType": "application/vnd.api+json", + "size": 103, + "text": "{\"errors\":[{\"status\":\"404\",\"id\":\"b799bd68-cfb7-4c3d-8026-e0e00c27252f\",\"title\":\"datastore not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 941, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-06T19:02:54.160Z", + "time": 160 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-OK-response_172349745/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-OK-response_172349745/frozen.json new file mode 100644 index 000000000000..8044812f8717 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-OK-response_172349745/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:06.486Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-OK-response_172349745/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-OK-response_172349745/recording.har new file mode 100644 index 000000000000..a8229a8d9727 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Bulk-write-datastore-items-returns-OK-response_172349745/recording.har @@ -0,0 +1,163 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Bulk write datastore items returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"6c0dbbfd-a905-4f79-9c2f-16cb4d9a56a7\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:06.489Z", + "time": 162 + }, + { + "_id": "5477242a47dcc0d16fce5b4819e0a568", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 122, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 624, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"values\":[{\"id\":\"cust_3141\",\"name\":\"Johnathan\"},{\"id\":\"cust_3142\",\"name\":\"Mary\"}]},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/6c0dbbfd-a905-4f79-9c2f-16cb4d9a56a7/items/bulk" + }, + "response": { + "bodySize": 132, + "content": { + "mimeType": "application/vnd.api+json", + "size": 132, + "text": "{\"data\":[{\"id\":\"8c6bba37-01d4-4b49-9d90-4ac909aa8c9f\",\"type\":\"items\"},{\"id\":\"285244c6-b07f-4502-928b-2444c1de31e7\",\"type\":\"items\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 941, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:06.659Z", + "time": 169 + }, + { + "_id": "3c420a7af3c7f72b55ac8dacb96c3a45", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/6c0dbbfd-a905-4f79-9c2f-16cb4d9a56a7" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"6c0dbbfd-a905-4f79-9c2f-16cb4d9a56a7\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:06.836Z", + "time": 138 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-Bad-Request-response_1442997600/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-Bad-Request-response_1442997600/frozen.json new file mode 100644 index 000000000000..6431cdc9a31d --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-Bad-Request-response_1442997600/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:06.982Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-Bad-Request-response_1442997600/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-Bad-Request-response_1442997600/recording.har new file mode 100644 index 000000000000..1385daa055f0 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-Bad-Request-response_1442997600/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Create datastore returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "dd2db85ee1858240b00877862d9d896a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 106, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"name\":\"datastore-name\",\"primary_column_name\":\"0invalid_key\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 199, + "content": { + "mimeType": "application/vnd.api+json", + "size": 199, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"78cd887f-1a77-421f-915d-4bfebb3784c0\",\"title\":\"datastore configuration invalid\",\"detail\":\"column name '0invalid_key' does not start with a letter or an underscore\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T22:54:06.986Z", + "time": 136 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-OK-response_4166232622/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-OK-response_4166232622/frozen.json new file mode 100644 index 000000000000..40b3cacafad6 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-OK-response_4166232622/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:07.136Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-OK-response_4166232622/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-OK-response_4166232622/recording.har new file mode 100644 index 000000000000..768200a8770e --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Create-datastore-returns-OK-response_4166232622/recording.har @@ -0,0 +1,110 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Create datastore returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "0ff3d90c15dd9e7623c0ab147a12dd44", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 104, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"name\":\"datastore-name\",\"primary_column_name\":\"primaryKey\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"040e45f8-b354-4817-8c01-e5d2bb8aa55d\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:07.139Z", + "time": 158 + }, + { + "_id": "aa189c1856e7ca80f2966ae2810ba76d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/040e45f8-b354-4817-8c01-e5d2bb8aa55d" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"040e45f8-b354-4817-8c01-e5d2bb8aa55d\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:07.303Z", + "time": 131 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Bad-Request-response_1005140978/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Bad-Request-response_1005140978/frozen.json new file mode 100644 index 000000000000..71138a6875e2 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Bad-Request-response_1005140978/frozen.json @@ -0,0 +1 @@ +"2025-09-06T19:03:07.134Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Bad-Request-response_1005140978/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Bad-Request-response_1005140978/recording.har new file mode 100644 index 000000000000..b5b5b38d1799 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Bad-Request-response_1005140978/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Delete datastore item returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "cc279af867c7abbd1e30f81c29c559be", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 64, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 592, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"item_key\":\"primaryKey\"},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/invalid-uuid/items" + }, + "response": { + "bodySize": 189, + "content": { + "mimeType": "application/vnd.api+json", + "size": 189, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"5adc82ee-f920-4fe9-aafc-10cabac28b68\",\"title\":\"invalid path parameter\",\"detail\":\"invalid datastoreId format in path\",\"source\":{\"parameter\":\"datastoreId\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-06T19:03:07.140Z", + "time": 128 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Not-Found-response_3673288865/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Not-Found-response_3673288865/frozen.json new file mode 100644 index 000000000000..dd7c509e357c --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Not-Found-response_3673288865/frozen.json @@ -0,0 +1 @@ +"2025-09-06T19:03:18.396Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Not-Found-response_3673288865/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Not-Found-response_3673288865/recording.har new file mode 100644 index 000000000000..581892ee1c67 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-Not-Found-response_3673288865/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Delete datastore item returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a1672d1a53929a3b6f9e45e4ea22ce71", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 64, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 616, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"item_key\":\"primaryKey\"},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/70b87c26-886f-497a-bd9d-09f53bc9b40c/items" + }, + "response": { + "bodySize": 103, + "content": { + "mimeType": "application/vnd.api+json", + "size": 103, + "text": "{\"errors\":[{\"status\":\"404\",\"id\":\"38b88198-bd74-4494-8571-f689b21cd216\",\"title\":\"datastore not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 806, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-06T19:03:18.402Z", + "time": 154 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-OK-response_2198168048/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-OK-response_2198168048/frozen.json new file mode 100644 index 000000000000..6968c8cbd7b6 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-OK-response_2198168048/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:07.743Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-OK-response_2198168048/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-OK-response_2198168048/recording.har new file mode 100644 index 000000000000..c4952e142844 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-item-returns-OK-response_2198168048/recording.har @@ -0,0 +1,216 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Delete datastore item returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"ad9cc3b7-da9b-452d-8eab-a1e0a0a4e3d8\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:07.744Z", + "time": 168 + }, + { + "_id": "4cb325f3e6f77596e26d985719a8eeb4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 124, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 624, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conflict_mode\":\"fail_on_conflict\",\"values\":[{\"data\":\"test-value\",\"id\":\"test-key\"}]},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/ad9cc3b7-da9b-452d-8eab-a1e0a0a4e3d8/items/bulk" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/vnd.api+json", + "size": 71, + "text": "{\"data\":[{\"id\":\"8eee511f-e1bc-4a02-8805-1770bbdc4d2e\",\"type\":\"items\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 940, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:07.919Z", + "time": 157 + }, + { + "_id": "ce8255d32f2e23fc66ad3001fb8233fb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 62, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 616, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"item_key\":\"test-key\"},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/ad9cc3b7-da9b-452d-8eab-a1e0a0a4e3d8/items" + }, + "response": { + "bodySize": 69, + "content": { + "mimeType": "application/vnd.api+json", + "size": 69, + "text": "{\"data\":{\"id\":\"8eee511f-e1bc-4a02-8805-1770bbdc4d2e\",\"type\":\"items\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 805, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:08.082Z", + "time": 170 + }, + { + "_id": "d90a5aa2ad826f1a81b7277480123a78", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/ad9cc3b7-da9b-452d-8eab-a1e0a0a4e3d8" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"ad9cc3b7-da9b-452d-8eab-a1e0a0a4e3d8\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:08.272Z", + "time": 171 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-Bad-Request-response_2003852341/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-Bad-Request-response_2003852341/frozen.json new file mode 100644 index 000000000000..b7bf7106453f --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-Bad-Request-response_2003852341/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:08.448Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-Bad-Request-response_2003852341/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-Bad-Request-response_2003852341/recording.har new file mode 100644 index 000000000000..b260ae740042 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-Bad-Request-response_2003852341/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Delete datastore returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "9ac967a08efe4c445259d4058c442635", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 517, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/invalid-uuid" + }, + "response": { + "bodySize": 189, + "content": { + "mimeType": "application/vnd.api+json", + "size": 189, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"ee853859-fef5-4771-98bd-1af309286bc0\",\"title\":\"invalid path parameter\",\"detail\":\"invalid datastoreId format in path\",\"source\":{\"parameter\":\"datastoreId\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T22:54:08.450Z", + "time": 154 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-OK-response_2873322313/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-OK-response_2873322313/frozen.json new file mode 100644 index 000000000000..ba5834cbb3df --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-OK-response_2873322313/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:08.615Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-OK-response_2873322313/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-OK-response_2873322313/recording.har new file mode 100644 index 000000000000..ce92180cc67e --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Delete-datastore-returns-OK-response_2873322313/recording.har @@ -0,0 +1,152 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Delete datastore returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"8185f4a4-6cf6-4fde-a705-e248effe50fc\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:08.618Z", + "time": 158 + }, + { + "_id": "9493bfe6d7b13c5fa935f25ec72e049f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/8185f4a4-6cf6-4fde-a705-e248effe50fc" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"8185f4a4-6cf6-4fde-a705-e248effe50fc\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:08.782Z", + "time": 158 + }, + { + "_id": "9493bfe6d7b13c5fa935f25ec72e049f", + "_order": 1, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/8185f4a4-6cf6-4fde-a705-e248effe50fc" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "application/vnd.api+json", + "size": 0 + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 657, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:08.946Z", + "time": 147 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Bad-Request-response_1219510482/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Bad-Request-response_1219510482/frozen.json new file mode 100644 index 000000000000..2c931adb1c4a --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Bad-Request-response_1219510482/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:09.096Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Bad-Request-response_1219510482/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Bad-Request-response_1219510482/recording.har new file mode 100644 index 000000000000..3e8e83e33d9d --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Bad-Request-response_1219510482/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Get datastore returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "5e548b9da68e566f45ffe15937232294", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/invalid-uuid" + }, + "response": { + "bodySize": 189, + "content": { + "mimeType": "application/vnd.api+json", + "size": 189, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"51295683-ce69-48d6-8efb-4d877ff7e1b2\",\"title\":\"invalid path parameter\",\"detail\":\"invalid datastoreId format in path\",\"source\":{\"parameter\":\"datastoreId\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T22:54:09.098Z", + "time": 115 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Not-Found-response_1292498433/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Not-Found-response_1292498433/frozen.json new file mode 100644 index 000000000000..718e788ef083 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Not-Found-response_1292498433/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:09.218Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Not-Found-response_1292498433/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Not-Found-response_1292498433/recording.har new file mode 100644 index 000000000000..30f83d7a3737 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-Not-Found-response_1292498433/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Get datastore returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a60a64ca808862eefdc668fcf8999c3a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/5bf53b3f-b230-4b35-ab1a-b39f2633eb22" + }, + "response": { + "bodySize": 103, + "content": { + "mimeType": "application/vnd.api+json", + "size": 103, + "text": "{\"errors\":[{\"status\":\"404\",\"id\":\"d4aab06a-e0f9-4aff-9af4-bc99e2938ec3\",\"title\":\"datastore not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-05T22:54:09.219Z", + "time": 167 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-OK-response_2132349520/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-OK-response_2132349520/frozen.json new file mode 100644 index 000000000000..4738512510e0 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-OK-response_2132349520/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:09.394Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-OK-response_2132349520/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-OK-response_2132349520/recording.har new file mode 100644 index 000000000000..85e978b0efd8 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Get-datastore-returns-OK-response_2132349520/recording.har @@ -0,0 +1,153 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Get datastore returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"b06309e7-b4e9-4edb-a494-e5dd27d9525f\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:09.395Z", + "time": 172 + }, + { + "_id": "b914379ffa059b66217acbab33dc1bfe", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/b06309e7-b4e9-4edb-a494-e5dd27d9525f" + }, + "response": { + "bodySize": 386, + "content": { + "mimeType": "application/vnd.api+json", + "size": 386, + "text": "{\"data\":{\"id\":\"b06309e7-b4e9-4edb-a494-e5dd27d9525f\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-09-05T22:54:09.545626Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-09-05T22:54:09.545626Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:09.575Z", + "time": 150 + }, + { + "_id": "7b9a1ad207e3b69c0ff381241c4d5d66", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/b06309e7-b4e9-4edb-a494-e5dd27d9525f" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"b06309e7-b4e9-4edb-a494-e5dd27d9525f\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:09.728Z", + "time": 131 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Bad-Request-response_255097336/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Bad-Request-response_255097336/frozen.json new file mode 100644 index 000000000000..3af032ec765c --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Bad-Request-response_255097336/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:09.863Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Bad-Request-response_255097336/recording.har b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Bad-Request-response_255097336/recording.har new file mode 100644 index 000000000000..32e4f055568d --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Bad-Request-response_255097336/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Actions Datastores/List datastore items returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "89734d049511bd4e2cfcbdcea411cf1a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 536, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/invalid-uuid/items" + }, + "response": { + "bodySize": 189, + "content": { + "mimeType": "application/vnd.api+json", + "size": 189, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"d41a11e1-5db7-47bf-a542-b469768194dd\",\"title\":\"invalid path parameter\",\"detail\":\"invalid datastoreId format in path\",\"source\":{\"parameter\":\"datastoreId\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T22:54:09.866Z", + "time": 144 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Not-Found-response_6857551/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Not-Found-response_6857551/frozen.json new file mode 100644 index 000000000000..a43932cf330a --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Not-Found-response_6857551/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:10.018Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Not-Found-response_6857551/recording.har b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Not-Found-response_6857551/recording.har new file mode 100644 index 000000000000..52e527c3f577 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-Not-Found-response_6857551/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Actions Datastores/List datastore items returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "ab8625afa894dd2d0418a800c34fea08", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 560, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/3cfdd0b8-c490-4969-8d51-69add64a70ea/items" + }, + "response": { + "bodySize": 103, + "content": { + "mimeType": "application/vnd.api+json", + "size": 103, + "text": "{\"errors\":[{\"status\":\"404\",\"id\":\"1fe0de3f-9e9c-475b-8cb4-6ea831aa167f\",\"title\":\"datastore not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 806, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-05T22:54:10.022Z", + "time": 165 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-OK-response_2236082966/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-OK-response_2236082966/frozen.json new file mode 100644 index 000000000000..1d219ec2e629 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-OK-response_2236082966/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:10.195Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-OK-response_2236082966/recording.har b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-OK-response_2236082966/recording.har new file mode 100644 index 000000000000..9df2b085c006 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastore-items-returns-OK-response_2236082966/recording.har @@ -0,0 +1,206 @@ +{ + "log": { + "_recordingName": "Actions Datastores/List datastore items returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"edfe7784-570c-4984-a4ae-883642b561d8\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:10.198Z", + "time": 168 + }, + { + "_id": "2eb3dcf3df0bc563499aa6d50d4ab986", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 124, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 624, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conflict_mode\":\"fail_on_conflict\",\"values\":[{\"data\":\"test-value\",\"id\":\"test-key\"}]},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/edfe7784-570c-4984-a4ae-883642b561d8/items/bulk" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/vnd.api+json", + "size": 71, + "text": "{\"data\":[{\"id\":\"b20fe87b-f383-4afc-91ee-8fbc178942a2\",\"type\":\"items\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 941, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:10.371Z", + "time": 174 + }, + { + "_id": "e579ddb592d7b91ef9dfad5e95b142ae", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 560, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/edfe7784-570c-4984-a4ae-883642b561d8/items" + }, + "response": { + "bodySize": 850, + "content": { + "mimeType": "application/vnd.api+json", + "size": 850, + "text": "{\"data\":[{\"id\":\"b20fe87b-f383-4afc-91ee-8fbc178942a2\",\"type\":\"items\",\"attributes\":{\"created_at\":\"2025-09-05T22:54:10.544424Z\",\"modified_at\":\"2025-09-05T22:54:10.544424Z\",\"org_id\":321813,\"primary_column_name\":\"id\",\"signature\":\"{\\\"signature\\\":\\\"{\\\\\\\"version\\\\\\\":2,\\\\\\\"algorithm\\\\\\\":\\\\\\\"ecdsa-p384\\\\\\\",\\\\\\\"pubkey\\\\\\\":\\\\\\\"voTcDho3mVIVzY8m98GyVfIib84TgbZoHSWzVQ09TFU=\\\\\\\",\\\\\\\"timestamp\\\\\\\":1757112850,\\\\\\\"proof\\\\\\\":\\\\\\\"MGUCMDX1ijfjUxZK9hVzaMIxU+DociQUkZpkz7FD7tAiykeviU/66p2j1sDf4fYGK3agCwIxALarzvBhasIVGC46VgJuoC0MIkb5WyVWZKh50ist9OfVCQbbe4ZTKKvrW3pVQN34rg==\\\\\\\"}\\\",\\\"version\\\":1}\",\"store_id\":\"edfe7784-570c-4984-a4ae-883642b561d8\",\"value\":{\"data\":\"test-value\",\"id\":\"test-key\"}}}],\"meta\":{\"page\":{\"totalCount\":1,\"totalFilteredCount\":1,\"hasMore\":false},\"schema\":{\"primary_key\":\"id\",\"fields\":[{\"name\":\"id\",\"type\":\"STRING\"},{\"name\":\"data\",\"type\":\"JSON\"}]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 806, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:10.549Z", + "time": 164 + }, + { + "_id": "3bec8541728edab89ec32f9751960eff", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/edfe7784-570c-4984-a4ae-883642b561d8" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"edfe7784-570c-4984-a4ae-883642b561d8\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:10.721Z", + "time": 141 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastores-returns-OK-response_2604545467/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/List-datastores-returns-OK-response_2604545467/frozen.json new file mode 100644 index 000000000000..dc89b0f3296b --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastores-returns-OK-response_2604545467/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:10.870Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/List-datastores-returns-OK-response_2604545467/recording.har b/cassettes/v2/Actions-Datastores_3792888034/List-datastores-returns-OK-response_2604545467/recording.har new file mode 100644 index 000000000000..22caf2b90064 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/List-datastores-returns-OK-response_2604545467/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Actions Datastores/List datastores returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "ab9667182c5694c8d72ab79d99b6f9f6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 513, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 15504, + "content": { + "mimeType": "application/vnd.api+json", + "size": 15504, + "text": "{\"data\":[{\"id\":\"0ff20856-6af3-4b8a-bfa6-26ffd7f61551\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:45:48.532915Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:45:48.532915Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"1c60feb8-f9ea-4b81-9f7d-b0ae97b10cc7\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-11T21:33:38.587401Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-11T21:33:38.587401Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"1d38b58d-d7ac-4a47-be37-6457cea49630\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:42:31.923013Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:42:31.923013Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"1d6f1853-eb64-43a3-a85b-b187853393c7\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:41:27.399846Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:41:27.399846Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"236e7736-44d9-40d0-985f-1ab73f25ad09\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T18:02:29.490155Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T18:02:29.490155Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"2b0704ce-1efd-4485-976b-f272ea39a9b9\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T14:02:11.360529Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T14:02:11.360529Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"2bccd24d-715d-473f-8771-eff9370d14b9\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-11T22:19:07.258146Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-11T22:19:07.258146Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"31af63e6-8363-45a4-ad6b-d92ec256b005\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:27:41.246238Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:27:41.246238Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"3d4f33dd-41af-4b4e-94e0-a142cd47f83d\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:58:55.363703Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:58:55.363703Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"44f23b41-3925-4620-b5ad-641c0cac57b9\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:30:39.520162Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:30:39.520162Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"457cae9c-32ad-4598-9ac0-489c7d4fc20b\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:07:54.05107Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:07:54.05107Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"55a92f3e-6804-4f45-9ecf-7c09cef155ed\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:33:42.534986Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:33:42.534987Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"5b3664f0-faaa-4f1b-b067-f521aa156516\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:35:02.776449Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:35:02.776449Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"7059cb1d-20f6-44e6-a5ee-8eeb19b799e2\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:24:03.907384Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:24:03.907384Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"7ef9ca96-be6d-435c-b452-9e562beedb4a\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:27:38.411129Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:27:38.411129Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"8204dff8-7335-4e33-a28b-8f8a0dd47ad0\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T14:08:19.382083Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T14:08:19.382083Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"84e4ca89-9266-4fb3-a552-e6da080abc3f\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T18:11:58.405584Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T18:11:58.405584Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"858032d2-1c2f-4ac1-a434-de5773fc14c2\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T02:55:43.831724Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T02:55:43.831724Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"89c95311-d63a-4535-be9d-92a3912ec074\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-11T21:24:28.298273Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-11T21:24:28.298273Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"8b0fb519-c55f-45d5-b532-1645bed41a92\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:54:02.27972Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:54:02.27972Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"99366571-d1de-4a6f-9213-5c77a5468de9\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:50:10.748216Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:50:10.748217Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"9d9d7162-cfd2-40f1-b413-d2df89a5eba9\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:28:50.178882Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:28:50.178882Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"a751bca4-54eb-4739-a4a3-4779650f9fad\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:45:28.881437Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:45:28.881437Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"a78fe3e0-4325-459f-aca4-69c084ab818d\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:22:37.043971Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:22:37.043972Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"aec831f3-cbc3-411f-8ef0-23fdb834d549\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:36:12.428171Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:36:12.428171Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"b55b6d33-da75-4432-85fc-e0f0a28b4826\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:38:13.641577Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:38:13.641578Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"bd5e4649-674b-444f-850c-74625b0be9ab\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T18:03:00.425892Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T18:03:00.425892Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"be6825fd-82d5-4d9d-8db5-cc674404b710\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:01:57.110842Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:01:57.110843Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"c412c4b3-7d3d-4ac3-ace6-99abfc0a8567\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T02:57:09.998039Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T02:57:09.998039Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"c698d221-5dc9-44d3-ae61-a6a422d204ab\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:18:11.876246Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:18:11.876246Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"cd915e84-87b1-495d-a868-9c24578696e3\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:36:53.994588Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:36:53.994588Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"cfadef50-963b-45fa-8334-f33094ca6d76\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T14:29:33.425183Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T14:29:33.425183Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"d018730c-26cb-47af-ba93-3604d8a8ad74\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:35:23.034496Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:35:23.034496Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"d14f84a9-9a26-4b0d-bd6d-f7baf8c9a9ae\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:30:07.452804Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:30:07.452804Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"d3dedf8d-6620-4dec-bb8b-b0fa53b19135\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:45:16.371907Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:45:16.371907Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"d8cdfbae-8ec9-4c50-8459-5d55a7b5a945\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T17:27:01.039091Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T17:27:01.039091Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"de765300-fca1-4ab2-a441-a6633cd7f976\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T14:11:34.405607Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T14:11:34.405607Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"e174ff20-eff7-40b9-a472-b8ce2a8492d8\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-11T20:40:08.137413Z\",\"creator_user_id\":2320499,\"creator_user_uuid\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"description\":\"\",\"modified_at\":\"2025-08-11T20:40:08.137413Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"ea68e1d7-6e4d-40d2-a67f-f5c3c54aab2b\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:03:21.673996Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:03:21.673996Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"ee56b789-56b6-481c-851b-d0c14a7228d4\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T13:44:50.073893Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T13:44:50.073894Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}},{\"id\":\"f5a8ac6e-0cfb-44ad-b71d-28fd40a210a6\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-08-08T03:36:29.121686Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-08-08T03:36:29.121686Z\",\"name\":\"Test Datastore\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 666, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:10.876Z", + "time": 171 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Bad-Request-response_61809728/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Bad-Request-response_61809728/frozen.json new file mode 100644 index 000000000000..56df6763158a --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Bad-Request-response_61809728/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:11.057Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Bad-Request-response_61809728/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Bad-Request-response_61809728/recording.har new file mode 100644 index 000000000000..07d287d7c160 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Bad-Request-response_61809728/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Update datastore item returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7de9857a530e8f79017890e8415e029c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 72, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 591, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"item_changes\":{},\"item_key\":\"\"},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/invalid-uuid/items" + }, + "response": { + "bodySize": 189, + "content": { + "mimeType": "application/vnd.api+json", + "size": 189, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"f88d0b88-0d55-482b-9a90-3556ef7d6b4a\",\"title\":\"invalid path parameter\",\"detail\":\"invalid datastoreId format in path\",\"source\":{\"parameter\":\"datastoreId\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T22:54:11.060Z", + "time": 127 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Not-Found-response_1595611575/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Not-Found-response_1595611575/frozen.json new file mode 100644 index 000000000000..7293b3e95c84 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Not-Found-response_1595611575/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:11.195Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Not-Found-response_1595611575/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Not-Found-response_1595611575/recording.har new file mode 100644 index 000000000000..3e9cad53e684 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-Not-Found-response_1595611575/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Update datastore item returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "eb4e6f960835788b946b7bdecaa41629", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 79, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 615, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"item_changes\":{},\"item_key\":\"itemKey\"},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/3cfdd0b8-c490-4969-8d51-69add64a70ea/items" + }, + "response": { + "bodySize": 103, + "content": { + "mimeType": "application/vnd.api+json", + "size": 103, + "text": "{\"errors\":[{\"status\":\"404\",\"id\":\"d0d6adeb-c5cf-4dce-98d9-532cbc386b09\",\"title\":\"datastore not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 806, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-05T22:54:11.197Z", + "time": 127 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-OK-response_2080596110/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-OK-response_2080596110/frozen.json new file mode 100644 index 000000000000..06e26ace9000 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-OK-response_2080596110/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:11.331Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-OK-response_2080596110/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-OK-response_2080596110/recording.har new file mode 100644 index 000000000000..a638b20aa200 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-item-returns-OK-response_2080596110/recording.har @@ -0,0 +1,216 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Update datastore item returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"6d5556c8-04d7-45dc-9a08-cd671c4e519a\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:11.333Z", + "time": 168 + }, + { + "_id": "7a04330577c63475577f42fb5557012c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 124, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 624, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conflict_mode\":\"fail_on_conflict\",\"values\":[{\"data\":\"test-value\",\"id\":\"test-key\"}]},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/6d5556c8-04d7-45dc-9a08-cd671c4e519a/items/bulk" + }, + "response": { + "bodySize": 71, + "content": { + "mimeType": "application/vnd.api+json", + "size": 71, + "text": "{\"data\":[{\"id\":\"94c791a3-9cc2-44be-857e-95c11eb1eefd\",\"type\":\"items\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 940, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:11.506Z", + "time": 149 + }, + { + "_id": "93a537fb0a41dc8445d9adc0edcb24a2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 80, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 615, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"item_changes\":{},\"item_key\":\"test-key\"},\"type\":\"items\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/6d5556c8-04d7-45dc-9a08-cd671c4e519a/items" + }, + "response": { + "bodySize": 671, + "content": { + "mimeType": "application/vnd.api+json", + "size": 671, + "text": "{\"data\":{\"id\":\"94c791a3-9cc2-44be-857e-95c11eb1eefd\",\"type\":\"items\",\"attributes\":{\"created_at\":\"2025-09-05T22:54:11.652289Z\",\"modified_at\":\"2025-09-05T22:54:11.793763Z\",\"org_id\":321813,\"primary_column_name\":\"id\",\"signature\":\"{\\\"signature\\\":\\\"{\\\\\\\"version\\\\\\\":2,\\\\\\\"algorithm\\\\\\\":\\\\\\\"ecdsa-p384\\\\\\\",\\\\\\\"pubkey\\\\\\\":\\\\\\\"voTcDho3mVIVzY8m98GyVfIib84TgbZoHSWzVQ09TFU=\\\\\\\",\\\\\\\"timestamp\\\\\\\":1757112851,\\\\\\\"proof\\\\\\\":\\\\\\\"MGQCMGTEegXzPFeiOMj3tizwKvIXhJ2jLwzZW240N+HDLsvK2QIs1PD+6n/b15rdnABaigIwKYLG3PRtBKd8hV7eF4r9X5vM9fJvCyMPPi05K86m3lm22oxWEsDvLdgx0PxrojuT\\\\\\\"}\\\",\\\"version\\\":1}\",\"store_id\":\"6d5556c8-04d7-45dc-9a08-cd671c4e519a\",\"value\":{\"data\":\"test-value\",\"id\":\"test-key\"}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 806, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:11.661Z", + "time": 139 + }, + { + "_id": "30e81479497a13e80b39f54cd866bfc3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/6d5556c8-04d7-45dc-9a08-cd671c4e519a" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"6d5556c8-04d7-45dc-9a08-cd671c4e519a\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:11.808Z", + "time": 135 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Bad-Request-response_846207679/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Bad-Request-response_846207679/frozen.json new file mode 100644 index 000000000000..13f8248e9a3d --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Bad-Request-response_846207679/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:11.950Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Bad-Request-response_846207679/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Bad-Request-response_846207679/recording.har new file mode 100644 index 000000000000..8f289722200f --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Bad-Request-response_846207679/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Update datastore returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "f7e2be7c9634a82bc51d7c0402fda314", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 66, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{},\"id\":\"invalid-uuid\",\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/invalid-uuid" + }, + "response": { + "bodySize": 189, + "content": { + "mimeType": "application/vnd.api+json", + "size": 189, + "text": "{\"errors\":[{\"status\":\"400\",\"id\":\"22fc6f64-67c9-44ad-b6e0-094dd77c7690\",\"title\":\"invalid path parameter\",\"detail\":\"invalid datastoreId format in path\",\"source\":{\"parameter\":\"datastoreId\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T22:54:11.954Z", + "time": 134 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Not-Found-response_2656017816/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Not-Found-response_2656017816/frozen.json new file mode 100644 index 000000000000..86d00a0f2cb4 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Not-Found-response_2656017816/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:12.100Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Not-Found-response_2656017816/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Not-Found-response_2656017816/recording.har new file mode 100644 index 000000000000..2404835c8973 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-Not-Found-response_2656017816/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Update datastore returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7492d56221090cf2be6e1cef2c60d941", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 111, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 606, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"name\":\"updated name\"},\"id\":\"c1eb5bb8-726a-4e59-9a61-ccbb26f95329\",\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/c1eb5bb8-726a-4e59-9a61-ccbb26f95329" + }, + "response": { + "bodySize": 103, + "content": { + "mimeType": "application/vnd.api+json", + "size": 103, + "text": "{\"errors\":[{\"status\":\"404\",\"id\":\"9738106a-d613-4be1-ad98-88760c9e0e9f\",\"title\":\"datastore not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-05T22:54:12.102Z", + "time": 136 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-OK-response_2928111531/frozen.json b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-OK-response_2928111531/frozen.json new file mode 100644 index 000000000000..e34ebe464395 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-OK-response_2928111531/frozen.json @@ -0,0 +1 @@ +"2025-09-05T22:54:12.245Z" diff --git a/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-OK-response_2928111531/recording.har b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-OK-response_2928111531/recording.har new file mode 100644 index 000000000000..0272a67cfa40 --- /dev/null +++ b/cassettes/v2/Actions-Datastores_3792888034/Update-datastore-returns-OK-response_2928111531/recording.har @@ -0,0 +1,163 @@ +{ + "log": { + "_recordingName": "Actions Datastores/Update datastore returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6574cf7e1c5524e145d2b92f9fa74d2c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 181, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 568, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"\",\"name\":\"Test Datastore\",\"org_access\":\"contributor\",\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"},\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"785f6031-19e8-4dda-8ccc-f4e700ae5c99\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:12.246Z", + "time": 164 + }, + { + "_id": "fb0181e7c9a20aec4f0d5041e3f642d4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 111, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 606, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"name\":\"updated name\"},\"id\":\"785f6031-19e8-4dda-8ccc-f4e700ae5c99\",\"type\":\"datastores\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/785f6031-19e8-4dda-8ccc-f4e700ae5c99" + }, + "response": { + "bodySize": 384, + "content": { + "mimeType": "application/vnd.api+json", + "size": 384, + "text": "{\"data\":{\"id\":\"785f6031-19e8-4dda-8ccc-f4e700ae5c99\",\"type\":\"datastores\",\"attributes\":{\"created_at\":\"2025-09-05T22:54:12.386695Z\",\"creator_user_id\":1445416,\"creator_user_uuid\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"\",\"modified_at\":\"2025-09-05T22:54:12.575024Z\",\"name\":\"updated name\",\"org_id\":321813,\"primary_column_name\":\"id\",\"primary_key_generation_strategy\":\"none\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 659, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:12.418Z", + "time": 152 + }, + { + "_id": "2cb79983af8efb8e822236088882310c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 541, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/actions-datastores/785f6031-19e8-4dda-8ccc-f4e700ae5c99" + }, + "response": { + "bodySize": 74, + "content": { + "mimeType": "application/vnd.api+json", + "size": 74, + "text": "{\"data\":{\"id\":\"785f6031-19e8-4dda-8ccc-f4e700ae5c99\",\"type\":\"datastores\"}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 658, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T22:54:12.576Z", + "time": 117 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/CI-Visibility-Pipelines_2492627744/Send-several-pipeline-events-returns-Request-accepted-for-processing-response_1112707674/frozen.json b/cassettes/v2/CI-Visibility-Pipelines_2492627744/Send-several-pipeline-events-returns-Request-accepted-for-processing-response_1112707674/frozen.json new file mode 100644 index 000000000000..185918986f68 --- /dev/null +++ b/cassettes/v2/CI-Visibility-Pipelines_2492627744/Send-several-pipeline-events-returns-Request-accepted-for-processing-response_1112707674/frozen.json @@ -0,0 +1 @@ +"2025-09-02T15:10:26.479Z" diff --git a/cassettes/v2/CI-Visibility-Pipelines_2492627744/Send-several-pipeline-events-returns-Request-accepted-for-processing-response_1112707674/recording.har b/cassettes/v2/CI-Visibility-Pipelines_2492627744/Send-several-pipeline-events-returns-Request-accepted-for-processing-response_1112707674/recording.har new file mode 100644 index 000000000000..2e6a73d5c46b --- /dev/null +++ b/cassettes/v2/CI-Visibility-Pipelines_2492627744/Send-several-pipeline-events-returns-Request-accepted-for-processing-response_1112707674/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "CI Visibility Pipelines/Send several pipeline events returns \"Request accepted for processing\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "072988315f64383f647bdf106bca8593", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 1069, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 509, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":[{\"attributes\":{\"provider_name\":\"example-provider\",\"resource\":{\"end\":\"2025-09-02T15:09:56.479Z\",\"git\":{\"author_email\":\"john.doe@email.com\",\"repository_url\":\"https://github.com/DataDog/datadog-agent\",\"sha\":\"7f263865994b76066c4612fd1965215e7dcb4cd2\"},\"level\":\"pipeline\",\"name\":\"Deploy to AWS\",\"partial_retry\":false,\"start\":\"2025-09-02T15:08:26.479Z\",\"status\":\"success\",\"unique_id\":\"3eacb6f3-ff04-4e10-8a9c-46e6d054024a\",\"url\":\"https://my-ci-provider.example/pipelines/my-pipeline/run/1\"}},\"type\":\"cipipeline_resource_request\"},{\"attributes\":{\"provider_name\":\"example-provider\",\"resource\":{\"end\":\"2025-09-02T15:09:41.479Z\",\"git\":{\"author_email\":\"jane.smith@email.com\",\"repository_url\":\"https://github.com/DataDog/datadog-agent\",\"sha\":\"9a4f7c28b3e5d12f8e6c9b2a5d8f3e1c7b4a6d9e\"},\"level\":\"pipeline\",\"name\":\"Deploy to Production\",\"partial_retry\":false,\"start\":\"2025-09-02T15:07:26.479Z\",\"status\":\"success\",\"unique_id\":\"7b2c8f9e-aa15-4d22-9c7d-83f4e065138b\",\"url\":\"https://my-ci-provider.example/pipelines/prod-pipeline/run/2\"}},\"type\":\"cipipeline_resource_request\"}]}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/ci/pipeline" + }, + "response": { + "bodySize": 13, + "content": { + "mimeType": "application/vnd.api+json", + "size": 13, + "text": "{\"data\":null}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 676, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 202, + "statusText": "Accepted" + }, + "startedDateTime": "2025-09-02T15:10:26.749Z", + "time": 396 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Bad-Request-response_333943306/frozen.json b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Bad-Request-response_333943306/frozen.json new file mode 100644 index 000000000000..2d6b5c846cbf --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Bad-Request-response_333943306/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:08.891Z" diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Bad-Request-response_333943306/recording.har b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Bad-Request-response_333943306/recording.har new file mode 100644 index 000000000000..260a5c9defcc --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Bad-Request-response_333943306/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Incidents/Create incident notification rule returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "4bf993a719685870671d138b90cb252b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 341, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 600, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"00000000-0000-0000-0000-000000000000\",\"type\":\"incident_types\"}}},\"type\":\"invalid_type\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules" + }, + "response": { + "bodySize": 136, + "content": { + "mimeType": "application/vnd.api+json", + "size": 136, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"got type \\\"invalid_type\\\" expected one of \\\"incident_notification_rules\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-09T18:32:08.895Z", + "time": 129 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Created-response_2816819344/frozen.json b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Created-response_2816819344/frozen.json new file mode 100644 index 000000000000..39025e63b4ca --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Created-response_2816819344/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:09.032Z" diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Created-response_2816819344/recording.har b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Created-response_2816819344/recording.har new file mode 100644 index 000000000000..9fcfbbc8762a --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-rule-returns-Created-response_2816819344/recording.har @@ -0,0 +1,194 @@ +{ + "log": { + "_recordingName": "Incidents/Create incident notification rule returns \"Created\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 802, + "content": { + "mimeType": "application/vnd.api+json", + "size": 802, + "text": "{\"data\":{\"id\":\"107e7ed1-ec07-483f-a723-882ce86702ba\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-09T18:32:09.112896114Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-09T18:32:09.112896213Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:09.034Z", + "time": 188 + }, + { + "_id": "be87f38a377c6052443e2c757f463a06", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 356, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 600, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"107e7ed1-ec07-483f-a723-882ce86702ba\",\"type\":\"incident_types\"}}},\"type\":\"incident_notification_rules\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules" + }, + "response": { + "bodySize": 686, + "content": { + "mimeType": "application/vnd.api+json", + "size": 686, + "text": "{\"data\":{\"id\":\"93dada9a-d032-49a4-b445-0673aaebb888\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"created\":\"2025-09-09T18:32:09.321517146Z\",\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"modified\":\"2025-09-09T18:32:09.321517146Z\",\"renotify_on\":[],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"107e7ed1-ec07-483f-a723-882ce86702ba\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:09.227Z", + "time": 110 + }, + { + "_id": "5b2dfde465632fbf7f92ee21c6225cc6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/93dada9a-d032-49a4-b445-0673aaebb888" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:09.341Z", + "time": 110 + }, + { + "_id": "1aaaa50c7ce4b3680dca3b808825cc48", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/107e7ed1-ec07-483f-a723-882ce86702ba" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:09.463Z", + "time": 93 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Bad-Request-response_4267246950/frozen.json b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Bad-Request-response_4267246950/frozen.json new file mode 100644 index 000000000000..409310eea04b --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Bad-Request-response_4267246950/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:18:37.406Z" diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Bad-Request-response_4267246950/recording.har b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Bad-Request-response_4267246950/recording.har new file mode 100644 index 000000000000..963e8673557d --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Bad-Request-response_4267246950/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Incidents/Create incident notification template returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "f1ecffd685a94acdc8e098f5bb46bc53", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 205, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 608, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"alert\",\"content\":\"An incident has been declared. Please join the incident channel for updates.\",\"name\":\"Test Template\",\"subject\":\"Incident Alert\"},\"type\":\"invalid_type\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates" + }, + "response": { + "bodySize": 131, + "content": { + "mimeType": "application/vnd.api+json", + "size": 131, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"got type \\\"invalid_type\\\" expected one of \\\"notification_templates\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T02:18:37.411Z", + "time": 100 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Created-response_2440894804/frozen.json b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Created-response_2440894804/frozen.json new file mode 100644 index 000000000000..8af0035f6fd8 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Created-response_2440894804/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:18:47.764Z" diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Created-response_2440894804/recording.har b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Created-response_2440894804/recording.har new file mode 100644 index 000000000000..49099e130803 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Created-response_2440894804/recording.har @@ -0,0 +1,194 @@ +{ + "log": { + "_recordingName": "Incidents/Create incident notification template returns \"Created\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 801, + "content": { + "mimeType": "application/vnd.api+json", + "size": 801, + "text": "{\"data\":{\"id\":\"943312c7-755d-4167-9bd4-bd87603c1784\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-05T02:18:47.87671627Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-05T02:18:47.876716352Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:18:47.769Z", + "time": 229 + }, + { + "_id": "d227954b3a2dfd4229587303ffa1c9e4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 534, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 608, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"alert\",\"content\":\"An incident has been declared.\\n\\nTitle: Sample Incident Title\\nSeverity: SEV-2\\nAffected Services: web-service, database-service\\nStatus: active\\n\\nPlease join the incident channel for updates.\",\"name\":\"Test-Create_incident_notification_template_returns_Created_response-1757038727\",\"subject\":\"SEV-2 Incident: Sample Incident Title\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"943312c7-755d-4167-9bd4-bd87603c1784\",\"type\":\"incident_types\"}}},\"type\":\"notification_templates\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates" + }, + "response": { + "bodySize": 841, + "content": { + "mimeType": "application/vnd.api+json", + "size": 841, + "text": "{\"data\":{\"id\":\"ffbd2758-c695-4879-8355-07371b09aeea\",\"type\":\"notification_templates\",\"attributes\":{\"category\":\"alert\",\"content\":\"An incident has been declared.\\n\\nTitle: Sample Incident Title\\nSeverity: SEV-2\\nAffected Services: web-service, database-service\\nStatus: active\\n\\nPlease join the incident channel for updates.\",\"created\":\"2025-09-05T02:18:48.112073Z\",\"modified\":\"2025-09-05T02:18:48.112073Z\",\"name\":\"Test-Create_incident_notification_template_returns_Created_response-1757038727\",\"subject\":\"SEV-2 Incident: Sample Incident Title\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"943312c7-755d-4167-9bd4-bd87603c1784\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:18:48.011Z", + "time": 123 + }, + { + "_id": "cc62ba70349d2aa541ec6d6952278a1a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/ffbd2758-c695-4879-8355-07371b09aeea" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:18:48.151Z", + "time": 123 + }, + { + "_id": "e4267e0ade74c014f3ba6c5a74687822", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/943312c7-755d-4167-9bd4-bd87603c1784" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:18:48.281Z", + "time": 135 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Not-Found-response_748491693/frozen.json b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Not-Found-response_748491693/frozen.json new file mode 100644 index 000000000000..e7826782bf04 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Not-Found-response_748491693/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:18:58.276Z" diff --git a/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Not-Found-response_748491693/recording.har b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Not-Found-response_748491693/recording.har new file mode 100644 index 000000000000..2e9bef909d13 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Create-incident-notification-template-returns-Not-Found-response_748491693/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Incidents/Create incident notification template returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "764d22c724e8d860fbbfdd0f436c6d9c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 338, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 606, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"alert\",\"content\":\"An incident has been declared. Please join the incident channel for updates.\",\"name\":\"Incident Alert Template\",\"subject\":\"Incident Alert\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"00000000-1111-2222-3333-444444444444\",\"type\":\"incident_types\"}}},\"type\":\"notification_templates\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates" + }, + "response": { + "bodySize": 73, + "content": { + "mimeType": "application/vnd.api+json", + "size": 73, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"incident type not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-05T02:18:58.281Z", + "time": 116 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-No-Content-response_329003789/frozen.json b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-No-Content-response_329003789/frozen.json new file mode 100644 index 000000000000..7537e22c97d2 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-No-Content-response_329003789/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:13.145Z" diff --git a/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-No-Content-response_329003789/recording.har b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-No-Content-response_329003789/recording.har new file mode 100644 index 000000000000..ecd101ed7e10 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-No-Content-response_329003789/recording.har @@ -0,0 +1,237 @@ +{ + "log": { + "_recordingName": "Incidents/Delete incident notification rule returns \"No Content\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 802, + "content": { + "mimeType": "application/vnd.api+json", + "size": 802, + "text": "{\"data\":{\"id\":\"ad9ae59d-b9ce-494b-98b2-326fbcc804b9\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-09T18:32:13.227280334Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-09T18:32:13.227280425Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:13.148Z", + "time": 177 + }, + { + "_id": "4edea809df6770467c56841a4ea4da43", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 356, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 600, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"ad9ae59d-b9ce-494b-98b2-326fbcc804b9\",\"type\":\"incident_types\"}}},\"type\":\"incident_notification_rules\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules" + }, + "response": { + "bodySize": 686, + "content": { + "mimeType": "application/vnd.api+json", + "size": 686, + "text": "{\"data\":{\"id\":\"dc55d64f-6897-49b0-93b7-d2a34b010cab\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"created\":\"2025-09-09T18:32:13.449216494Z\",\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"modified\":\"2025-09-09T18:32:13.449216494Z\",\"renotify_on\":[],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"ad9ae59d-b9ce-494b-98b2-326fbcc804b9\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:13.340Z", + "time": 124 + }, + { + "_id": "5ce4a021c7780dda2dca8d37883233a4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/dc55d64f-6897-49b0-93b7-d2a34b010cab" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:13.475Z", + "time": 108 + }, + { + "_id": "5ce4a021c7780dda2dca8d37883233a4", + "_order": 1, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/dc55d64f-6897-49b0-93b7-d2a34b010cab" + }, + "response": { + "bodySize": 64, + "content": { + "mimeType": "application/vnd.api+json", + "size": 64, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"rule not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-09T18:32:13.590Z", + "time": 99 + }, + { + "_id": "9ec1c31922051e4191a56a44604a089b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/ad9ae59d-b9ce-494b-98b2-326fbcc804b9" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:13.694Z", + "time": 128 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-Not-Found-response_3764672834/frozen.json b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-Not-Found-response_3764672834/frozen.json new file mode 100644 index 000000000000..85788e7803a5 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-Not-Found-response_3764672834/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:13.827Z" diff --git a/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-Not-Found-response_3764672834/recording.har b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-Not-Found-response_3764672834/recording.har new file mode 100644 index 000000000000..ea5bc4ae7e69 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-rule-returns-Not-Found-response_3764672834/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Incidents/Delete incident notification rule returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "b3fad29a10a399c749856e7c8423bc04", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/00000000-0000-0000-0000-000000000001" + }, + "response": { + "bodySize": 64, + "content": { + "mimeType": "application/vnd.api+json", + "size": 64, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"rule not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-09T18:32:13.831Z", + "time": 132 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Delete-incident-notification-template-returns-No-Content-response_3683228869/frozen.json b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-template-returns-No-Content-response_3683228869/frozen.json new file mode 100644 index 000000000000..75daf0025e83 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-template-returns-No-Content-response_3683228869/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:19:08.418Z" diff --git a/cassettes/v2/Incidents_2863714588/Delete-incident-notification-template-returns-No-Content-response_3683228869/recording.har b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-template-returns-No-Content-response_3683228869/recording.har new file mode 100644 index 000000000000..31fc52f1d0a9 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Delete-incident-notification-template-returns-No-Content-response_3683228869/recording.har @@ -0,0 +1,237 @@ +{ + "log": { + "_recordingName": "Incidents/Delete incident notification template returns \"No Content\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 802, + "content": { + "mimeType": "application/vnd.api+json", + "size": 802, + "text": "{\"data\":{\"id\":\"d067e172-1ce4-4b59-ae6e-3f867e98c81e\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-05T02:19:08.514411675Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-05T02:19:08.514411774Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:19:08.423Z", + "time": 207 + }, + { + "_id": "8b9b9531c285eb4a8c91ea4652e57bee", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 358, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 608, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"alert\",\"content\":\"Test notification template\",\"name\":\"Test Template Test-Delete_incident_notification_template_returns_No_Content_response-1757038748\",\"subject\":\"Test Subject\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"d067e172-1ce4-4b59-ae6e-3f867e98c81e\",\"type\":\"incident_types\"}}},\"type\":\"notification_templates\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates" + }, + "response": { + "bodySize": 665, + "content": { + "mimeType": "application/vnd.api+json", + "size": 665, + "text": "{\"data\":{\"id\":\"15bb5f88-fdc8-45be-9b38-348cb42d421e\",\"type\":\"notification_templates\",\"attributes\":{\"category\":\"alert\",\"content\":\"Test notification template\",\"created\":\"2025-09-05T02:19:08.730505Z\",\"modified\":\"2025-09-05T02:19:08.730505Z\",\"name\":\"Test Template Test-Delete_incident_notification_template_returns_No_Content_response-1757038748\",\"subject\":\"Test Subject\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"d067e172-1ce4-4b59-ae6e-3f867e98c81e\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:19:08.637Z", + "time": 111 + }, + { + "_id": "1376cac6af4f788bc760cdc56734c358", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/15bb5f88-fdc8-45be-9b38-348cb42d421e" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:19:08.760Z", + "time": 137 + }, + { + "_id": "1376cac6af4f788bc760cdc56734c358", + "_order": 1, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/15bb5f88-fdc8-45be-9b38-348cb42d421e" + }, + "response": { + "bodySize": 49, + "content": { + "mimeType": "application/vnd.api+json", + "size": 49, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-05T02:19:08.906Z", + "time": 119 + }, + { + "_id": "8c8984903eae2862f3675e1f82e42d40", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/d067e172-1ce4-4b59-ae6e-3f867e98c81e" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:19:09.032Z", + "time": 114 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-Not-Found-response_540961611/frozen.json b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-Not-Found-response_540961611/frozen.json new file mode 100644 index 000000000000..ca4ebd658d57 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-Not-Found-response_540961611/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:20.351Z" diff --git a/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-Not-Found-response_540961611/recording.har b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-Not-Found-response_540961611/recording.har new file mode 100644 index 000000000000..ae00eb54026f --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-Not-Found-response_540961611/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Incidents/Get incident notification rule returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "c59ad2375b4e2051d048c88b1f66393f", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 580, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/00000000-0000-0000-0000-000000000001" + }, + "response": { + "bodySize": 64, + "content": { + "mimeType": "application/vnd.api+json", + "size": 64, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"rule not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-09T18:32:20.353Z", + "time": 69 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-OK-response_1285526930/frozen.json b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-OK-response_1285526930/frozen.json new file mode 100644 index 000000000000..6a0e85c31983 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-OK-response_1285526930/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:20.427Z" diff --git a/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-OK-response_1285526930/recording.har b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-OK-response_1285526930/recording.har new file mode 100644 index 000000000000..b8653f210deb --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Get-incident-notification-rule-returns-OK-response_1285526930/recording.har @@ -0,0 +1,237 @@ +{ + "log": { + "_recordingName": "Incidents/Get incident notification rule returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 802, + "content": { + "mimeType": "application/vnd.api+json", + "size": 802, + "text": "{\"data\":{\"id\":\"ba3134f6-c17f-415b-8023-776f53667031\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-09T18:32:20.515024463Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-09T18:32:20.515024553Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:20.429Z", + "time": 190 + }, + { + "_id": "6776f422eaaaa07562da5f388401bf66", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 356, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 600, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"ba3134f6-c17f-415b-8023-776f53667031\",\"type\":\"incident_types\"}}},\"type\":\"incident_notification_rules\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules" + }, + "response": { + "bodySize": 686, + "content": { + "mimeType": "application/vnd.api+json", + "size": 686, + "text": "{\"data\":{\"id\":\"d364309f-e1ee-4bdb-a6a2-508c21601f5d\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"created\":\"2025-09-09T18:32:20.702950616Z\",\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"modified\":\"2025-09-09T18:32:20.702950616Z\",\"renotify_on\":[],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"ba3134f6-c17f-415b-8023-776f53667031\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:20.622Z", + "time": 95 + }, + { + "_id": "61b00c5923d9b563f8fd05b17e6d4d1b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 580, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/d364309f-e1ee-4bdb-a6a2-508c21601f5d" + }, + "response": { + "bodySize": 678, + "content": { + "mimeType": "application/vnd.api+json", + "size": 678, + "text": "{\"data\":{\"id\":\"d364309f-e1ee-4bdb-a6a2-508c21601f5d\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"created\":\"2025-09-09T18:32:20.70295Z\",\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"modified\":\"2025-09-09T18:32:20.70295Z\",\"renotify_on\":[],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"ba3134f6-c17f-415b-8023-776f53667031\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-09T18:32:20.721Z", + "time": 121 + }, + { + "_id": "c3d4220a5b3fd1141e8b3b1fafc7555d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/d364309f-e1ee-4bdb-a6a2-508c21601f5d" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:20.846Z", + "time": 108 + }, + { + "_id": "f893a3cf648ae0cdfe0fb607ead764b6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/ba3134f6-c17f-415b-8023-776f53667031" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:20.966Z", + "time": 148 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Get-incident-notification-template-returns-OK-response_2167801298/frozen.json b/cassettes/v2/Incidents_2863714588/Get-incident-notification-template-returns-OK-response_2167801298/frozen.json new file mode 100644 index 000000000000..a158af7f0e8a --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Get-incident-notification-template-returns-OK-response_2167801298/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:19:18.985Z" diff --git a/cassettes/v2/Incidents_2863714588/Get-incident-notification-template-returns-OK-response_2167801298/recording.har b/cassettes/v2/Incidents_2863714588/Get-incident-notification-template-returns-OK-response_2167801298/recording.har new file mode 100644 index 000000000000..b26a3a3132d9 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Get-incident-notification-template-returns-OK-response_2167801298/recording.har @@ -0,0 +1,237 @@ +{ + "log": { + "_recordingName": "Incidents/Get incident notification template returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 802, + "content": { + "mimeType": "application/vnd.api+json", + "size": 802, + "text": "{\"data\":{\"id\":\"64f3b511-c83f-46cd-a07c-0120372df2d1\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-05T02:19:19.082876806Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-05T02:19:19.082876888Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:19:18.990Z", + "time": 212 + }, + { + "_id": "d9eb44941accaa9ac6d377011e1c61b9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 347, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 608, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"alert\",\"content\":\"Test notification template\",\"name\":\"Test Template Test-Get_incident_notification_template_returns_OK_response-1757038758\",\"subject\":\"Test Subject\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"64f3b511-c83f-46cd-a07c-0120372df2d1\",\"type\":\"incident_types\"}}},\"type\":\"notification_templates\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates" + }, + "response": { + "bodySize": 654, + "content": { + "mimeType": "application/vnd.api+json", + "size": 654, + "text": "{\"data\":{\"id\":\"85266d98-836e-4981-84ce-ffd443885b5c\",\"type\":\"notification_templates\",\"attributes\":{\"category\":\"alert\",\"content\":\"Test notification template\",\"created\":\"2025-09-05T02:19:19.310014Z\",\"modified\":\"2025-09-05T02:19:19.310014Z\",\"name\":\"Test Template Test-Get_incident_notification_template_returns_OK_response-1757038758\",\"subject\":\"Test Subject\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"64f3b511-c83f-46cd-a07c-0120372df2d1\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:19:19.214Z", + "time": 128 + }, + { + "_id": "fe57b22eab0c954124f228518c8b5b65", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 588, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/85266d98-836e-4981-84ce-ffd443885b5c" + }, + "response": { + "bodySize": 654, + "content": { + "mimeType": "application/vnd.api+json", + "size": 654, + "text": "{\"data\":{\"id\":\"85266d98-836e-4981-84ce-ffd443885b5c\",\"type\":\"notification_templates\",\"attributes\":{\"category\":\"alert\",\"content\":\"Test notification template\",\"created\":\"2025-09-05T02:19:19.310014Z\",\"modified\":\"2025-09-05T02:19:19.310014Z\",\"name\":\"Test Template Test-Get_incident_notification_template_returns_OK_response-1757038758\",\"subject\":\"Test Subject\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"64f3b511-c83f-46cd-a07c-0120372df2d1\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T02:19:19.350Z", + "time": 108 + }, + { + "_id": "430b04226514e66785b3d9be26bb1a0a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/85266d98-836e-4981-84ce-ffd443885b5c" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:19:19.467Z", + "time": 128 + }, + { + "_id": "bd7bf6e5e11672c67e8688810b309a41", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/64f3b511-c83f-46cd-a07c-0120372df2d1" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:19:19.599Z", + "time": 113 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/List-incident-notification-rules-returns-OK-response_2910478189/frozen.json b/cassettes/v2/Incidents_2863714588/List-incident-notification-rules-returns-OK-response_2910478189/frozen.json new file mode 100644 index 000000000000..8da2d7f0c580 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/List-incident-notification-rules-returns-OK-response_2910478189/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:22.504Z" diff --git a/cassettes/v2/Incidents_2863714588/List-incident-notification-rules-returns-OK-response_2910478189/recording.har b/cassettes/v2/Incidents_2863714588/List-incident-notification-rules-returns-OK-response_2910478189/recording.har new file mode 100644 index 000000000000..ca4378e6d9f1 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/List-incident-notification-rules-returns-OK-response_2910478189/recording.har @@ -0,0 +1,237 @@ +{ + "log": { + "_recordingName": "Incidents/List incident notification rules returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 802, + "content": { + "mimeType": "application/vnd.api+json", + "size": 802, + "text": "{\"data\":{\"id\":\"33eb6b19-1034-4233-9bfa-03e4ffbc18ca\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-09T18:32:22.588970617Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-09T18:32:22.588970732Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:22.512Z", + "time": 178 + }, + { + "_id": "476cf1a8bd40281bdd59b40242924096", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 356, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 600, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"33eb6b19-1034-4233-9bfa-03e4ffbc18ca\",\"type\":\"incident_types\"}}},\"type\":\"incident_notification_rules\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules" + }, + "response": { + "bodySize": 686, + "content": { + "mimeType": "application/vnd.api+json", + "size": 686, + "text": "{\"data\":{\"id\":\"94e7cf01-bf6e-4ad5-bb87-e91880318851\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"created\":\"2025-09-09T18:32:22.776194917Z\",\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"modified\":\"2025-09-09T18:32:22.776194917Z\",\"renotify_on\":[],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"33eb6b19-1034-4233-9bfa-03e4ffbc18ca\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:22.697Z", + "time": 91 + }, + { + "_id": "4753457547d8cd4913b1e0aecfd82a33", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 545, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules" + }, + "response": { + "bodySize": 742, + "content": { + "mimeType": "application/vnd.api+json", + "size": 742, + "text": "{\"data\":[{\"id\":\"94e7cf01-bf6e-4ad5-bb87-e91880318851\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"created\":\"2025-09-09T18:32:22.776194Z\",\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"modified\":\"2025-09-09T18:32:22.776194Z\",\"renotify_on\":[],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"33eb6b19-1034-4233-9bfa-03e4ffbc18ca\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}],\"meta\":{\"pagination\":{\"offset\":0,\"next_offset\":1,\"size\":1}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-09T18:32:22.792Z", + "time": 117 + }, + { + "_id": "6fe3884f0feb68350b394c96a5f11dd4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/94e7cf01-bf6e-4ad5-bb87-e91880318851" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:22.920Z", + "time": 93 + }, + { + "_id": "b19c730bf8435d970ff8898b819b2b01", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/33eb6b19-1034-4233-9bfa-03e4ffbc18ca" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:23.016Z", + "time": 106 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/List-incident-notification-templates-returns-OK-response_1531966673/frozen.json b/cassettes/v2/Incidents_2863714588/List-incident-notification-templates-returns-OK-response_1531966673/frozen.json new file mode 100644 index 000000000000..17d9ac27bec6 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/List-incident-notification-templates-returns-OK-response_1531966673/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:19:29.855Z" diff --git a/cassettes/v2/Incidents_2863714588/List-incident-notification-templates-returns-OK-response_1531966673/recording.har b/cassettes/v2/Incidents_2863714588/List-incident-notification-templates-returns-OK-response_1531966673/recording.har new file mode 100644 index 000000000000..4820be0cddd2 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/List-incident-notification-templates-returns-OK-response_1531966673/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Incidents/List incident notification templates returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "239ef584e5d53bf680e387340aeb07b5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 551, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates" + }, + "response": { + "bodySize": 11, + "content": { + "mimeType": "application/vnd.api+json", + "size": 11, + "text": "{\"data\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T02:19:29.859Z", + "time": 99 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Bad-Request-response_3617431363/frozen.json b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Bad-Request-response_3617431363/frozen.json new file mode 100644 index 000000000000..3c1c2b6b6eb1 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Bad-Request-response_3617431363/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:42.727Z" diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Bad-Request-response_3617431363/recording.har b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Bad-Request-response_3617431363/recording.har new file mode 100644 index 000000000000..089f4c4452f1 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Bad-Request-response_3617431363/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Incidents/Update incident notification rule returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "e2d9d3be1083d3f65c81637677cd9cb7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 385, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 636, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"id\":\"00000000-0000-0000-0000-000000000001\",\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"00000000-0000-0000-0000-000000000000\",\"type\":\"incident_types\"}}},\"type\":\"invalid_type\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/00000000-0000-0000-0000-000000000001" + }, + "response": { + "bodySize": 136, + "content": { + "mimeType": "application/vnd.api+json", + "size": 136, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"got type \\\"invalid_type\\\" expected one of \\\"incident_notification_rules\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-09T18:32:42.730Z", + "time": 69 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Not-Found-response_3406571844/frozen.json b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Not-Found-response_3406571844/frozen.json new file mode 100644 index 000000000000..dc2090802853 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Not-Found-response_3406571844/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:42.804Z" diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Not-Found-response_3406571844/recording.har b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Not-Found-response_3406571844/recording.har new file mode 100644 index 000000000000..5af1324e977d --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-Not-Found-response_3406571844/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Incidents/Update incident notification rule returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "22f89f86c1f68868f11951a2b4696b45", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 365, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 636, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\"]}],\"enabled\":false,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\"},\"id\":\"00000000-0000-0000-0000-000000000001\",\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"00000000-0000-0000-0000-000000000001\",\"type\":\"incident_types\"}}},\"type\":\"incident_notification_rules\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/00000000-0000-0000-0000-000000000001" + }, + "response": { + "bodySize": 77, + "content": { + "mimeType": "application/vnd.api+json", + "size": 77, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"incident type doesn't exist\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-09T18:32:42.808Z", + "time": 72 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-OK-response_4156461639/frozen.json b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-OK-response_4156461639/frozen.json new file mode 100644 index 000000000000..584df4acf5b1 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-OK-response_4156461639/frozen.json @@ -0,0 +1 @@ +"2025-09-09T18:32:42.885Z" diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-OK-response_4156461639/recording.har b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-OK-response_4156461639/recording.har new file mode 100644 index 000000000000..4ea1615553a5 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-rule-returns-OK-response_4156461639/recording.har @@ -0,0 +1,247 @@ +{ + "log": { + "_recordingName": "Incidents/Update incident notification rule returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 801, + "content": { + "mimeType": "application/vnd.api+json", + "size": 801, + "text": "{\"data\":{\"id\":\"2e166ce6-b249-46d1-8143-5ad4f5dda002\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-09T18:32:42.95399842Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-09T18:32:42.953998518Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 663, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:42.888Z", + "time": 162 + }, + { + "_id": "a30a6fcd56f383b37194438c64dd36b4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 356, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 600, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"2e166ce6-b249-46d1-8143-5ad4f5dda002\",\"type\":\"incident_types\"}}},\"type\":\"incident_notification_rules\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules" + }, + "response": { + "bodySize": 686, + "content": { + "mimeType": "application/vnd.api+json", + "size": 686, + "text": "{\"data\":{\"id\":\"01b558a4-32f7-4d4d-b46a-793dca40df48\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\",\"SEV-2\"]}],\"created\":\"2025-09-09T18:32:43.137893329Z\",\"enabled\":true,\"handles\":[\"@test-email@company.com\"],\"modified\":\"2025-09-09T18:32:43.137893329Z\",\"renotify_on\":[],\"trigger\":\"incident_created_trigger\",\"visibility\":\"organization\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"2e166ce6-b249-46d1-8143-5ad4f5dda002\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-09T18:32:43.059Z", + "time": 93 + }, + { + "_id": "18d6081ceb98aabd24d8c51a3bb4bcaf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 397, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 636, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\"]}],\"enabled\":false,\"handles\":[\"@updated-team-email@company.com\"],\"trigger\":\"incident_modified_trigger\",\"visibility\":\"private\"},\"id\":\"01b558a4-32f7-4d4d-b46a-793dca40df48\",\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"2e166ce6-b249-46d1-8143-5ad4f5dda002\",\"type\":\"incident_types\"}}},\"type\":\"incident_notification_rules\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/01b558a4-32f7-4d4d-b46a-793dca40df48" + }, + "response": { + "bodySize": 679, + "content": { + "mimeType": "application/vnd.api+json", + "size": 679, + "text": "{\"data\":{\"id\":\"01b558a4-32f7-4d4d-b46a-793dca40df48\",\"type\":\"incident_notification_rules\",\"attributes\":{\"conditions\":[{\"field\":\"severity\",\"values\":[\"SEV-1\"]}],\"created\":\"2025-09-09T18:32:43.137893Z\",\"enabled\":false,\"handles\":[\"@updated-team-email@company.com\"],\"modified\":\"2025-09-09T18:32:43.24636504Z\",\"renotify_on\":[],\"trigger\":\"incident_modified_trigger\",\"visibility\":\"private\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"2e166ce6-b249-46d1-8143-5ad4f5dda002\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-09T18:32:43.162Z", + "time": 99 + }, + { + "_id": "e7ba5345539f0f4f36f79c1d1b6ea4b6", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-rules/01b558a4-32f7-4d4d-b46a-793dca40df48" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:43.266Z", + "time": 93 + }, + { + "_id": "4e10bab5138589fc5509d2e37bc8b930", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/2e166ce6-b249-46d1-8143-5ad4f5dda002" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 602, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-09T18:32:43.363Z", + "time": 84 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Bad-Request-response_1785496415/frozen.json b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Bad-Request-response_1785496415/frozen.json new file mode 100644 index 000000000000..47cf057c6838 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Bad-Request-response_1785496415/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:19:40.063Z" diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Bad-Request-response_1785496415/recording.har b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Bad-Request-response_1785496415/recording.har new file mode 100644 index 000000000000..5b56bf39a163 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Bad-Request-response_1785496415/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Incidents/Update incident notification template returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7038fe00fae7bb0be89c229934a1a6a2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 243, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"update\",\"content\":\"Incident Status Update: For more details, visit the incident page.\",\"name\":\"Update Template\",\"subject\":\"Incident Update\"},\"id\":\"00000000-0000-0000-0000-000000000001\",\"type\":\"invalid_type\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/00000000-1111-2222-3333-444444444444" + }, + "response": { + "bodySize": 131, + "content": { + "mimeType": "application/vnd.api+json", + "size": 131, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"got type \\\"invalid_type\\\" expected one of \\\"notification_templates\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-09-05T02:19:40.068Z", + "time": 92 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Not-Found-response_82313528/frozen.json b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Not-Found-response_82313528/frozen.json new file mode 100644 index 000000000000..0465a92e3cbc --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Not-Found-response_82313528/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:19:50.591Z" diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Not-Found-response_82313528/recording.har b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Not-Found-response_82313528/recording.har new file mode 100644 index 000000000000..47175c02bba0 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-Not-Found-response_82313528/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Incidents/Update incident notification template returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "28f28077c17e6421484ca16d3a354df9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 259, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"update\",\"content\":\"Incident Status Update: For more details, visit the incident page.\",\"name\":\"Updated Template Name\",\"subject\":\"Incident Update\"},\"id\":\"00000000-1111-2222-3333-444444444444\",\"type\":\"notification_templates\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/00000000-1111-2222-3333-444444444444" + }, + "response": { + "bodySize": 49, + "content": { + "mimeType": "application/vnd.api+json", + "size": 49, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-09-05T02:19:50.596Z", + "time": 94 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-OK-response_2235900363/frozen.json b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-OK-response_2235900363/frozen.json new file mode 100644 index 000000000000..f83c52446bda --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-OK-response_2235900363/frozen.json @@ -0,0 +1 @@ +"2025-09-05T02:20:00.641Z" diff --git a/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-OK-response_2235900363/recording.har b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-OK-response_2235900363/recording.har new file mode 100644 index 000000000000..0ab6f7dc17d5 --- /dev/null +++ b/cassettes/v2/Incidents_2863714588/Update-incident-notification-template-returns-OK-response_2235900363/recording.har @@ -0,0 +1,247 @@ +{ + "log": { + "_recordingName": "Incidents/Update incident notification template returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "7bcfec665300989151e5e4d7e0833bd1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 223, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"name\":\"Security Incident\"},\"type\":\"incident_types\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types" + }, + "response": { + "bodySize": 802, + "content": { + "mimeType": "application/vnd.api+json", + "size": 802, + "text": "{\"data\":{\"id\":\"614d7660-ec56-4b27-98f5-3a58dfffba02\",\"type\":\"incident_types\",\"attributes\":{\"createdAt\":\"2025-09-05T02:20:00.720888811Z\",\"createdBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"description\":\"Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data.\",\"is_default\":false,\"lastModifiedBy\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"modifiedAt\":\"2025-09-05T02:20:00.720888909Z\",\"name\":\"Security Incident\",\"prefix\":\"IR\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"google_meet_configuration\":{\"data\":null},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"microsoft_teams_configuration\":{\"data\":null},\"zoom_configuration\":{\"data\":null}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 664, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:20:00.646Z", + "time": 182 + }, + { + "_id": "576d0bbfc344ba74783810eda3807563", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 350, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 608, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"alert\",\"content\":\"Test notification template\",\"name\":\"Test Template Test-Update_incident_notification_template_returns_OK_response-1757038800\",\"subject\":\"Test Subject\"},\"relationships\":{\"incident_type\":{\"data\":{\"id\":\"614d7660-ec56-4b27-98f5-3a58dfffba02\",\"type\":\"incident_types\"}}},\"type\":\"notification_templates\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates" + }, + "response": { + "bodySize": 657, + "content": { + "mimeType": "application/vnd.api+json", + "size": 657, + "text": "{\"data\":{\"id\":\"0975a4b5-8190-449c-8342-64dab1a90c65\",\"type\":\"notification_templates\",\"attributes\":{\"category\":\"alert\",\"content\":\"Test notification template\",\"created\":\"2025-09-05T02:20:00.936994Z\",\"modified\":\"2025-09-05T02:20:00.936994Z\",\"name\":\"Test Template Test-Update_incident_notification_template_returns_OK_response-1757038800\",\"subject\":\"Test Subject\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"614d7660-ec56-4b27-98f5-3a58dfffba02\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-09-05T02:20:00.838Z", + "time": 115 + }, + { + "_id": "254efdd9343f651607b7761f806fb54d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 481, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 646, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"category\":\"update\",\"content\":\"Incident Status Update:\\n\\nTitle: Sample Incident Title\\nNew Status: resolved\\nSeverity: SEV-2\\nServices: web-service, database-service\\nCommander: John Doe\\n\\nFor more details, visit the incident page.\",\"name\":\"Test-Update_incident_notification_template_returns_OK_response-1757038800\",\"subject\":\"Incident Update: Sample Incident Title - resolved\"},\"id\":\"0975a4b5-8190-449c-8342-64dab1a90c65\",\"type\":\"notification_templates\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/0975a4b5-8190-449c-8342-64dab1a90c65" + }, + "response": { + "bodySize": 857, + "content": { + "mimeType": "application/vnd.api+json", + "size": 857, + "text": "{\"data\":{\"id\":\"0975a4b5-8190-449c-8342-64dab1a90c65\",\"type\":\"notification_templates\",\"attributes\":{\"category\":\"update\",\"content\":\"Incident Status Update:\\n\\nTitle: Sample Incident Title\\nNew Status: resolved\\nSeverity: SEV-2\\nServices: web-service, database-service\\nCommander: John Doe\\n\\nFor more details, visit the incident page.\",\"created\":\"2025-09-05T02:20:00.936994Z\",\"modified\":\"2025-09-05T02:20:01.067409Z\",\"name\":\"Test-Update_incident_notification_template_returns_OK_response-1757038800\",\"subject\":\"Incident Update: Sample Incident Title - resolved\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"incident_type\":{\"data\":{\"id\":\"614d7660-ec56-4b27-98f5-3a58dfffba02\",\"type\":\"incident_types\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-05T02:20:00.967Z", + "time": 122 + }, + { + "_id": "12642529a6b4844c4b8b614311256417", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/notification-templates/0975a4b5-8190-449c-8342-64dab1a90c65" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:20:01.095Z", + "time": 104 + }, + { + "_id": "55bc228f4c398234694e04341a7e035e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/incidents/config/types/614d7660-ec56-4b27-98f5-3a58dfffba02" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 603, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2025-09-05T02:20:01.205Z", + "time": 123 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v2/actions-datastores/BulkWriteDatastoreItems.ts b/examples/v2/actions-datastores/BulkWriteDatastoreItems.ts new file mode 100644 index 000000000000..a63d8061cc23 --- /dev/null +++ b/examples/v2/actions-datastores/BulkWriteDatastoreItems.ts @@ -0,0 +1,41 @@ +/** + * Bulk write datastore items returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +// there is a valid "datastore" in the system +const DATASTORE_DATA_ID = process.env.DATASTORE_DATA_ID as string; + +const params: v2.ActionsDatastoresApiBulkWriteDatastoreItemsRequest = { + body: { + data: { + attributes: { + values: [ + { + id: "cust_3141", + name: "Johnathan", + }, + { + id: "cust_3142", + name: "Mary", + }, + ], + }, + type: "items", + }, + }, + datastoreId: DATASTORE_DATA_ID, +}; + +apiInstance + .bulkWriteDatastoreItems(params) + .then((data: v2.PutAppsDatastoreItemResponseArray) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/CreateDatastore.ts b/examples/v2/actions-datastores/CreateDatastore.ts new file mode 100644 index 000000000000..3bef3cef6b75 --- /dev/null +++ b/examples/v2/actions-datastores/CreateDatastore.ts @@ -0,0 +1,29 @@ +/** + * Create datastore returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +const params: v2.ActionsDatastoresApiCreateDatastoreRequest = { + body: { + data: { + attributes: { + name: "datastore-name", + primaryColumnName: "primaryKey", + }, + type: "datastores", + }, + }, +}; + +apiInstance + .createDatastore(params) + .then((data: v2.CreateAppsDatastoreResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/DeleteDatastore.ts b/examples/v2/actions-datastores/DeleteDatastore.ts new file mode 100644 index 000000000000..6f33e0700ac7 --- /dev/null +++ b/examples/v2/actions-datastores/DeleteDatastore.ts @@ -0,0 +1,24 @@ +/** + * Delete datastore returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +// there is a valid "datastore" in the system +const DATASTORE_DATA_ID = process.env.DATASTORE_DATA_ID as string; + +const params: v2.ActionsDatastoresApiDeleteDatastoreRequest = { + datastoreId: DATASTORE_DATA_ID, +}; + +apiInstance + .deleteDatastore(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/DeleteDatastoreItem.ts b/examples/v2/actions-datastores/DeleteDatastoreItem.ts new file mode 100644 index 000000000000..732b6aa2b7da --- /dev/null +++ b/examples/v2/actions-datastores/DeleteDatastoreItem.ts @@ -0,0 +1,32 @@ +/** + * Delete datastore item returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +// there is a valid "datastore" in the system +const DATASTORE_DATA_ID = process.env.DATASTORE_DATA_ID as string; + +const params: v2.ActionsDatastoresApiDeleteDatastoreItemRequest = { + body: { + data: { + attributes: { + itemKey: "test-key", + }, + type: "items", + }, + }, + datastoreId: DATASTORE_DATA_ID, +}; + +apiInstance + .deleteDatastoreItem(params) + .then((data: v2.DeleteAppsDatastoreItemResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/GetDatastore.ts b/examples/v2/actions-datastores/GetDatastore.ts new file mode 100644 index 000000000000..34955035ff80 --- /dev/null +++ b/examples/v2/actions-datastores/GetDatastore.ts @@ -0,0 +1,24 @@ +/** + * Get datastore returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +// there is a valid "datastore" in the system +const DATASTORE_DATA_ID = process.env.DATASTORE_DATA_ID as string; + +const params: v2.ActionsDatastoresApiGetDatastoreRequest = { + datastoreId: DATASTORE_DATA_ID, +}; + +apiInstance + .getDatastore(params) + .then((data: v2.Datastore) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/ListDatastoreItems.ts b/examples/v2/actions-datastores/ListDatastoreItems.ts new file mode 100644 index 000000000000..e9df7d2a5c0f --- /dev/null +++ b/examples/v2/actions-datastores/ListDatastoreItems.ts @@ -0,0 +1,24 @@ +/** + * List datastore items returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +// there is a valid "datastore" in the system +const DATASTORE_DATA_ID = process.env.DATASTORE_DATA_ID as string; + +const params: v2.ActionsDatastoresApiListDatastoreItemsRequest = { + datastoreId: DATASTORE_DATA_ID, +}; + +apiInstance + .listDatastoreItems(params) + .then((data: v2.ItemApiPayloadArray) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/ListDatastores.ts b/examples/v2/actions-datastores/ListDatastores.ts new file mode 100644 index 000000000000..c5c3894d96a3 --- /dev/null +++ b/examples/v2/actions-datastores/ListDatastores.ts @@ -0,0 +1,17 @@ +/** + * List datastores returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +apiInstance + .listDatastores() + .then((data: v2.DatastoreArray) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/UpdateDatastore.ts b/examples/v2/actions-datastores/UpdateDatastore.ts new file mode 100644 index 000000000000..7c3e55f4c6ab --- /dev/null +++ b/examples/v2/actions-datastores/UpdateDatastore.ts @@ -0,0 +1,33 @@ +/** + * Update datastore returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +// there is a valid "datastore" in the system +const DATASTORE_DATA_ID = process.env.DATASTORE_DATA_ID as string; + +const params: v2.ActionsDatastoresApiUpdateDatastoreRequest = { + body: { + data: { + attributes: { + name: "updated name", + }, + type: "datastores", + id: DATASTORE_DATA_ID, + }, + }, + datastoreId: DATASTORE_DATA_ID, +}; + +apiInstance + .updateDatastore(params) + .then((data: v2.Datastore) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/actions-datastores/UpdateDatastoreItem.ts b/examples/v2/actions-datastores/UpdateDatastoreItem.ts new file mode 100644 index 000000000000..e3bc9202e175 --- /dev/null +++ b/examples/v2/actions-datastores/UpdateDatastoreItem.ts @@ -0,0 +1,33 @@ +/** + * Update datastore item returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ActionsDatastoresApi(configuration); + +// there is a valid "datastore" in the system +const DATASTORE_DATA_ID = process.env.DATASTORE_DATA_ID as string; + +const params: v2.ActionsDatastoresApiUpdateDatastoreItemRequest = { + body: { + data: { + attributes: { + itemChanges: {}, + itemKey: "test-key", + }, + type: "items", + }, + }, + datastoreId: DATASTORE_DATA_ID, +}; + +apiInstance + .updateDatastoreItem(params) + .then((data: v2.ItemApiPayload) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/CreateAWSAccount.ts b/examples/v2/aws-integration/CreateAWSAccount.ts index 5a858672630f..cd79cd1ff8f5 100644 --- a/examples/v2/aws-integration/CreateAWSAccount.ts +++ b/examples/v2/aws-integration/CreateAWSAccount.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.createAWSAccount"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); const params: v2.AWSIntegrationApiCreateAWSAccountRequest = { diff --git a/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts b/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts index f11a81dd160d..2d8a337c3469 100644 --- a/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts +++ b/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.createAWSAccount"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); const params: v2.AWSIntegrationApiCreateAWSAccountRequest = { diff --git a/examples/v2/aws-integration/CreateNewAWSExternalID.ts b/examples/v2/aws-integration/CreateNewAWSExternalID.ts index ab45625f1bab..b4288f9b85cc 100644 --- a/examples/v2/aws-integration/CreateNewAWSExternalID.ts +++ b/examples/v2/aws-integration/CreateNewAWSExternalID.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.createNewAWSExternalID"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); apiInstance diff --git a/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts b/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts index 25af4e41ec8b..8d2b9fccb008 100644 --- a/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts +++ b/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.createNewAWSExternalID"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); apiInstance diff --git a/examples/v2/aws-integration/DeleteAWSAccount.ts b/examples/v2/aws-integration/DeleteAWSAccount.ts index 54a64b1948d7..1ef3a33e748f 100644 --- a/examples/v2/aws-integration/DeleteAWSAccount.ts +++ b/examples/v2/aws-integration/DeleteAWSAccount.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.deleteAWSAccount"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); // there is a valid "aws_account_v2" in the system diff --git a/examples/v2/aws-integration/GetAWSAccount.ts b/examples/v2/aws-integration/GetAWSAccount.ts index a1dfef1741f8..797caf7c0088 100644 --- a/examples/v2/aws-integration/GetAWSAccount.ts +++ b/examples/v2/aws-integration/GetAWSAccount.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.getAWSAccount"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); // there is a valid "aws_account_v2" in the system diff --git a/examples/v2/aws-integration/ListAWSAccounts.ts b/examples/v2/aws-integration/ListAWSAccounts.ts index 4fb28e210cde..84f59f866832 100644 --- a/examples/v2/aws-integration/ListAWSAccounts.ts +++ b/examples/v2/aws-integration/ListAWSAccounts.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.listAWSAccounts"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); apiInstance diff --git a/examples/v2/aws-integration/ListAWSNamespaces.ts b/examples/v2/aws-integration/ListAWSNamespaces.ts index 2b6b6fa69389..9873d5dd28ef 100644 --- a/examples/v2/aws-integration/ListAWSNamespaces.ts +++ b/examples/v2/aws-integration/ListAWSNamespaces.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.listAWSNamespaces"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); apiInstance diff --git a/examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts b/examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts index 69fc0958a435..41627ccff737 100644 --- a/examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts +++ b/examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.listAWSNamespaces"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); apiInstance diff --git a/examples/v2/aws-integration/UpdateAWSAccount.ts b/examples/v2/aws-integration/UpdateAWSAccount.ts index 76d070c23f08..87b4a0443fc2 100644 --- a/examples/v2/aws-integration/UpdateAWSAccount.ts +++ b/examples/v2/aws-integration/UpdateAWSAccount.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.updateAWSAccount"] = true; const apiInstance = new v2.AWSIntegrationApi(configuration); // there is a valid "aws_account_v2" in the system diff --git a/examples/v2/aws-logs-integration/ListAWSLogsServices.ts b/examples/v2/aws-logs-integration/ListAWSLogsServices.ts index 5b9f863d723f..c671655b08f4 100644 --- a/examples/v2/aws-logs-integration/ListAWSLogsServices.ts +++ b/examples/v2/aws-logs-integration/ListAWSLogsServices.ts @@ -5,7 +5,6 @@ import { client, v2 } from "@datadog/datadog-api-client"; const configuration = client.createConfiguration(); -configuration.unstableOperations["v2.listAWSLogsServices"] = true; const apiInstance = new v2.AWSLogsIntegrationApi(configuration); apiInstance diff --git a/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_2836340212.ts b/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_2836340212.ts new file mode 100644 index 000000000000..b2c3627ab292 --- /dev/null +++ b/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_2836340212.ts @@ -0,0 +1,66 @@ +/** + * Send several pipeline events returns "Request accepted for processing" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.CIVisibilityPipelinesApi(configuration); + +const params: v2.CIVisibilityPipelinesApiCreateCIAppPipelineEventRequest = { + body: { + data: [ + { + attributes: { + providerName: "example-provider", + resource: { + level: "pipeline", + uniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a", + name: "Deploy to AWS", + url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1", + start: new Date(new Date().getTime() + -120 * 1000), + end: new Date(new Date().getTime() + -30 * 1000), + status: "success", + partialRetry: false, + git: { + repositoryUrl: "https://github.com/DataDog/datadog-agent", + sha: "7f263865994b76066c4612fd1965215e7dcb4cd2", + authorEmail: "john.doe@email.com", + }, + }, + }, + type: "cipipeline_resource_request", + }, + { + attributes: { + providerName: "example-provider", + resource: { + level: "pipeline", + uniqueId: "7b2c8f9e-aa15-4d22-9c7d-83f4e065138b", + name: "Deploy to Production", + url: "https://my-ci-provider.example/pipelines/prod-pipeline/run/2", + start: new Date(new Date().getTime() + -180 * 1000), + end: new Date(new Date().getTime() + -45 * 1000), + status: "success", + partialRetry: false, + git: { + repositoryUrl: "https://github.com/DataDog/datadog-agent", + sha: "9a4f7c28b3e5d12f8e6c9b2a5d8f3e1c7b4a6d9e", + authorEmail: "jane.smith@email.com", + }, + }, + }, + type: "cipipeline_resource_request", + }, + ], + }, +}; + +apiInstance + .createCIAppPipelineEvent(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/CreateIncidentNotificationRule.ts b/examples/v2/incidents/CreateIncidentNotificationRule.ts new file mode 100644 index 000000000000..5c4ea1607fdd --- /dev/null +++ b/examples/v2/incidents/CreateIncidentNotificationRule.ts @@ -0,0 +1,53 @@ +/** + * Create an incident notification rule returns "Created" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +const params: v2.IncidentsApiCreateIncidentNotificationRuleRequest = { + body: { + data: { + attributes: { + conditions: [ + { + field: "severity", + values: ["SEV-1", "SEV-2"], + }, + ], + enabled: true, + handles: ["@team-email@company.com", "@slack-channel"], + renotifyOn: ["status", "severity"], + trigger: "incident_created_trigger", + visibility: "organization", + }, + relationships: { + incidentType: { + data: { + id: "00000000-0000-0000-0000-000000000000", + type: "incident_types", + }, + }, + notificationTemplate: { + data: { + id: "00000000-0000-0000-0000-000000000001", + type: "notification_templates", + }, + }, + }, + type: "incident_notification_rules", + }, + }, +}; + +apiInstance + .createIncidentNotificationRule(params) + .then((data: v2.IncidentNotificationRule) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/CreateIncidentNotificationRule_3029800608.ts b/examples/v2/incidents/CreateIncidentNotificationRule_3029800608.ts new file mode 100644 index 000000000000..0b431cc760a9 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentNotificationRule_3029800608.ts @@ -0,0 +1,49 @@ +/** + * Create incident notification rule returns "Created" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "incident_type" in the system +const INCIDENT_TYPE_DATA_ID = process.env.INCIDENT_TYPE_DATA_ID as string; + +const params: v2.IncidentsApiCreateIncidentNotificationRuleRequest = { + body: { + data: { + attributes: { + conditions: [ + { + field: "severity", + values: ["SEV-1", "SEV-2"], + }, + ], + handles: ["@test-email@company.com"], + visibility: "organization", + trigger: "incident_created_trigger", + enabled: true, + }, + relationships: { + incidentType: { + data: { + id: INCIDENT_TYPE_DATA_ID, + type: "incident_types", + }, + }, + }, + type: "incident_notification_rules", + }, + }, +}; + +apiInstance + .createIncidentNotificationRule(params) + .then((data: v2.IncidentNotificationRule) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/CreateIncidentNotificationTemplate.ts b/examples/v2/incidents/CreateIncidentNotificationTemplate.ts new file mode 100644 index 000000000000..c014de1fc6bf --- /dev/null +++ b/examples/v2/incidents/CreateIncidentNotificationTemplate.ts @@ -0,0 +1,45 @@ +/** + * Create incident notification template returns "Created" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createIncidentNotificationTemplate"] = + true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "incident_type" in the system +const INCIDENT_TYPE_DATA_ID = process.env.INCIDENT_TYPE_DATA_ID as string; + +const params: v2.IncidentsApiCreateIncidentNotificationTemplateRequest = { + body: { + data: { + attributes: { + category: "alert", + content: + "An incident has been declared.\n\nTitle: Sample Incident Title\nSeverity: SEV-2\nAffected Services: web-service, database-service\nStatus: active\n\nPlease join the incident channel for updates.", + name: "Example-Incident", + subject: "SEV-2 Incident: Sample Incident Title", + }, + relationships: { + incidentType: { + data: { + id: INCIDENT_TYPE_DATA_ID, + type: "incident_types", + }, + }, + }, + type: "notification_templates", + }, + }, +}; + +apiInstance + .createIncidentNotificationTemplate(params) + .then((data: v2.IncidentNotificationTemplate) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/DeleteIncidentNotificationRule.ts b/examples/v2/incidents/DeleteIncidentNotificationRule.ts new file mode 100644 index 000000000000..f903ffe0c051 --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentNotificationRule.ts @@ -0,0 +1,22 @@ +/** + * Delete an incident notification rule returns "No Content" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.deleteIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +const params: v2.IncidentsApiDeleteIncidentNotificationRuleRequest = { + id: "00000000-0000-0000-0000-000000000001", +}; + +apiInstance + .deleteIncidentNotificationRule(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/DeleteIncidentNotificationRule_4148107167.ts b/examples/v2/incidents/DeleteIncidentNotificationRule_4148107167.ts new file mode 100644 index 000000000000..3227988309ac --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentNotificationRule_4148107167.ts @@ -0,0 +1,26 @@ +/** + * Delete incident notification rule returns "No Content" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.deleteIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "notification_rule" in the system +const NOTIFICATION_RULE_DATA_ID = process.env + .NOTIFICATION_RULE_DATA_ID as string; + +const params: v2.IncidentsApiDeleteIncidentNotificationRuleRequest = { + id: NOTIFICATION_RULE_DATA_ID, +}; + +apiInstance + .deleteIncidentNotificationRule(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/DeleteIncidentNotificationTemplate.ts b/examples/v2/incidents/DeleteIncidentNotificationTemplate.ts new file mode 100644 index 000000000000..a9181e0a53ae --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentNotificationTemplate.ts @@ -0,0 +1,23 @@ +/** + * Delete a notification template returns "No Content" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.deleteIncidentNotificationTemplate"] = + true; +const apiInstance = new v2.IncidentsApi(configuration); + +const params: v2.IncidentsApiDeleteIncidentNotificationTemplateRequest = { + id: "00000000-0000-0000-0000-000000000001", +}; + +apiInstance + .deleteIncidentNotificationTemplate(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/DeleteIncidentNotificationTemplate_1602689347.ts b/examples/v2/incidents/DeleteIncidentNotificationTemplate_1602689347.ts new file mode 100644 index 000000000000..bc39532b729f --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentNotificationTemplate_1602689347.ts @@ -0,0 +1,27 @@ +/** + * Delete incident notification template returns "No Content" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.deleteIncidentNotificationTemplate"] = + true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "notification_template" in the system +const NOTIFICATION_TEMPLATE_DATA_ID = process.env + .NOTIFICATION_TEMPLATE_DATA_ID as string; + +const params: v2.IncidentsApiDeleteIncidentNotificationTemplateRequest = { + id: NOTIFICATION_TEMPLATE_DATA_ID, +}; + +apiInstance + .deleteIncidentNotificationTemplate(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/GetIncidentNotificationRule.ts b/examples/v2/incidents/GetIncidentNotificationRule.ts new file mode 100644 index 000000000000..d31f3617e489 --- /dev/null +++ b/examples/v2/incidents/GetIncidentNotificationRule.ts @@ -0,0 +1,22 @@ +/** + * Get an incident notification rule returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.getIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +const params: v2.IncidentsApiGetIncidentNotificationRuleRequest = { + id: "00000000-0000-0000-0000-000000000001", +}; + +apiInstance + .getIncidentNotificationRule(params) + .then((data: v2.IncidentNotificationRule) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/GetIncidentNotificationRule_67441486.ts b/examples/v2/incidents/GetIncidentNotificationRule_67441486.ts new file mode 100644 index 000000000000..7847eac24e85 --- /dev/null +++ b/examples/v2/incidents/GetIncidentNotificationRule_67441486.ts @@ -0,0 +1,26 @@ +/** + * Get incident notification rule returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.getIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "notification_rule" in the system +const NOTIFICATION_RULE_DATA_ID = process.env + .NOTIFICATION_RULE_DATA_ID as string; + +const params: v2.IncidentsApiGetIncidentNotificationRuleRequest = { + id: NOTIFICATION_RULE_DATA_ID, +}; + +apiInstance + .getIncidentNotificationRule(params) + .then((data: v2.IncidentNotificationRule) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/GetIncidentNotificationTemplate.ts b/examples/v2/incidents/GetIncidentNotificationTemplate.ts new file mode 100644 index 000000000000..470c470e1df1 --- /dev/null +++ b/examples/v2/incidents/GetIncidentNotificationTemplate.ts @@ -0,0 +1,26 @@ +/** + * Get incident notification template returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.getIncidentNotificationTemplate"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "notification_template" in the system +const NOTIFICATION_TEMPLATE_DATA_ID = process.env + .NOTIFICATION_TEMPLATE_DATA_ID as string; + +const params: v2.IncidentsApiGetIncidentNotificationTemplateRequest = { + id: NOTIFICATION_TEMPLATE_DATA_ID, +}; + +apiInstance + .getIncidentNotificationTemplate(params) + .then((data: v2.IncidentNotificationTemplate) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/ListIncidentNotificationRules.ts b/examples/v2/incidents/ListIncidentNotificationRules.ts new file mode 100644 index 000000000000..87468983cfc3 --- /dev/null +++ b/examples/v2/incidents/ListIncidentNotificationRules.ts @@ -0,0 +1,18 @@ +/** + * List incident notification rules returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listIncidentNotificationRules"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +apiInstance + .listIncidentNotificationRules() + .then((data: v2.IncidentNotificationRuleArray) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/ListIncidentNotificationTemplates.ts b/examples/v2/incidents/ListIncidentNotificationTemplates.ts new file mode 100644 index 000000000000..29779d28d9e7 --- /dev/null +++ b/examples/v2/incidents/ListIncidentNotificationTemplates.ts @@ -0,0 +1,18 @@ +/** + * List incident notification templates returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listIncidentNotificationTemplates"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +apiInstance + .listIncidentNotificationTemplates() + .then((data: v2.IncidentNotificationTemplateArray) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/UpdateIncidentNotificationRule.ts b/examples/v2/incidents/UpdateIncidentNotificationRule.ts new file mode 100644 index 000000000000..396a47cd5071 --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentNotificationRule.ts @@ -0,0 +1,55 @@ +/** + * Update an incident notification rule returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.updateIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +const params: v2.IncidentsApiUpdateIncidentNotificationRuleRequest = { + body: { + data: { + attributes: { + conditions: [ + { + field: "severity", + values: ["SEV-1", "SEV-2"], + }, + ], + enabled: true, + handles: ["@team-email@company.com", "@slack-channel"], + renotifyOn: ["status", "severity"], + trigger: "incident_created_trigger", + visibility: "organization", + }, + id: "00000000-0000-0000-0000-000000000001", + relationships: { + incidentType: { + data: { + id: "00000000-0000-0000-0000-000000000000", + type: "incident_types", + }, + }, + notificationTemplate: { + data: { + id: "00000000-0000-0000-0000-000000000001", + type: "notification_templates", + }, + }, + }, + type: "incident_notification_rules", + }, + }, + id: "00000000-0000-0000-0000-000000000001", +}; + +apiInstance + .updateIncidentNotificationRule(params) + .then((data: v2.IncidentNotificationRule) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/UpdateIncidentNotificationRule_1207309457.ts b/examples/v2/incidents/UpdateIncidentNotificationRule_1207309457.ts new file mode 100644 index 000000000000..b10bf6099b1c --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentNotificationRule_1207309457.ts @@ -0,0 +1,55 @@ +/** + * Update incident notification rule returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.updateIncidentNotificationRule"] = true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "notification_rule" in the system +const NOTIFICATION_RULE_DATA_ID = process.env + .NOTIFICATION_RULE_DATA_ID as string; + +// there is a valid "incident_type" in the system +const INCIDENT_TYPE_DATA_ID = process.env.INCIDENT_TYPE_DATA_ID as string; + +const params: v2.IncidentsApiUpdateIncidentNotificationRuleRequest = { + body: { + data: { + attributes: { + enabled: false, + conditions: [ + { + field: "severity", + values: ["SEV-1"], + }, + ], + handles: ["@updated-team-email@company.com"], + visibility: "private", + trigger: "incident_modified_trigger", + }, + relationships: { + incidentType: { + data: { + id: INCIDENT_TYPE_DATA_ID, + type: "incident_types", + }, + }, + }, + id: NOTIFICATION_RULE_DATA_ID, + type: "incident_notification_rules", + }, + }, + id: NOTIFICATION_RULE_DATA_ID, +}; + +apiInstance + .updateIncidentNotificationRule(params) + .then((data: v2.IncidentNotificationRule) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/incidents/UpdateIncidentNotificationTemplate.ts b/examples/v2/incidents/UpdateIncidentNotificationTemplate.ts new file mode 100644 index 000000000000..a8d21094f8b2 --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentNotificationTemplate.ts @@ -0,0 +1,40 @@ +/** + * Update incident notification template returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.updateIncidentNotificationTemplate"] = + true; +const apiInstance = new v2.IncidentsApi(configuration); + +// there is a valid "notification_template" in the system +const NOTIFICATION_TEMPLATE_DATA_ID = process.env + .NOTIFICATION_TEMPLATE_DATA_ID as string; + +const params: v2.IncidentsApiUpdateIncidentNotificationTemplateRequest = { + body: { + data: { + attributes: { + category: "update", + content: + "Incident Status Update:\n\nTitle: Sample Incident Title\nNew Status: resolved\nSeverity: SEV-2\nServices: web-service, database-service\nCommander: John Doe\n\nFor more details, visit the incident page.", + name: "Example-Incident", + subject: "Incident Update: Sample Incident Title - resolved", + }, + id: NOTIFICATION_TEMPLATE_DATA_ID, + type: "notification_templates", + }, + }, + id: NOTIFICATION_TEMPLATE_DATA_ID, +}; + +apiInstance + .updateIncidentNotificationTemplate(params) + .then((data: v2.IncidentNotificationTemplate) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index 1411b4ad4902..a8ee71ebbe41 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -2344,6 +2344,101 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "v1.Validate": { "operationResponseType": "AuthenticationValidationResponse", }, + "v2.ListDatastores": { + "operationResponseType": "DatastoreArray", + }, + "v2.CreateDatastore": { + "body": { + "type": "CreateAppsDatastoreRequest", + "format": "", + }, + "operationResponseType": "CreateAppsDatastoreResponse", + }, + "v2.GetDatastore": { + "datastoreId": { + "type": "string", + "format": "", + }, + "operationResponseType": "Datastore", + }, + "v2.DeleteDatastore": { + "datastoreId": { + "type": "string", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.UpdateDatastore": { + "datastoreId": { + "type": "string", + "format": "", + }, + "body": { + "type": "UpdateAppsDatastoreRequest", + "format": "", + }, + "operationResponseType": "Datastore", + }, + "v2.ListDatastoreItems": { + "datastoreId": { + "type": "string", + "format": "", + }, + "filter": { + "type": "string", + "format": "", + }, + "itemKey": { + "type": "string", + "format": "", + }, + "pageLimit": { + "type": "number", + "format": "int64", + }, + "pageOffset": { + "type": "number", + "format": "int64", + }, + "sort": { + "type": "string", + "format": "", + }, + "operationResponseType": "ItemApiPayloadArray", + }, + "v2.DeleteDatastoreItem": { + "datastoreId": { + "type": "string", + "format": "", + }, + "body": { + "type": "DeleteAppsDatastoreItemRequest", + "format": "", + }, + "operationResponseType": "DeleteAppsDatastoreItemResponse", + }, + "v2.UpdateDatastoreItem": { + "datastoreId": { + "type": "string", + "format": "", + }, + "body": { + "type": "UpdateAppsDatastoreItemRequest", + "format": "", + }, + "operationResponseType": "ItemApiPayload", + }, + "v2.BulkWriteDatastoreItems": { + "datastoreId": { + "type": "string", + "format": "", + }, + "body": { + "type": "BulkPutAppsDatastoreItemsRequest", + "format": "", + }, + "operationResponseType": "PutAppsDatastoreItemResponseArray", + }, "v2.ListAppKeyRegistrations": { "pageSize": { "type": "number", @@ -5013,6 +5108,112 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "IncidentResponse", }, + "v2.ListIncidentNotificationRules": { + "include": { + "type": "string", + "format": "", + }, + "operationResponseType": "IncidentNotificationRuleArray", + }, + "v2.CreateIncidentNotificationRule": { + "body": { + "type": "CreateIncidentNotificationRuleRequest", + "format": "", + }, + "operationResponseType": "IncidentNotificationRule", + }, + "v2.GetIncidentNotificationRule": { + "id": { + "type": "string", + "format": "uuid", + }, + "include": { + "type": "string", + "format": "", + }, + "operationResponseType": "IncidentNotificationRule", + }, + "v2.UpdateIncidentNotificationRule": { + "id": { + "type": "string", + "format": "uuid", + }, + "include": { + "type": "string", + "format": "", + }, + "body": { + "type": "PutIncidentNotificationRuleRequest", + "format": "", + }, + "operationResponseType": "IncidentNotificationRule", + }, + "v2.DeleteIncidentNotificationRule": { + "id": { + "type": "string", + "format": "uuid", + }, + "include": { + "type": "string", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.ListIncidentNotificationTemplates": { + "filterIncidentType": { + "type": "string", + "format": "uuid", + }, + "include": { + "type": "string", + "format": "", + }, + "operationResponseType": "IncidentNotificationTemplateArray", + }, + "v2.CreateIncidentNotificationTemplate": { + "body": { + "type": "CreateIncidentNotificationTemplateRequest", + "format": "", + }, + "operationResponseType": "IncidentNotificationTemplate", + }, + "v2.GetIncidentNotificationTemplate": { + "id": { + "type": "string", + "format": "uuid", + }, + "include": { + "type": "string", + "format": "", + }, + "operationResponseType": "IncidentNotificationTemplate", + }, + "v2.DeleteIncidentNotificationTemplate": { + "id": { + "type": "string", + "format": "uuid", + }, + "include": { + "type": "string", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.UpdateIncidentNotificationTemplate": { + "id": { + "type": "string", + "format": "uuid", + }, + "include": { + "type": "string", + "format": "", + }, + "body": { + "type": "PatchIncidentNotificationTemplateRequest", + "format": "", + }, + "operationResponseType": "IncidentNotificationTemplate", + }, "v2.ListIncidentTypes": { "includeDeleted": { "type": "boolean", @@ -6122,6 +6323,22 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "operationResponseType": "IntakePayloadAccepted", }, "v2.GetMonitorNotificationRules": { + "page": { + "type": "number", + "format": "int32", + }, + "perPage": { + "type": "number", + "format": "int32", + }, + "sort": { + "type": "string", + "format": "", + }, + "filters": { + "type": "string", + "format": "", + }, "include": { "type": "string", "format": "", @@ -6554,6 +6771,22 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "operationResponseType": "{}", }, "v2.ListOrgConnections": { + "sinkOrgId": { + "type": "string", + "format": "", + }, + "sourceOrgId": { + "type": "string", + "format": "", + }, + "limit": { + "type": "number", + "format": "int64", + }, + "offset": { + "type": "number", + "format": "int64", + }, "operationResponseType": "OrgConnectionListResponse", }, "v2.CreateOrgConnections": { diff --git a/features/v1/gcp_integration.feature b/features/v1/gcp_integration.feature index 33a06d39fe92..5e6bccf3a7ce 100644 --- a/features/v1/gcp_integration.feature +++ b/features/v1/gcp_integration.feature @@ -13,7 +13,7 @@ Feature: GCP Integration @generated @skip @team:DataDog/gcp-integrations Scenario: Create a GCP integration returns "Bad Request" response Given new "CreateGCPIntegration" request - And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} + And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "$KEY1:$VALUE1,$KEY2:$VALUE2", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}], "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} When the request is sent Then the response status is 400 Bad Request @@ -27,7 +27,7 @@ Feature: GCP Integration @generated @skip @team:DataDog/gcp-integrations Scenario: Delete a GCP integration returns "Bad Request" response Given new "DeleteGCPIntegration" request - And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} + And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "$KEY1:$VALUE1,$KEY2:$VALUE2", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}], "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} When the request is sent Then the response status is 400 Bad Request @@ -62,7 +62,7 @@ Feature: GCP Integration @generated @skip @team:DataDog/gcp-integrations Scenario: Update a GCP integration returns "Bad Request" response Given new "UpdateGCPIntegration" request - And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} + And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "api-dev@datadog-sandbox.iam.gserviceaccount.com", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "$KEY1:$VALUE1,$KEY2:$VALUE2", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}], "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"} When the request is sent Then the response status is 400 Bad Request diff --git a/features/v2/actions_datastores.feature b/features/v2/actions_datastores.feature new file mode 100644 index 000000000000..ed19da3aec27 --- /dev/null +++ b/features/v2/actions_datastores.feature @@ -0,0 +1,220 @@ +@endpoint(actions-datastores) @endpoint(actions-datastores-v2) +Feature: Actions Datastores + Leverage the Actions Datastore API to create, modify, and delete items in + datastores owned by your organization. + + Background: + Given an instance of "ActionsDatastores" API + And a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + + @team:DataDog/app-builder-backend + Scenario: Bulk write datastore items returns "Bad Request" response + Given new "BulkWriteDatastoreItems" request + And there is a valid "datastore" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + And body with value {"data": {"attributes": {"values": [{"id": "cust_3141", "name": "Johnathan"}, {"badPrimaryKey": "key2", "name": "Johnathan"}]}, "type": "items"}} + When the request is sent + Then the response status is 400 Bad Request + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "item key missing or invalid" + + @team:DataDog/app-builder-backend + Scenario: Bulk write datastore items returns "Not Found" response + Given new "BulkWriteDatastoreItems" request + And request contains "datastore_id" parameter with value "70b87c26-886f-497a-bd9d-09f53bc9b40c" + And body with value {"data": {"attributes": {"values": [{"id": "cust_3141", "name": "Johnathan"}, {"id": "cust_3142", "name": "Mary"}]}, "type": "items"}} + When the request is sent + Then the response status is 404 Not Found + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "datastore not found" + + @team:DataDog/app-builder-backend + Scenario: Bulk write datastore items returns "OK" response + Given new "BulkWriteDatastoreItems" request + And there is a valid "datastore" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + And body with value {"data": {"attributes": {"values": [{"id": "cust_3141", "name": "Johnathan"}, {"id": "cust_3142", "name": "Mary"}]}, "type": "items"}} + When the request is sent + Then the response status is 200 OK + And the response "data" has length 2 + + @team:DataDog/app-builder-backend + Scenario: Create datastore returns "Bad Request" response + Given new "CreateDatastore" request + And body with value {"data": {"attributes": {"name": "datastore-name", "primary_column_name": "0invalid_key"}, "type": "datastores"}} + When the request is sent + Then the response status is 400 Bad Request + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "datastore configuration invalid" + + @team:DataDog/app-builder-backend + Scenario: Create datastore returns "OK" response + Given new "CreateDatastore" request + And body with value {"data": {"attributes": {"name": "datastore-name", "primary_column_name": "primaryKey"}, "type": "datastores"}} + When the request is sent + Then the response status is 200 OK + + @team:DataDog/app-builder-backend + Scenario: Delete datastore item returns "Bad Request" response + Given new "DeleteDatastoreItem" request + And request contains "datastore_id" parameter with value "invalid-uuid" + And body with value {"data": {"attributes": {"item_key": "primaryKey"}, "type": "items"}} + When the request is sent + Then the response status is 400 Bad Request + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "invalid path parameter" + + @team:DataDog/app-builder-backend + Scenario: Delete datastore item returns "Not Found" response + Given new "DeleteDatastoreItem" request + And request contains "datastore_id" parameter with value "70b87c26-886f-497a-bd9d-09f53bc9b40c" + And body with value {"data": {"attributes": {"item_key": "primaryKey"}, "type": "items"}} + When the request is sent + Then the response status is 404 Not Found + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "datastore not found" + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Delete datastore item returns "OK" response + Given new "DeleteDatastoreItem" request + And there is a valid "datastore" in the system + And there is a valid "datastore_item" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + And body with value {"data": {"attributes": {"item_key": "test-key"}, "type": "items" }} + When the request is sent + Then the response status is 200 OK + + @team:DataDog/app-builder-backend + Scenario: Delete datastore returns "Bad Request" response + Given new "DeleteDatastore" request + And request contains "datastore_id" parameter with value "invalid-uuid" + When the request is sent + Then the response status is 400 Bad Request + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "invalid path parameter" + + @skip-typescript @skip-validation @team:DataDog/app-builder-backend + Scenario: Delete datastore returns "OK" response + Given new "DeleteDatastore" request + And there is a valid "datastore" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/app-builder-backend + Scenario: Get datastore returns "Bad Request" response + Given new "GetDatastore" request + And request contains "datastore_id" parameter with value "invalid-uuid" + When the request is sent + Then the response status is 400 Bad Request + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "invalid path parameter" + + @team:DataDog/app-builder-backend + Scenario: Get datastore returns "Not Found" response + Given new "GetDatastore" request + And request contains "datastore_id" parameter with value "5bf53b3f-b230-4b35-ab1a-b39f2633eb22" + When the request is sent + Then the response status is 404 Not Found + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "datastore not found" + + @team:DataDog/app-builder-backend + Scenario: Get datastore returns "OK" response + Given new "GetDatastore" request + And there is a valid "datastore" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + When the request is sent + Then the response status is 200 OK + And the response "data.id" is equal to "{{datastore.data.id}}" + + @team:DataDog/app-builder-backend + Scenario: List datastore items returns "Bad Request" response + Given new "ListDatastoreItems" request + And request contains "datastore_id" parameter with value "invalid-uuid" + When the request is sent + Then the response status is 400 Bad Request + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "invalid path parameter" + + @team:DataDog/app-builder-backend + Scenario: List datastore items returns "Not Found" response + Given new "ListDatastoreItems" request + And request contains "datastore_id" parameter with value "3cfdd0b8-c490-4969-8d51-69add64a70ea" + When the request is sent + Then the response status is 404 Not Found + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "datastore not found" + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: List datastore items returns "OK" response + Given new "ListDatastoreItems" request + And there is a valid "datastore" in the system + And there is a valid "datastore_item" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + When the request is sent + Then the response status is 200 OK + And the response "data" has length 1 + + @team:DataDog/app-builder-backend + Scenario: List datastores returns "OK" response + Given new "ListDatastores" request + When the request is sent + Then the response status is 200 OK + + @team:DataDog/app-builder-backend + Scenario: Update datastore item returns "Bad Request" response + Given new "UpdateDatastoreItem" request + And request contains "datastore_id" parameter with value "invalid-uuid" + And body with value {"data": {"attributes": {"item_changes": {}, "item_key": ""}, "type": "items"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/app-builder-backend + Scenario: Update datastore item returns "Not Found" response + Given new "UpdateDatastoreItem" request + And request contains "datastore_id" parameter with value "3cfdd0b8-c490-4969-8d51-69add64a70ea" + And body with value {"data": {"attributes": {"item_changes": {}, "item_key": "itemKey"}, "type": "items"}} + When the request is sent + Then the response status is 404 Not Found + + @skip-typescript @team:DataDog/app-builder-backend + Scenario: Update datastore item returns "OK" response + Given new "UpdateDatastoreItem" request + And there is a valid "datastore" in the system + And there is a valid "datastore_item" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + And body with value {"data": {"attributes": {"item_changes": {}, "item_key": "test-key"}, "type": "items"}} + When the request is sent + Then the response status is 200 OK + + @team:DataDog/app-builder-backend + Scenario: Update datastore returns "Bad Request" response + Given new "UpdateDatastore" request + And request contains "datastore_id" parameter with value "invalid-uuid" + And body with value {"data": {"attributes": {}, "type": "datastores", "id": "invalid-uuid"}} + When the request is sent + Then the response status is 400 Bad Request + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "invalid path parameter" + + @team:DataDog/app-builder-backend + Scenario: Update datastore returns "Not Found" response + Given new "UpdateDatastore" request + And request contains "datastore_id" parameter with value "c1eb5bb8-726a-4e59-9a61-ccbb26f95329" + And body with value {"data": {"attributes": {"name": "updated name"}, "type": "datastores", "id": "c1eb5bb8-726a-4e59-9a61-ccbb26f95329"}} + When the request is sent + Then the response status is 404 Not Found + And the response "errors" has length 1 + And the response "errors[0].title" is equal to "datastore not found" + + @team:DataDog/app-builder-backend + Scenario: Update datastore returns "OK" response + Given new "UpdateDatastore" request + And there is a valid "datastore" in the system + And request contains "datastore_id" parameter from "datastore.data.id" + And body with value {"data": {"attributes": {"name": "updated name"}, "type": "datastores", "id": "{{datastore.data.id}}"}} + When the request is sent + Then the response status is 200 OK + And the response "data.attributes.name" is equal to "updated name" diff --git a/features/v2/aws_integration.feature b/features/v2/aws_integration.feature index e0f1d4d7267c..a672cfebe7f8 100644 --- a/features/v2/aws_integration.feature +++ b/features/v2/aws_integration.feature @@ -11,32 +11,28 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Create an AWS account returns "AWS Account object" response - Given operation "CreateAWSAccount" enabled - And new "CreateAWSAccount" request + Given new "CreateAWSAccount" request And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} When the request is sent Then the response status is 200 AWS Account object @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "AWS Account object" response - Given operation "CreateAWSAccount" enabled - And new "CreateAWSAccount" request + Given new "CreateAWSAccount" request And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} When the request is sent Then the response status is 200 AWS Account object @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "Bad Request" response - Given operation "CreateAWSAccount" enabled - And new "CreateAWSAccount" request + Given new "CreateAWSAccount" request And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws-invalid", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} When the request is sent Then the response status is 400 Bad Request @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "Conflict" response - Given operation "CreateAWSAccount" enabled - And there is a valid "aws_account_v2" in the system + Given there is a valid "aws_account_v2" in the system And new "CreateAWSAccount" request And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} When the request is sent @@ -44,16 +40,14 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Delete an AWS integration returns "Bad Request" response - Given operation "DeleteAWSAccount" enabled - And new "DeleteAWSAccount" request + Given new "DeleteAWSAccount" request And request contains "aws_account_config_id" parameter with value "not-a-uuid" When the request is sent Then the response status is 400 Bad Request @team:DataDog/aws-integrations Scenario: Delete an AWS integration returns "No Content" response - Given operation "DeleteAWSAccount" enabled - And there is a valid "aws_account_v2" in the system + Given there is a valid "aws_account_v2" in the system And new "DeleteAWSAccount" request And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" When the request is sent @@ -61,8 +55,7 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Delete an AWS integration returns "Not Found" response - Given operation "DeleteAWSAccount" enabled - And there is a valid "aws_account_v2" in the system + Given there is a valid "aws_account_v2" in the system And new "DeleteAWSAccount" request And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a" When the request is sent @@ -70,15 +63,13 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Generate a new external ID returns "AWS External ID object" response - Given operation "CreateNewAWSExternalID" enabled - And new "CreateNewAWSExternalID" request + Given new "CreateNewAWSExternalID" request When the request is sent Then the response status is 200 AWS External ID object @team:DataDog/aws-integrations Scenario: Generate new external ID returns "AWS External ID object" response - Given operation "CreateNewAWSExternalID" enabled - And new "CreateNewAWSExternalID" request + Given new "CreateNewAWSExternalID" request When the request is sent Then the response status is 200 AWS External ID object @@ -90,8 +81,7 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Get an AWS integration by config ID returns "AWS Account object" response - Given operation "GetAWSAccount" enabled - And there is a valid "aws_account_v2" in the system + Given there is a valid "aws_account_v2" in the system And new "GetAWSAccount" request And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" When the request is sent @@ -99,45 +89,39 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Get an AWS integration by config ID returns "Bad Request" response - Given operation "GetAWSAccount" enabled - And new "GetAWSAccount" request + Given new "GetAWSAccount" request And request contains "aws_account_config_id" parameter with value "not-a-uuid" When the request is sent Then the response status is 400 Bad Request @team:DataDog/aws-integrations Scenario: Get an AWS integration by config ID returns "Not Found" response - Given operation "GetAWSAccount" enabled - And new "GetAWSAccount" request + Given new "GetAWSAccount" request And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a" When the request is sent Then the response status is 404 Not Found @team:DataDog/aws-integrations Scenario: List all AWS integrations returns "AWS Accounts List object" response - Given operation "ListAWSAccounts" enabled - And new "ListAWSAccounts" request + Given new "ListAWSAccounts" request When the request is sent Then the response status is 200 AWS Accounts List object @team:DataDog/aws-integrations Scenario: List available namespaces returns "AWS Namespaces List object" response - Given operation "ListAWSNamespaces" enabled - And new "ListAWSNamespaces" request + Given new "ListAWSNamespaces" request When the request is sent Then the response status is 200 AWS Namespaces List object @team:DataDog/aws-integrations Scenario: List namespaces returns "AWS Namespaces List object" response - Given operation "ListAWSNamespaces" enabled - And new "ListAWSNamespaces" request + Given new "ListAWSNamespaces" request When the request is sent Then the response status is 200 AWS Namespaces List object @team:DataDog/aws-integrations Scenario: Update an AWS integration returns "AWS Account object" response - Given operation "UpdateAWSAccount" enabled - And there is a valid "aws_account_v2" in the system + Given there is a valid "aws_account_v2" in the system And new "UpdateAWSAccount" request And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} @@ -146,8 +130,7 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Update an AWS integration returns "Bad Request" response - Given operation "UpdateAWSAccount" enabled - And there is a valid "aws_account_v2" in the system + Given there is a valid "aws_account_v2" in the system And new "UpdateAWSAccount" request And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} @@ -156,8 +139,7 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Update an AWS integration returns "Not Found" response - Given operation "UpdateAWSAccount" enabled - And new "UpdateAWSAccount" request + Given new "UpdateAWSAccount" request And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a" And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} When the request is sent diff --git a/features/v2/aws_logs_integration.feature b/features/v2/aws_logs_integration.feature index 7dcfb894ae9d..0dc915e57948 100644 --- a/features/v2/aws_logs_integration.feature +++ b/features/v2/aws_logs_integration.feature @@ -10,7 +10,6 @@ Feature: AWS Logs Integration Given a valid "apiKeyAuth" key in the system And a valid "appKeyAuth" key in the system And an instance of "AWSLogsIntegration" API - And operation "ListAWSLogsServices" enabled And new "ListAWSLogsServices" request When the request is sent Then the response status is 200 AWS Logs Services List object diff --git a/features/v2/ci_visibility_pipelines.feature b/features/v2/ci_visibility_pipelines.feature index fa0a20d1d5fd..3c52a30f4b70 100644 --- a/features/v2/ci_visibility_pipelines.feature +++ b/features/v2/ci_visibility_pipelines.feature @@ -17,7 +17,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 400 Bad Request - @team:DataDog/ci-app-backend + @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend Scenario: Aggregate pipelines events returns "OK" response Given a valid "appKeyAuth" key in the system And new "AggregateCIAppPipelineEvents" request @@ -33,7 +33,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 400 Bad Request - @team:DataDog/ci-app-backend + @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend Scenario: Get a list of pipelines events returns "OK" response Given a valid "appKeyAuth" key in the system And new "ListCIAppPipelineEvents" request @@ -44,7 +44,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/ci-app-backend @with-pagination + @replay-only @skip-java @skip-python @skip-typescript @skip-validation @team:DataDog/ci-app-backend @with-pagination Scenario: Get a list of pipelines events returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "ListCIAppPipelineEvents" request @@ -63,7 +63,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 400 Bad Request - @team:DataDog/ci-app-backend + @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend Scenario: Search pipelines events returns "OK" response Given a valid "appKeyAuth" key in the system And new "SearchCIAppPipelineEvents" request @@ -71,7 +71,7 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 200 OK - @replay-only @skip-validation @team:DataDog/ci-app-backend @with-pagination + @replay-only @skip-java @skip-python @skip-typescript @skip-validation @team:DataDog/ci-app-backend @with-pagination Scenario: Search pipelines events returns "OK" response with pagination Given a valid "appKeyAuth" key in the system And new "SearchCIAppPipelineEvents" request @@ -101,30 +101,37 @@ Feature: CI Visibility Pipelines When the request is sent Then the response status is 408 Request Timeout - @team:DataDog/ci-app-backend + @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend Scenario: Send pipeline event returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": {"level": "pipeline","unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name": "Deploy to AWS","url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1","start": "{{ timeISO('now - 120s') }}","end": "{{ timeISO('now - 30s') }}","status": "success","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "7f263865994b76066c4612fd1965215e7dcb4cd2","author_email": "john.doe@email.com"}}},"type": "cipipeline_resource_request"}} When the request is sent Then the response status is 202 Request accepted for processing - @team:DataDog/ci-app-backend + @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend Scenario: Send pipeline event with custom provider returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"provider_name": "example-provider", "resource": {"level": "pipeline","unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name": "Deploy to AWS","url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1","start": "{{ timeISO('now - 120s') }}","end": "{{ timeISO('now - 30s') }}","status": "success","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "7f263865994b76066c4612fd1965215e7dcb4cd2","author_email": "john.doe@email.com"}}},"type": "cipipeline_resource_request"}} When the request is sent Then the response status is 202 Request accepted for processing - @skip @team:DataDog/ci-app-backend + @skip @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend Scenario: Send pipeline job event returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": {"level": "job", "id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33", "name": "Build image", "pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a", "pipeline_name": "Deploy to AWS", "start": "{{ timeISO('now - 120s') }}", "end": "{{ timeISO('now - 30s') }}", "status": "error", "url": "https://my-ci-provider.example/jobs/my-jobs/run/1"}}, "type": "cipipeline_resource_request"}} When the request is sent Then the response status is 202 Request accepted for processing - @team:DataDog/ci-app-backend + @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend Scenario: Send running pipeline event returns "Request accepted for processing" response Given new "CreateCIAppPipelineEvent" request And body with value {"data": {"attributes": {"resource": {"level": "pipeline","unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name": "Deploy to AWS","url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1","start": "{{ timeISO('now - 120s') }}","status": "running","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "7f263865994b76066c4612fd1965215e7dcb4cd2","author_email": "john.doe@email.com"}}},"type": "cipipeline_resource_request"}} When the request is sent Then the response status is 202 Request accepted for processing + + @skip-java @skip-python @skip-typescript @team:DataDog/ci-app-backend + Scenario: Send several pipeline events returns "Request accepted for processing" response + Given new "CreateCIAppPipelineEvent" request + And body with value {"data": [{"attributes": {"provider_name": "example-provider", "resource": {"level": "pipeline","unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a","name": "Deploy to AWS","url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1","start": "{{ timeISO('now - 120s') }}","end": "{{ timeISO('now - 30s') }}","status": "success","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "7f263865994b76066c4612fd1965215e7dcb4cd2","author_email": "john.doe@email.com"}}},"type": "cipipeline_resource_request"},{"attributes": {"provider_name": "example-provider", "resource": {"level": "pipeline","unique_id": "7b2c8f9e-aa15-4d22-9c7d-83f4e065138b","name": "Deploy to Production","url": "https://my-ci-provider.example/pipelines/prod-pipeline/run/2","start": "{{ timeISO('now - 180s') }}","end": "{{ timeISO('now - 45s') }}","status": "success","partial_retry": false,"git": {"repository_url": "https://github.com/DataDog/datadog-agent","sha": "9a4f7c28b3e5d12f8e6c9b2a5d8f3e1c7b4a6d9e","author_email": "jane.smith@email.com"}}},"type": "cipipeline_resource_request"}]} + When the request is sent + Then the response status is 202 Request accepted for processing diff --git a/features/v2/gcp_integration.feature b/features/v2/gcp_integration.feature index eecbb4747ec5..935adb2d93bf 100644 --- a/features/v2/gcp_integration.feature +++ b/features/v2/gcp_integration.feature @@ -34,14 +34,14 @@ Feature: GCP Integration @generated @skip @team:DataDog/gcp-integrations Scenario: Create a new entry for your service account returns "Bad Request" response Given new "CreateGCPSTSAccount" request - And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "type": "gcp_service_account"}} + And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "type": "gcp_service_account"}} When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/gcp-integrations Scenario: Create a new entry for your service account returns "Conflict" response Given new "CreateGCPSTSAccount" request - And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "type": "gcp_service_account"}} + And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "type": "gcp_service_account"}} When the request is sent Then the response status is 409 Conflict @@ -151,7 +151,7 @@ Feature: GCP Integration Scenario: Update STS Service Account returns "Bad Request" response Given new "UpdateGCPSTSAccount" request And request contains "account_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}} + And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}} When the request is sent Then the response status is 400 Bad Request @@ -159,7 +159,7 @@ Feature: GCP Integration Scenario: Update STS Service Account returns "Not Found" response Given new "UpdateGCPSTSAccount" request And request contains "account_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}} + And body with value {"data": {"attributes": {"account_tags": [], "client_email": "datadog-service-account@test-project.iam.gserviceaccount.com", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}} When the request is sent Then the response status is 404 Not Found diff --git a/features/v2/given.json b/features/v2/given.json index ef93bc042eac..a4872ca4d572 100644 --- a/features/v2/given.json +++ b/features/v2/given.json @@ -1,4 +1,32 @@ [ + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"type\": \"datastores\",\n \"attributes\": {\n \"name\": \"Test Datastore\",\n \"primary_column_name\": \"id\",\n \"primary_key_generation_strategy\": \"none\",\n \"description\": \"\",\n \"org_access\": \"contributor\"\n }\n }\n}" + } + ], + "step": "there is a valid \"datastore\" in the system", + "key": "datastore", + "tag": "Actions Datastores", + "operationId": "CreateDatastore" + }, + { + "parameters": [ + { + "name": "datastore_id", + "source": "datastore.data.id" + }, + { + "name": "body", + "value": "{\n \"data\": {\n \"type\": \"items\",\n \"attributes\": {\n \"conflict_mode\": \"fail_on_conflict\",\n \"values\": [\n {\n \"id\": \"test-key\",\n \"data\": \"test-value\"\n }\n ]\n }\n }\n}" + } + ], + "step": "there is a valid \"datastore_item\" in the system", + "key": "datastore_item", + "tag": "Actions Datastores", + "operationId": "BulkWriteDatastoreItems" + }, { "parameters": [ { @@ -249,6 +277,30 @@ "tag": "Incidents", "operationId": "CreateIncident" }, + { + "operationId": "CreateIncidentNotificationRule", + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"conditions\": [{\"field\": \"severity\", \"values\": [\"SEV-1\", \"SEV-2\"]}],\n \"handles\": [\"@test-email@company.com\"],\n \"visibility\": \"organization\",\n \"trigger\": \"incident_created_trigger\",\n \"enabled\": true\n },\n \"relationships\": {\n \"incident_type\": {\n \"data\": {\n \"id\": \"{{ incident_type.data.id }}\",\n \"type\": \"incident_types\"\n }\n }\n },\n \"type\": \"incident_notification_rules\"\n }\n}" + } + ], + "step": "there is a valid \"notification_rule\" in the system", + "key": "notification_rule", + "tag": "Incidents" + }, + { + "operationId": "CreateIncidentNotificationTemplate", + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"category\": \"alert\",\n \"content\": \"Test notification template\",\n \"name\": \"Test Template {{ unique }}\",\n \"subject\": \"Test Subject\"\n },\n \"relationships\": {\n \"incident_type\": {\n \"data\": {\n \"id\": \"{{ incident_type.data.id }}\",\n \"type\": \"incident_types\"\n }\n }\n },\n \"type\": \"notification_templates\"\n }\n}" + } + ], + "step": "there is a valid \"notification_template\" in the system", + "key": "notification_template", + "tag": "Incidents" + }, { "parameters": [ { diff --git a/features/v2/incidents.feature b/features/v2/incidents.feature index 95314aad3450..4f278f281608 100644 --- a/features/v2/incidents.feature +++ b/features/v2/incidents.feature @@ -66,6 +66,30 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found + @generated @skip @team:Datadog/incident-app + Scenario: Create an incident notification rule returns "Bad Request" response + Given operation "CreateIncidentNotificationRule" enabled + And new "CreateIncidentNotificationRule" request + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: Create an incident notification rule returns "Created" response + Given operation "CreateIncidentNotificationRule" enabled + And new "CreateIncidentNotificationRule" request + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:Datadog/incident-app + Scenario: Create an incident notification rule returns "Not Found" response + Given operation "CreateIncidentNotificationRule" enabled + And new "CreateIncidentNotificationRule" request + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:DataDog/incident-app Scenario: Create an incident returns "Bad Request" response Given operation "CreateIncident" enabled @@ -146,6 +170,55 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found + @team:Datadog/incident-app + Scenario: Create incident notification rule returns "Bad Request" response + Given operation "CreateIncidentNotificationRule" enabled + And new "CreateIncidentNotificationRule" request + And body with value {"data": {"type": "invalid_type", "attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "handles": ["@test-email@company.com"], "visibility": "organization", "trigger": "incident_created_trigger", "enabled": true}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}}}} + When the request is sent + Then the response status is 400 Bad Request + + @team:Datadog/incident-app + Scenario: Create incident notification rule returns "Created" response + Given there is a valid "incident_type" in the system + And operation "CreateIncidentNotificationRule" enabled + And new "CreateIncidentNotificationRule" request + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "handles": ["@test-email@company.com"], "visibility": "organization", "trigger": "incident_created_trigger", "enabled": true}, "relationships": {"incident_type": {"data": {"id": "{{ incident_type.data.id }}", "type": "incident_types"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 201 Created + And the response "data.type" is equal to "incident_notification_rules" + And the response "data.attributes.visibility" is equal to "organization" + And the response "data.attributes.enabled" is equal to true + + @team:Datadog/incident-app + Scenario: Create incident notification template returns "Bad Request" response + Given operation "CreateIncidentNotificationTemplate" enabled + And new "CreateIncidentNotificationTemplate" request + And body with value {"data": {"attributes": {"category": "alert", "content": "An incident has been declared. Please join the incident channel for updates.", "name": "Test Template", "subject": "Incident Alert"}, "type": "invalid_type"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:Datadog/incident-app + Scenario: Create incident notification template returns "Created" response + Given there is a valid "incident_type" in the system + And operation "CreateIncidentNotificationTemplate" enabled + And new "CreateIncidentNotificationTemplate" request + And body with value {"data": {"attributes": {"category": "alert", "content": "An incident has been declared.\n\nTitle: Sample Incident Title\nSeverity: SEV-2\nAffected Services: web-service, database-service\nStatus: active\n\nPlease join the incident channel for updates.", "name": "{{ unique }}", "subject": "SEV-2 Incident: Sample Incident Title"}, "relationships": {"incident_type": {"data": {"id": "{{ incident_type.data.id }}", "type": "incident_types"}}}, "type": "notification_templates"}} + When the request is sent + Then the response status is 201 Created + And the response "data.type" is equal to "notification_templates" + And the response "data.attributes.name" has the same value as "unique" + And the response "data.attributes.category" is equal to "alert" + And the response "data.relationships.incident_type.data.id" has the same value as "incident_type.data.id" + + @team:Datadog/incident-app + Scenario: Create incident notification template returns "Not Found" response + Given operation "CreateIncidentNotificationTemplate" enabled + And new "CreateIncidentNotificationTemplate" request + And body with value {"data": {"attributes": {"category": "alert", "content": "An incident has been declared. Please join the incident channel for updates.", "name": "Incident Alert Template", "subject": "Incident Alert"}, "relationships": {"incident_type": {"data": {"id": "00000000-1111-2222-3333-444444444444", "type": "incident_types"}}}, "type": "notification_templates"}} + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:DataDog/incident-app Scenario: Create, update, and delete incident attachments returns "Bad Request" response Given operation "UpdateIncidentAttachments" enabled @@ -173,6 +246,30 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:Datadog/incident-app + Scenario: Delete a notification template returns "Bad Request" response + Given operation "DeleteIncidentNotificationTemplate" enabled + And new "DeleteIncidentNotificationTemplate" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: Delete a notification template returns "No Content" response + Given operation "DeleteIncidentNotificationTemplate" enabled + And new "DeleteIncidentNotificationTemplate" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:Datadog/incident-app + Scenario: Delete a notification template returns "Not Found" response + Given operation "DeleteIncidentNotificationTemplate" enabled + And new "DeleteIncidentNotificationTemplate" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:DataDog/incident-app Scenario: Delete an existing incident returns "Bad Request" response Given operation "DeleteIncident" enabled @@ -227,6 +324,30 @@ Feature: Incidents When the request is sent Then the response status is 204 OK + @generated @skip @team:Datadog/incident-app + Scenario: Delete an incident notification rule returns "Bad Request" response + Given operation "DeleteIncidentNotificationRule" enabled + And new "DeleteIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: Delete an incident notification rule returns "No Content" response + Given operation "DeleteIncidentNotificationRule" enabled + And new "DeleteIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:Datadog/incident-app + Scenario: Delete an incident notification rule returns "Not Found" response + Given operation "DeleteIncidentNotificationRule" enabled + And new "DeleteIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:Datadog/incident-app Scenario: Delete an incident todo returns "Bad Request" response Given operation "DeleteIncidentTodo" enabled @@ -281,6 +402,34 @@ Feature: Incidents When the request is sent Then the response status is 204 OK + @team:Datadog/incident-app + Scenario: Delete incident notification rule returns "No Content" response + Given there is a valid "incident_type" in the system + And there is a valid "notification_rule" in the system + And operation "DeleteIncidentNotificationRule" enabled + And new "DeleteIncidentNotificationRule" request + And request contains "id" parameter from "notification_rule.data.id" + When the request is sent + Then the response status is 204 No Content + + @team:Datadog/incident-app + Scenario: Delete incident notification rule returns "Not Found" response + Given operation "DeleteIncidentNotificationRule" enabled + And new "DeleteIncidentNotificationRule" request + And request contains "id" parameter with value "00000000-0000-0000-0000-000000000001" + When the request is sent + Then the response status is 404 Not Found + + @team:Datadog/incident-app + Scenario: Delete incident notification template returns "No Content" response + Given there is a valid "incident_type" in the system + And there is a valid "notification_template" in the system + And operation "DeleteIncidentNotificationTemplate" enabled + And new "DeleteIncidentNotificationTemplate" request + And request contains "id" parameter from "notification_template.data.id" + When the request is sent + Then the response status is 204 No Content + @generated @skip @team:DataDog/incident-app Scenario: Get a list of an incident's integration metadata returns "Bad Request" response Given operation "ListIncidentIntegrations" enabled @@ -407,6 +556,30 @@ Feature: Incidents Then the response status is 200 OK And the response has 3 items + @generated @skip @team:Datadog/incident-app + Scenario: Get an incident notification rule returns "Bad Request" response + Given operation "GetIncidentNotificationRule" enabled + And new "GetIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: Get an incident notification rule returns "Not Found" response + Given operation "GetIncidentNotificationRule" enabled + And new "GetIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:Datadog/incident-app + Scenario: Get an incident notification rule returns "OK" response + Given operation "GetIncidentNotificationRule" enabled + And new "GetIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @team:DataDog/incident-app Scenario: Get incident attachments returns "OK" response Given operation "ListIncidentAttachments" enabled @@ -450,6 +623,56 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @team:Datadog/incident-app + Scenario: Get incident notification rule returns "Not Found" response + Given operation "GetIncidentNotificationRule" enabled + And new "GetIncidentNotificationRule" request + And request contains "id" parameter with value "00000000-0000-0000-0000-000000000001" + When the request is sent + Then the response status is 404 Not Found + + @team:Datadog/incident-app + Scenario: Get incident notification rule returns "OK" response + Given there is a valid "incident_type" in the system + And there is a valid "notification_rule" in the system + And operation "GetIncidentNotificationRule" enabled + And new "GetIncidentNotificationRule" request + And request contains "id" parameter from "notification_rule.data.id" + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "incident_notification_rules" + And the response "data.id" has the same value as "notification_rule.data.id" + + @generated @skip @team:Datadog/incident-app + Scenario: Get incident notification template returns "Bad Request" response + Given operation "GetIncidentNotificationTemplate" enabled + And new "GetIncidentNotificationTemplate" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: Get incident notification template returns "Not Found" response + Given operation "GetIncidentNotificationTemplate" enabled + And new "GetIncidentNotificationTemplate" request + And request contains "id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @team:Datadog/incident-app + Scenario: Get incident notification template returns "OK" response + Given there is a valid "incident_type" in the system + And there is a valid "notification_template" in the system + And operation "GetIncidentNotificationTemplate" enabled + And new "GetIncidentNotificationTemplate" request + And request contains "id" parameter from "notification_template.data.id" + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "notification_templates" + And the response "data.id" has the same value as "notification_template.data.id" + And the response "data" has field "attributes" + And the response "data" has field "relationships" + @generated @skip @team:Datadog/incident-app Scenario: Get incident todo details returns "Bad Request" response Given operation "GetIncidentTodo" enabled @@ -531,6 +754,53 @@ Feature: Incidents Then the response status is 200 OK And the response "data.attributes.title" has the same value as "incident.data.attributes.title" + @generated @skip @team:Datadog/incident-app + Scenario: List incident notification rules returns "Bad Request" response + Given operation "ListIncidentNotificationRules" enabled + And new "ListIncidentNotificationRules" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: List incident notification rules returns "Not Found" response + Given operation "ListIncidentNotificationRules" enabled + And new "ListIncidentNotificationRules" request + When the request is sent + Then the response status is 404 Not Found + + @team:Datadog/incident-app + Scenario: List incident notification rules returns "OK" response + Given there is a valid "incident_type" in the system + And there is a valid "notification_rule" in the system + And operation "ListIncidentNotificationRules" enabled + And new "ListIncidentNotificationRules" request + When the request is sent + Then the response status is 200 OK + And the response "data" has length 1 + And the response "data[0].type" is equal to "incident_notification_rules" + + @generated @skip @team:Datadog/incident-app + Scenario: List incident notification templates returns "Bad Request" response + Given operation "ListIncidentNotificationTemplates" enabled + And new "ListIncidentNotificationTemplates" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: List incident notification templates returns "Not Found" response + Given operation "ListIncidentNotificationTemplates" enabled + And new "ListIncidentNotificationTemplates" request + When the request is sent + Then the response status is 404 Not Found + + @team:Datadog/incident-app + Scenario: List incident notification templates returns "OK" response + Given operation "ListIncidentNotificationTemplates" enabled + And new "ListIncidentNotificationTemplates" request + When the request is sent + Then the response status is 200 OK + And the response "data" has length 0 + @team:DataDog/incident-app Scenario: Remove commander from an incident returns "OK" response Given operation "UpdateIncident" enabled @@ -641,6 +911,33 @@ Feature: Incidents Then the response status is 200 OK And the response "data.attributes.title" is equal to "{{ incident.data.attributes.title }}-updated" + @generated @skip @team:Datadog/incident-app + Scenario: Update an incident notification rule returns "Bad Request" response + Given operation "UpdateIncidentNotificationRule" enabled + And new "UpdateIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "id": "00000000-0000-0000-0000-000000000001", "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: Update an incident notification rule returns "Not Found" response + Given operation "UpdateIncidentNotificationRule" enabled + And new "UpdateIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "id": "00000000-0000-0000-0000-000000000001", "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:Datadog/incident-app + Scenario: Update an incident notification rule returns "OK" response + Given operation "UpdateIncidentNotificationRule" enabled + And new "UpdateIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "id": "00000000-0000-0000-0000-000000000001", "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:Datadog/incident-app Scenario: Update an incident todo returns "Bad Request" response Given operation "UpdateIncidentTodo" enabled @@ -702,3 +999,69 @@ Feature: Incidents And body with value {"data": {"id": "{{incident_type.data.id}}", "attributes": {"name": "{{incident_type.data.attributes.name}}-updated"}, "type": "incident_types"}} When the request is sent Then the response status is 200 OK + + @team:Datadog/incident-app + Scenario: Update incident notification rule returns "Bad Request" response + Given operation "UpdateIncidentNotificationRule" enabled + And new "UpdateIncidentNotificationRule" request + And request contains "id" parameter with value "00000000-0000-0000-0000-000000000001" + And body with value {"data": {"type": "invalid_type", "attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "handles": ["@test-email@company.com"], "visibility": "organization", "trigger": "incident_created_trigger", "enabled": true}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}}, "id": "00000000-0000-0000-0000-000000000001"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:Datadog/incident-app + Scenario: Update incident notification rule returns "Not Found" response + Given operation "UpdateIncidentNotificationRule" enabled + And new "UpdateIncidentNotificationRule" request + And request contains "id" parameter with value "00000000-0000-0000-0000-000000000001" + And body with value {"data": {"attributes": {"enabled": false, "conditions": [{"field": "severity", "values": ["SEV-1"]}], "handles": ["@test-email@company.com"], "trigger": "incident_created_trigger"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "incident_types"}}}, "id": "00000000-0000-0000-0000-000000000001", "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 404 Not Found + + @team:Datadog/incident-app + Scenario: Update incident notification rule returns "OK" response + Given there is a valid "incident_type" in the system + And there is a valid "notification_rule" in the system + And operation "UpdateIncidentNotificationRule" enabled + And new "UpdateIncidentNotificationRule" request + And request contains "id" parameter from "notification_rule.data.id" + And body with value {"data": {"attributes": {"enabled": false, "conditions": [{"field": "severity", "values": ["SEV-1"]}], "handles": ["@updated-team-email@company.com"], "visibility": "private", "trigger": "incident_modified_trigger"}, "relationships": {"incident_type": {"data": {"id": "{{ incident_type.data.id }}", "type": "incident_types"}}}, "id": "{{ notification_rule.data.id }}", "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "incident_notification_rules" + And the response "data.id" has the same value as "notification_rule.data.id" + And the response "data.attributes.visibility" is equal to "private" + And the response "data.attributes.enabled" is equal to false + + @team:Datadog/incident-app + Scenario: Update incident notification template returns "Bad Request" response + Given operation "UpdateIncidentNotificationTemplate" enabled + And new "UpdateIncidentNotificationTemplate" request + And request contains "id" parameter with value "00000000-1111-2222-3333-444444444444" + And body with value {"data": {"attributes": {"category": "update", "content": "Incident Status Update: For more details, visit the incident page.", "name": "Update Template", "subject": "Incident Update"}, "id": "00000000-0000-0000-0000-000000000001", "type": "invalid_type"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:Datadog/incident-app + Scenario: Update incident notification template returns "Not Found" response + Given operation "UpdateIncidentNotificationTemplate" enabled + And new "UpdateIncidentNotificationTemplate" request + And request contains "id" parameter with value "00000000-1111-2222-3333-444444444444" + And body with value {"data": {"attributes": {"category": "update", "content": "Incident Status Update: For more details, visit the incident page.", "name": "Updated Template Name", "subject": "Incident Update"}, "id": "00000000-1111-2222-3333-444444444444", "type": "notification_templates"}} + When the request is sent + Then the response status is 404 Not Found + + @team:Datadog/incident-app + Scenario: Update incident notification template returns "OK" response + Given there is a valid "incident_type" in the system + And there is a valid "notification_template" in the system + And operation "UpdateIncidentNotificationTemplate" enabled + And new "UpdateIncidentNotificationTemplate" request + And request contains "id" parameter from "notification_template.data.id" + And body with value {"data": {"attributes": {"category": "update", "content": "Incident Status Update:\n\nTitle: Sample Incident Title\nNew Status: resolved\nSeverity: SEV-2\nServices: web-service, database-service\nCommander: John Doe\n\nFor more details, visit the incident page.", "name": "{{ unique }}", "subject": "Incident Update: Sample Incident Title - resolved"}, "id": "{{ notification_template.data.id }}", "type": "notification_templates"}} + When the request is sent + Then the response status is 200 OK + And the response "data.type" is equal to "notification_templates" + And the response "data.id" has the same value as "notification_template.data.id" + And the response "data.attributes.name" has the same value as "unique" + And the response "data.attributes.category" is equal to "update" diff --git a/features/v2/undo.json b/features/v2/undo.json index 1ade02a7370a..9aa936bc9951 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -1,4 +1,65 @@ { + "ListDatastores": { + "tag": "Actions Datastores", + "undo": { + "type": "safe" + } + }, + "CreateDatastore": { + "tag": "Actions Datastores", + "undo": { + "operationId": "DeleteDatastore", + "parameters": [ + { + "name": "datastore_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteDatastore": { + "tag": "Actions Datastores", + "undo": { + "type": "idempotent" + } + }, + "GetDatastore": { + "tag": "Actions Datastores", + "undo": { + "type": "safe" + } + }, + "UpdateDatastore": { + "tag": "Actions Datastores", + "undo": { + "type": "idempotent" + } + }, + "DeleteDatastoreItem": { + "tag": "Actions Datastores", + "undo": { + "type": "idempotent" + } + }, + "ListDatastoreItems": { + "tag": "Actions Datastores", + "undo": { + "type": "safe" + } + }, + "UpdateDatastoreItem": { + "tag": "Actions Datastores", + "undo": { + "type": "idempotent" + } + }, + "BulkWriteDatastoreItems": { + "tag": "Actions Datastores", + "undo": { + "type": "idempotent" + } + }, "ListAppKeyRegistrations": { "tag": "Action Connection", "undo": { @@ -1089,6 +1150,80 @@ "type": "unsafe" } }, + "ListIncidentNotificationRules": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentNotificationRule": { + "tag": "Incidents", + "undo": { + "operationId": "DeleteIncidentNotificationRule", + "parameters": [ + { + "name": "id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteIncidentNotificationRule": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentNotificationRule": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "UpdateIncidentNotificationRule": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "ListIncidentNotificationTemplates": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentNotificationTemplate": { + "tag": "Incidents", + "undo": { + "operationId": "DeleteIncidentNotificationTemplate", + "parameters": [ + { + "name": "id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteIncidentNotificationTemplate": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentNotificationTemplate": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "UpdateIncidentNotificationTemplate": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "ListIncidentTypes": { "tag": "Incidents", "undo": { diff --git a/package.json b/package.json index 4348c22af965..ef635a5dfe72 100644 --- a/package.json +++ b/package.json @@ -106,6 +106,6 @@ "engines": { "node": ">=12.0.0" }, - "version": "1.41.0", + "version": "1.43.0", "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts index 6f61e6bf7a7f..8ac047c466de 100644 --- a/packages/datadog-api-client-common/configuration.ts +++ b/packages/datadog-api-client-common/configuration.ts @@ -255,18 +255,26 @@ export function createConfiguration( "v2.getDataDeletionRequests": false, "v2.createIncident": false, "v2.createIncidentIntegration": false, + "v2.createIncidentNotificationRule": false, + "v2.createIncidentNotificationTemplate": false, "v2.createIncidentTodo": false, "v2.createIncidentType": false, "v2.deleteIncident": false, "v2.deleteIncidentIntegration": false, + "v2.deleteIncidentNotificationRule": false, + "v2.deleteIncidentNotificationTemplate": false, "v2.deleteIncidentTodo": false, "v2.deleteIncidentType": false, "v2.getIncident": false, "v2.getIncidentIntegration": false, + "v2.getIncidentNotificationRule": false, + "v2.getIncidentNotificationTemplate": false, "v2.getIncidentTodo": false, "v2.getIncidentType": false, "v2.listIncidentAttachments": false, "v2.listIncidentIntegrations": false, + "v2.listIncidentNotificationRules": false, + "v2.listIncidentNotificationTemplates": false, "v2.listIncidents": false, "v2.listIncidentTodos": false, "v2.listIncidentTypes": false, @@ -274,16 +282,10 @@ export function createConfiguration( "v2.updateIncident": false, "v2.updateIncidentAttachments": false, "v2.updateIncidentIntegration": false, + "v2.updateIncidentNotificationRule": false, + "v2.updateIncidentNotificationTemplate": false, "v2.updateIncidentTodo": false, "v2.updateIncidentType": false, - "v2.createAWSAccount": false, - "v2.createNewAWSExternalID": false, - "v2.deleteAWSAccount": false, - "v2.getAWSAccount": false, - "v2.listAWSAccounts": false, - "v2.listAWSNamespaces": false, - "v2.updateAWSAccount": false, - "v2.listAWSLogsServices": false, "v2.createMonitorUserTemplate": false, "v2.deleteMonitorUserTemplate": false, "v2.getMonitorUserTemplate": false, diff --git a/packages/datadog-api-client-v1/index.ts b/packages/datadog-api-client-v1/index.ts index 30af31b03745..b901085491e9 100644 --- a/packages/datadog-api-client-v1/index.ts +++ b/packages/datadog-api-client-v1/index.ts @@ -477,6 +477,8 @@ export { FunnelWidgetDefinition } from "./models/FunnelWidgetDefinition"; export { FunnelWidgetDefinitionType } from "./models/FunnelWidgetDefinitionType"; export { FunnelWidgetRequest } from "./models/FunnelWidgetRequest"; export { GCPAccount } from "./models/GCPAccount"; +export { GCPMonitoredResourceConfig } from "./models/GCPMonitoredResourceConfig"; +export { GCPMonitoredResourceConfigType } from "./models/GCPMonitoredResourceConfigType"; export { GeomapWidgetDefinition } from "./models/GeomapWidgetDefinition"; export { GeomapWidgetDefinitionStyle } from "./models/GeomapWidgetDefinitionStyle"; export { GeomapWidgetDefinitionType } from "./models/GeomapWidgetDefinitionType"; diff --git a/packages/datadog-api-client-v1/models/GCPAccount.ts b/packages/datadog-api-client-v1/models/GCPAccount.ts index 7e06afd7e98a..dda3b59c328a 100644 --- a/packages/datadog-api-client-v1/models/GCPAccount.ts +++ b/packages/datadog-api-client-v1/models/GCPAccount.ts @@ -3,6 +3,7 @@ * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2020-Present Datadog, Inc. */ +import { GCPMonitoredResourceConfig } from "./GCPMonitoredResourceConfig"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; @@ -36,8 +37,9 @@ export class GCPAccount { */ "clientX509CertUrl"?: string; /** - * Limit the Cloud Run revisions that are pulled into Datadog by using tags. + * List of filters to limit the Cloud Run revisions that are pulled into Datadog by using tags. * Only Cloud Run revision resources that apply to specified filters are imported into Datadog. + * **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=cloud_run_revision` */ "cloudRunRevisionFilters"?: Array; /** @@ -45,8 +47,9 @@ export class GCPAccount { */ "errors"?: Array; /** - * Limit the GCE instances that are pulled into Datadog by using tags. - * Only hosts that match one of the defined tags are imported into Datadog. + * A comma-separated list of filters to limit the VM instances that are pulled into Datadog by using tags. + * Only VM instance resources that apply to specified filters are imported into Datadog. + * **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=gce_instance` */ "hostFilters"?: string; /** @@ -61,6 +64,10 @@ export class GCPAccount { * When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account. */ "isSecurityCommandCenterEnabled"?: boolean; + /** + * Configurations for GCP monitored resources. + */ + "monitoredResourceConfigs"?: Array; /** * Your private key name found in your JSON service account key. */ @@ -150,6 +157,10 @@ export class GCPAccount { baseName: "is_security_command_center_enabled", type: "boolean", }, + monitoredResourceConfigs: { + baseName: "monitored_resource_configs", + type: "Array", + }, privateKey: { baseName: "private_key", type: "string", diff --git a/packages/datadog-api-client-v1/models/GCPMonitoredResourceConfig.ts b/packages/datadog-api-client-v1/models/GCPMonitoredResourceConfig.ts new file mode 100644 index 000000000000..47fbc50145e1 --- /dev/null +++ b/packages/datadog-api-client-v1/models/GCPMonitoredResourceConfig.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { GCPMonitoredResourceConfigType } from "./GCPMonitoredResourceConfigType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Configuration for a GCP monitored resource. + */ +export class GCPMonitoredResourceConfig { + /** + * List of filters to limit the monitored resources that are pulled into Datadog by using tags. + * Only monitored resources that apply to specified filters are imported into Datadog. + */ + "filters"?: Array; + /** + * The GCP monitored resource type. Only a subset of resource types are supported. + */ + "type"?: GCPMonitoredResourceConfigType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + filters: { + baseName: "filters", + type: "Array", + }, + type: { + baseName: "type", + type: "GCPMonitoredResourceConfigType", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return GCPMonitoredResourceConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/GCPMonitoredResourceConfigType.ts b/packages/datadog-api-client-v1/models/GCPMonitoredResourceConfigType.ts new file mode 100644 index 000000000000..30de0e2db022 --- /dev/null +++ b/packages/datadog-api-client-v1/models/GCPMonitoredResourceConfigType.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The GCP monitored resource type. Only a subset of resource types are supported. + */ + +export type GCPMonitoredResourceConfigType = + | typeof CLOUD_FUNCTION + | typeof CLOUD_RUN_REVISION + | typeof GCE_INSTANCE + | UnparsedObject; +export const CLOUD_FUNCTION = "cloud_function"; +export const CLOUD_RUN_REVISION = "cloud_run_revision"; +export const GCE_INSTANCE = "gce_instance"; diff --git a/packages/datadog-api-client-v1/models/ObjectSerializer.ts b/packages/datadog-api-client-v1/models/ObjectSerializer.ts index 38f4d4db1975..c5fb3fb57058 100644 --- a/packages/datadog-api-client-v1/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v1/models/ObjectSerializer.ts @@ -94,6 +94,7 @@ import { FunnelStep } from "./FunnelStep"; import { FunnelWidgetDefinition } from "./FunnelWidgetDefinition"; import { FunnelWidgetRequest } from "./FunnelWidgetRequest"; import { GCPAccount } from "./GCPAccount"; +import { GCPMonitoredResourceConfig } from "./GCPMonitoredResourceConfig"; import { GeomapWidgetDefinition } from "./GeomapWidgetDefinition"; import { GeomapWidgetDefinitionStyle } from "./GeomapWidgetDefinitionStyle"; import { GeomapWidgetDefinitionView } from "./GeomapWidgetDefinitionView"; @@ -804,6 +805,11 @@ const enumsMap: { [key: string]: any[] } = { FunnelRequestType: ["funnel"], FunnelSource: ["rum"], FunnelWidgetDefinitionType: ["funnel"], + GCPMonitoredResourceConfigType: [ + "cloud_function", + "cloud_run_revision", + "gce_instance", + ], GeomapWidgetDefinitionType: ["geomap"], GroupType: ["group"], GroupWidgetDefinitionType: ["group"], @@ -1811,6 +1817,7 @@ const typeMap: { [index: string]: any } = { FunnelWidgetDefinition: FunnelWidgetDefinition, FunnelWidgetRequest: FunnelWidgetRequest, GCPAccount: GCPAccount, + GCPMonitoredResourceConfig: GCPMonitoredResourceConfig, GeomapWidgetDefinition: GeomapWidgetDefinition, GeomapWidgetDefinitionStyle: GeomapWidgetDefinitionStyle, GeomapWidgetDefinitionView: GeomapWidgetDefinitionView, diff --git a/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts b/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts index 96772bbc0217..15ccb3621b39 100644 --- a/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts +++ b/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts @@ -32,11 +32,6 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'createAWSAccount'"); - if (!_config.unstableOperations["v2.createAWSAccount"]) { - throw new Error("Unstable operation 'createAWSAccount' is disabled"); - } - // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { throw new RequiredError("body", "createAWSAccount"); @@ -77,13 +72,6 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'createNewAWSExternalID'"); - if (!_config.unstableOperations["v2.createNewAWSExternalID"]) { - throw new Error( - "Unstable operation 'createNewAWSExternalID' is disabled" - ); - } - // Path Params const localVarPath = "/api/v2/integration/aws/generate_new_external_id"; @@ -109,11 +97,6 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'deleteAWSAccount'"); - if (!_config.unstableOperations["v2.deleteAWSAccount"]) { - throw new Error("Unstable operation 'deleteAWSAccount' is disabled"); - } - // verify required parameter 'awsAccountConfigId' is not null or undefined if (awsAccountConfigId === null || awsAccountConfigId === undefined) { throw new RequiredError("awsAccountConfigId", "deleteAWSAccount"); @@ -148,11 +131,6 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'getAWSAccount'"); - if (!_config.unstableOperations["v2.getAWSAccount"]) { - throw new Error("Unstable operation 'getAWSAccount' is disabled"); - } - // verify required parameter 'awsAccountConfigId' is not null or undefined if (awsAccountConfigId === null || awsAccountConfigId === undefined) { throw new RequiredError("awsAccountConfigId", "getAWSAccount"); @@ -211,11 +189,6 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'listAWSAccounts'"); - if (!_config.unstableOperations["v2.listAWSAccounts"]) { - throw new Error("Unstable operation 'listAWSAccounts' is disabled"); - } - // Path Params const localVarPath = "/api/v2/integration/aws/accounts"; @@ -249,11 +222,6 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'listAWSNamespaces'"); - if (!_config.unstableOperations["v2.listAWSNamespaces"]) { - throw new Error("Unstable operation 'listAWSNamespaces' is disabled"); - } - // Path Params const localVarPath = "/api/v2/integration/aws/available_namespaces"; @@ -280,11 +248,6 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'updateAWSAccount'"); - if (!_config.unstableOperations["v2.updateAWSAccount"]) { - throw new Error("Unstable operation 'updateAWSAccount' is disabled"); - } - // verify required parameter 'awsAccountConfigId' is not null or undefined if (awsAccountConfigId === null || awsAccountConfigId === undefined) { throw new RequiredError("awsAccountConfigId", "updateAWSAccount"); diff --git a/packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts b/packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts index f92213f2761e..598c5eb04e65 100644 --- a/packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts +++ b/packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts @@ -22,11 +22,6 @@ export class AWSLogsIntegrationApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'listAWSLogsServices'"); - if (!_config.unstableOperations["v2.listAWSLogsServices"]) { - throw new Error("Unstable operation 'listAWSLogsServices' is disabled"); - } - // Path Params const localVarPath = "/api/v2/integration/aws/logs/services"; diff --git a/packages/datadog-api-client-v2/apis/ActionsDatastoresApi.ts b/packages/datadog-api-client-v2/apis/ActionsDatastoresApi.ts new file mode 100644 index 000000000000..24a2bd6ed142 --- /dev/null +++ b/packages/datadog-api-client-v2/apis/ActionsDatastoresApi.ts @@ -0,0 +1,1457 @@ +import { + BaseAPIRequestFactory, + RequiredError, +} from "../../datadog-api-client-common/baseapi"; +import { + Configuration, + applySecurityAuthentication, +} from "../../datadog-api-client-common/configuration"; +import { + RequestContext, + HttpMethod, + ResponseContext, +} from "../../datadog-api-client-common/http/http"; + +import { logger } from "../../../logger"; +import { ObjectSerializer } from "../models/ObjectSerializer"; +import { ApiException } from "../../datadog-api-client-common/exception"; + +import { APIErrorResponse } from "../models/APIErrorResponse"; +import { BulkPutAppsDatastoreItemsRequest } from "../models/BulkPutAppsDatastoreItemsRequest"; +import { CreateAppsDatastoreRequest } from "../models/CreateAppsDatastoreRequest"; +import { CreateAppsDatastoreResponse } from "../models/CreateAppsDatastoreResponse"; +import { Datastore } from "../models/Datastore"; +import { DatastoreArray } from "../models/DatastoreArray"; +import { DeleteAppsDatastoreItemRequest } from "../models/DeleteAppsDatastoreItemRequest"; +import { DeleteAppsDatastoreItemResponse } from "../models/DeleteAppsDatastoreItemResponse"; +import { ItemApiPayload } from "../models/ItemApiPayload"; +import { ItemApiPayloadArray } from "../models/ItemApiPayloadArray"; +import { JSONAPIErrorResponse } from "../models/JSONAPIErrorResponse"; +import { PutAppsDatastoreItemResponseArray } from "../models/PutAppsDatastoreItemResponseArray"; +import { UpdateAppsDatastoreItemRequest } from "../models/UpdateAppsDatastoreItemRequest"; +import { UpdateAppsDatastoreRequest } from "../models/UpdateAppsDatastoreRequest"; + +export class ActionsDatastoresApiRequestFactory extends BaseAPIRequestFactory { + public async bulkWriteDatastoreItems( + datastoreId: string, + body: BulkPutAppsDatastoreItemsRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'datastoreId' is not null or undefined + if (datastoreId === null || datastoreId === undefined) { + throw new RequiredError("datastoreId", "bulkWriteDatastoreItems"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "bulkWriteDatastoreItems"); + } + + // Path Params + const localVarPath = + "/api/v2/actions-datastores/{datastore_id}/items/bulk".replace( + "{datastore_id}", + encodeURIComponent(String(datastoreId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.bulkWriteDatastoreItems") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "BulkPutAppsDatastoreItemsRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async createDatastore( + body: CreateAppsDatastoreRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createDatastore"); + } + + // Path Params + const localVarPath = "/api/v2/actions-datastores"; + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.createDatastore") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "CreateAppsDatastoreRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async deleteDatastore( + datastoreId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'datastoreId' is not null or undefined + if (datastoreId === null || datastoreId === undefined) { + throw new RequiredError("datastoreId", "deleteDatastore"); + } + + // Path Params + const localVarPath = "/api/v2/actions-datastores/{datastore_id}".replace( + "{datastore_id}", + encodeURIComponent(String(datastoreId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.deleteDatastore") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async deleteDatastoreItem( + datastoreId: string, + body: DeleteAppsDatastoreItemRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'datastoreId' is not null or undefined + if (datastoreId === null || datastoreId === undefined) { + throw new RequiredError("datastoreId", "deleteDatastoreItem"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "deleteDatastoreItem"); + } + + // Path Params + const localVarPath = + "/api/v2/actions-datastores/{datastore_id}/items".replace( + "{datastore_id}", + encodeURIComponent(String(datastoreId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.deleteDatastoreItem") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "DeleteAppsDatastoreItemRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async getDatastore( + datastoreId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'datastoreId' is not null or undefined + if (datastoreId === null || datastoreId === undefined) { + throw new RequiredError("datastoreId", "getDatastore"); + } + + // Path Params + const localVarPath = "/api/v2/actions-datastores/{datastore_id}".replace( + "{datastore_id}", + encodeURIComponent(String(datastoreId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.getDatastore") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async listDatastoreItems( + datastoreId: string, + filter?: string, + itemKey?: string, + pageLimit?: number, + pageOffset?: number, + sort?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'datastoreId' is not null or undefined + if (datastoreId === null || datastoreId === undefined) { + throw new RequiredError("datastoreId", "listDatastoreItems"); + } + + // Path Params + const localVarPath = + "/api/v2/actions-datastores/{datastore_id}/items".replace( + "{datastore_id}", + encodeURIComponent(String(datastoreId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.listDatastoreItems") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (filter !== undefined) { + requestContext.setQueryParam( + "filter", + ObjectSerializer.serialize(filter, "string", ""), + "" + ); + } + if (itemKey !== undefined) { + requestContext.setQueryParam( + "item_key", + ObjectSerializer.serialize(itemKey, "string", ""), + "" + ); + } + if (pageLimit !== undefined) { + requestContext.setQueryParam( + "page[limit]", + ObjectSerializer.serialize(pageLimit, "number", "int64"), + "" + ); + } + if (pageOffset !== undefined) { + requestContext.setQueryParam( + "page[offset]", + ObjectSerializer.serialize(pageOffset, "number", "int64"), + "" + ); + } + if (sort !== undefined) { + requestContext.setQueryParam( + "sort", + ObjectSerializer.serialize(sort, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async listDatastores( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // Path Params + const localVarPath = "/api/v2/actions-datastores"; + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.listDatastores") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async updateDatastore( + datastoreId: string, + body: UpdateAppsDatastoreRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'datastoreId' is not null or undefined + if (datastoreId === null || datastoreId === undefined) { + throw new RequiredError("datastoreId", "updateDatastore"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateDatastore"); + } + + // Path Params + const localVarPath = "/api/v2/actions-datastores/{datastore_id}".replace( + "{datastore_id}", + encodeURIComponent(String(datastoreId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.updateDatastore") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "UpdateAppsDatastoreRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async updateDatastoreItem( + datastoreId: string, + body: UpdateAppsDatastoreItemRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'datastoreId' is not null or undefined + if (datastoreId === null || datastoreId === undefined) { + throw new RequiredError("datastoreId", "updateDatastoreItem"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateDatastoreItem"); + } + + // Path Params + const localVarPath = + "/api/v2/actions-datastores/{datastore_id}/items".replace( + "{datastore_id}", + encodeURIComponent(String(datastoreId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ActionsDatastoresApi.updateDatastoreItem") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "UpdateAppsDatastoreItemRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } +} + +export class ActionsDatastoresApiResponseProcessor { + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to bulkWriteDatastoreItems + * @throws ApiException if the response code was not in [200, 299] + */ + public async bulkWriteDatastoreItems( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: PutAppsDatastoreItemResponseArray = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "PutAppsDatastoreItemResponseArray" + ) as PutAppsDatastoreItemResponseArray; + return body; + } + if (response.httpStatusCode === 400 || response.httpStatusCode === 404) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: PutAppsDatastoreItemResponseArray = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "PutAppsDatastoreItemResponseArray", + "" + ) as PutAppsDatastoreItemResponseArray; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createDatastore + * @throws ApiException if the response code was not in [200, 299] + */ + public async createDatastore( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: CreateAppsDatastoreResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "CreateAppsDatastoreResponse" + ) as CreateAppsDatastoreResponse; + return body; + } + if (response.httpStatusCode === 400) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: CreateAppsDatastoreResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "CreateAppsDatastoreResponse", + "" + ) as CreateAppsDatastoreResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteDatastore + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteDatastore(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + return; + } + if (response.httpStatusCode === 400) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteDatastoreItem + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteDatastoreItem( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DeleteAppsDatastoreItemResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DeleteAppsDatastoreItemResponse" + ) as DeleteAppsDatastoreItemResponse; + return body; + } + if (response.httpStatusCode === 400 || response.httpStatusCode === 404) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DeleteAppsDatastoreItemResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DeleteAppsDatastoreItemResponse", + "" + ) as DeleteAppsDatastoreItemResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getDatastore + * @throws ApiException if the response code was not in [200, 299] + */ + public async getDatastore(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: Datastore = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "Datastore" + ) as Datastore; + return body; + } + if (response.httpStatusCode === 400 || response.httpStatusCode === 404) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: Datastore = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "Datastore", + "" + ) as Datastore; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listDatastoreItems + * @throws ApiException if the response code was not in [200, 299] + */ + public async listDatastoreItems( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: ItemApiPayloadArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ItemApiPayloadArray" + ) as ItemApiPayloadArray; + return body; + } + if (response.httpStatusCode === 400 || response.httpStatusCode === 404) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ItemApiPayloadArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ItemApiPayloadArray", + "" + ) as ItemApiPayloadArray; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listDatastores + * @throws ApiException if the response code was not in [200, 299] + */ + public async listDatastores( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DatastoreArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatastoreArray" + ) as DatastoreArray; + return body; + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatastoreArray = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatastoreArray", + "" + ) as DatastoreArray; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateDatastore + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateDatastore(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: Datastore = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "Datastore" + ) as Datastore; + return body; + } + if (response.httpStatusCode === 400 || response.httpStatusCode === 404) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: Datastore = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "Datastore", + "" + ) as Datastore; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateDatastoreItem + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateDatastoreItem( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: ItemApiPayload = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ItemApiPayload" + ) as ItemApiPayload; + return body; + } + if (response.httpStatusCode === 400 || response.httpStatusCode === 404) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + if (response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ItemApiPayload = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ItemApiPayload", + "" + ) as ItemApiPayload; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } +} + +export interface ActionsDatastoresApiBulkWriteDatastoreItemsRequest { + /** + * The unique identifier of the datastore to retrieve. + * @type string + */ + datastoreId: string; + /** + * @type BulkPutAppsDatastoreItemsRequest + */ + body: BulkPutAppsDatastoreItemsRequest; +} + +export interface ActionsDatastoresApiCreateDatastoreRequest { + /** + * @type CreateAppsDatastoreRequest + */ + body: CreateAppsDatastoreRequest; +} + +export interface ActionsDatastoresApiDeleteDatastoreRequest { + /** + * The unique identifier of the datastore to retrieve. + * @type string + */ + datastoreId: string; +} + +export interface ActionsDatastoresApiDeleteDatastoreItemRequest { + /** + * The unique identifier of the datastore to retrieve. + * @type string + */ + datastoreId: string; + /** + * @type DeleteAppsDatastoreItemRequest + */ + body: DeleteAppsDatastoreItemRequest; +} + +export interface ActionsDatastoresApiGetDatastoreRequest { + /** + * The unique identifier of the datastore to retrieve. + * @type string + */ + datastoreId: string; +} + +export interface ActionsDatastoresApiListDatastoreItemsRequest { + /** + * The unique identifier of the datastore to retrieve. + * @type string + */ + datastoreId: string; + /** + * Optional query filter to search items using the [logs search syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). + * @type string + */ + filter?: string; + /** + * Optional primary key value to retrieve a specific item. Cannot be used together with the filter parameter. + * @type string + */ + itemKey?: string; + /** + * Optional field to limit the number of items to return per page for pagination. Up to 100 items can be returned per page. + * @type number + */ + pageLimit?: number; + /** + * Optional field to offset the number of items to skip from the beginning of the result set for pagination. + * @type number + */ + pageOffset?: number; + /** + * Optional field to sort results by. Prefix with '-' for descending order (e.g., '-created_at'). + * @type string + */ + sort?: string; +} + +export interface ActionsDatastoresApiUpdateDatastoreRequest { + /** + * The unique identifier of the datastore to retrieve. + * @type string + */ + datastoreId: string; + /** + * @type UpdateAppsDatastoreRequest + */ + body: UpdateAppsDatastoreRequest; +} + +export interface ActionsDatastoresApiUpdateDatastoreItemRequest { + /** + * The unique identifier of the datastore to retrieve. + * @type string + */ + datastoreId: string; + /** + * @type UpdateAppsDatastoreItemRequest + */ + body: UpdateAppsDatastoreItemRequest; +} + +export class ActionsDatastoresApi { + private requestFactory: ActionsDatastoresApiRequestFactory; + private responseProcessor: ActionsDatastoresApiResponseProcessor; + private configuration: Configuration; + + public constructor( + configuration: Configuration, + requestFactory?: ActionsDatastoresApiRequestFactory, + responseProcessor?: ActionsDatastoresApiResponseProcessor + ) { + this.configuration = configuration; + this.requestFactory = + requestFactory || new ActionsDatastoresApiRequestFactory(configuration); + this.responseProcessor = + responseProcessor || new ActionsDatastoresApiResponseProcessor(); + } + + /** + * Creates or replaces multiple items in a datastore by their keys in a single operation. + * @param param The request object + */ + public bulkWriteDatastoreItems( + param: ActionsDatastoresApiBulkWriteDatastoreItemsRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.bulkWriteDatastoreItems( + param.datastoreId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.bulkWriteDatastoreItems( + responseContext + ); + }); + }); + } + + /** + * Creates a new datastore. + * @param param The request object + */ + public createDatastore( + param: ActionsDatastoresApiCreateDatastoreRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.createDatastore( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createDatastore(responseContext); + }); + }); + } + + /** + * Deletes a datastore by its unique identifier. + * @param param The request object + */ + public deleteDatastore( + param: ActionsDatastoresApiDeleteDatastoreRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.deleteDatastore( + param.datastoreId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteDatastore(responseContext); + }); + }); + } + + /** + * Deletes an item from a datastore by its key. + * @param param The request object + */ + public deleteDatastoreItem( + param: ActionsDatastoresApiDeleteDatastoreItemRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.deleteDatastoreItem( + param.datastoreId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteDatastoreItem(responseContext); + }); + }); + } + + /** + * Retrieves a specific datastore by its ID. + * @param param The request object + */ + public getDatastore( + param: ActionsDatastoresApiGetDatastoreRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getDatastore( + param.datastoreId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getDatastore(responseContext); + }); + }); + } + + /** + * Lists items from a datastore. You can filter the results by specifying either an item key or a filter query parameter, but not both at the same time. Supports server-side pagination for large datasets. + * @param param The request object + */ + public listDatastoreItems( + param: ActionsDatastoresApiListDatastoreItemsRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.listDatastoreItems( + param.datastoreId, + param.filter, + param.itemKey, + param.pageLimit, + param.pageOffset, + param.sort, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listDatastoreItems(responseContext); + }); + }); + } + + /** + * Lists all datastores for the organization. + * @param param The request object + */ + public listDatastores(options?: Configuration): Promise { + const requestContextPromise = this.requestFactory.listDatastores(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listDatastores(responseContext); + }); + }); + } + + /** + * Updates an existing datastore's attributes. + * @param param The request object + */ + public updateDatastore( + param: ActionsDatastoresApiUpdateDatastoreRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.updateDatastore( + param.datastoreId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateDatastore(responseContext); + }); + }); + } + + /** + * Partially updates an item in a datastore by its key. + * @param param The request object + */ + public updateDatastoreItem( + param: ActionsDatastoresApiUpdateDatastoreItemRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.updateDatastoreItem( + param.datastoreId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateDatastoreItem(responseContext); + }); + }); + } +} diff --git a/packages/datadog-api-client-v2/apis/CIVisibilityPipelinesApi.ts b/packages/datadog-api-client-v2/apis/CIVisibilityPipelinesApi.ts index 8fb1756a83e9..bbffd904dd8a 100644 --- a/packages/datadog-api-client-v2/apis/CIVisibilityPipelinesApi.ts +++ b/packages/datadog-api-client-v2/apis/CIVisibilityPipelinesApi.ts @@ -574,6 +574,8 @@ export class CIVisibilityPipelinesApi { /** * Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/). * + * Multiple events can be sent in an array (up to 1000). + * * Pipeline events can be submitted with a timestamp that is up to 18 hours in the past. * @param param The request object */ diff --git a/packages/datadog-api-client-v2/apis/IncidentsApi.ts b/packages/datadog-api-client-v2/apis/IncidentsApi.ts index 83f1138b9a72..b397e9ec3281 100644 --- a/packages/datadog-api-client-v2/apis/IncidentsApi.ts +++ b/packages/datadog-api-client-v2/apis/IncidentsApi.ts @@ -17,6 +17,8 @@ import { ObjectSerializer } from "../models/ObjectSerializer"; import { ApiException } from "../../datadog-api-client-common/exception"; import { APIErrorResponse } from "../models/APIErrorResponse"; +import { CreateIncidentNotificationRuleRequest } from "../models/CreateIncidentNotificationRuleRequest"; +import { CreateIncidentNotificationTemplateRequest } from "../models/CreateIncidentNotificationTemplateRequest"; import { IncidentAttachmentAttachmentType } from "../models/IncidentAttachmentAttachmentType"; import { IncidentAttachmentRelatedObject } from "../models/IncidentAttachmentRelatedObject"; import { IncidentAttachmentsResponse } from "../models/IncidentAttachmentsResponse"; @@ -27,6 +29,10 @@ import { IncidentIntegrationMetadataCreateRequest } from "../models/IncidentInte import { IncidentIntegrationMetadataListResponse } from "../models/IncidentIntegrationMetadataListResponse"; import { IncidentIntegrationMetadataPatchRequest } from "../models/IncidentIntegrationMetadataPatchRequest"; import { IncidentIntegrationMetadataResponse } from "../models/IncidentIntegrationMetadataResponse"; +import { IncidentNotificationRule } from "../models/IncidentNotificationRule"; +import { IncidentNotificationRuleArray } from "../models/IncidentNotificationRuleArray"; +import { IncidentNotificationTemplate } from "../models/IncidentNotificationTemplate"; +import { IncidentNotificationTemplateArray } from "../models/IncidentNotificationTemplateArray"; import { IncidentRelatedObject } from "../models/IncidentRelatedObject"; import { IncidentResponse } from "../models/IncidentResponse"; import { IncidentResponseData } from "../models/IncidentResponseData"; @@ -43,6 +49,8 @@ import { IncidentTypeListResponse } from "../models/IncidentTypeListResponse"; import { IncidentTypePatchRequest } from "../models/IncidentTypePatchRequest"; import { IncidentTypeResponse } from "../models/IncidentTypeResponse"; import { IncidentUpdateRequest } from "../models/IncidentUpdateRequest"; +import { PatchIncidentNotificationTemplateRequest } from "../models/PatchIncidentNotificationTemplateRequest"; +import { PutIncidentNotificationRuleRequest } from "../models/PutIncidentNotificationRuleRequest"; export class IncidentsApiRequestFactory extends BaseAPIRequestFactory { public async createIncident( @@ -155,6 +163,114 @@ export class IncidentsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async createIncidentNotificationRule( + body: CreateIncidentNotificationRuleRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'createIncidentNotificationRule'"); + if (!_config.unstableOperations["v2.createIncidentNotificationRule"]) { + throw new Error( + "Unstable operation 'createIncidentNotificationRule' is disabled" + ); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createIncidentNotificationRule"); + } + + // Path Params + const localVarPath = "/api/v2/incidents/config/notification-rules"; + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.createIncidentNotificationRule") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "CreateIncidentNotificationRuleRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async createIncidentNotificationTemplate( + body: CreateIncidentNotificationTemplateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'createIncidentNotificationTemplate'" + ); + if (!_config.unstableOperations["v2.createIncidentNotificationTemplate"]) { + throw new Error( + "Unstable operation 'createIncidentNotificationTemplate' is disabled" + ); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createIncidentNotificationTemplate"); + } + + // Path Params + const localVarPath = "/api/v2/incidents/config/notification-templates"; + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.createIncidentNotificationTemplate") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "CreateIncidentNotificationTemplateRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async createIncidentTodo( incidentId: string, body: IncidentTodoCreateRequest, @@ -351,6 +467,112 @@ export class IncidentsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async deleteIncidentNotificationRule( + id: string, + include?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'deleteIncidentNotificationRule'"); + if (!_config.unstableOperations["v2.deleteIncidentNotificationRule"]) { + throw new Error( + "Unstable operation 'deleteIncidentNotificationRule' is disabled" + ); + } + + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError("id", "deleteIncidentNotificationRule"); + } + + // Path Params + const localVarPath = + "/api/v2/incidents/config/notification-rules/{id}".replace( + "{id}", + encodeURIComponent(String(id)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.deleteIncidentNotificationRule") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async deleteIncidentNotificationTemplate( + id: string, + include?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'deleteIncidentNotificationTemplate'" + ); + if (!_config.unstableOperations["v2.deleteIncidentNotificationTemplate"]) { + throw new Error( + "Unstable operation 'deleteIncidentNotificationTemplate' is disabled" + ); + } + + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError("id", "deleteIncidentNotificationTemplate"); + } + + // Path Params + const localVarPath = + "/api/v2/incidents/config/notification-templates/{id}".replace( + "{id}", + encodeURIComponent(String(id)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.deleteIncidentNotificationTemplate") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async deleteIncidentTodo( incidentId: string, todoId: string, @@ -538,6 +760,110 @@ export class IncidentsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async getIncidentNotificationRule( + id: string, + include?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'getIncidentNotificationRule'"); + if (!_config.unstableOperations["v2.getIncidentNotificationRule"]) { + throw new Error( + "Unstable operation 'getIncidentNotificationRule' is disabled" + ); + } + + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError("id", "getIncidentNotificationRule"); + } + + // Path Params + const localVarPath = + "/api/v2/incidents/config/notification-rules/{id}".replace( + "{id}", + encodeURIComponent(String(id)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.getIncidentNotificationRule") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async getIncidentNotificationTemplate( + id: string, + include?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'getIncidentNotificationTemplate'"); + if (!_config.unstableOperations["v2.getIncidentNotificationTemplate"]) { + throw new Error( + "Unstable operation 'getIncidentNotificationTemplate' is disabled" + ); + } + + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError("id", "getIncidentNotificationTemplate"); + } + + // Path Params + const localVarPath = + "/api/v2/incidents/config/notification-templates/{id}".replace( + "{id}", + encodeURIComponent(String(id)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.getIncidentNotificationTemplate") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async getIncidentTodo( incidentId: string, todoId: string, @@ -731,25 +1057,25 @@ export class IncidentsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } - public async listIncidents( - include?: Array, - pageSize?: number, - pageOffset?: number, + public async listIncidentNotificationRules( + include?: string, _options?: Configuration ): Promise { const _config = _options || this.configuration; - logger.warn("Using unstable operation 'listIncidents'"); - if (!_config.unstableOperations["v2.listIncidents"]) { - throw new Error("Unstable operation 'listIncidents' is disabled"); + logger.warn("Using unstable operation 'listIncidentNotificationRules'"); + if (!_config.unstableOperations["v2.listIncidentNotificationRules"]) { + throw new Error( + "Unstable operation 'listIncidentNotificationRules' is disabled" + ); } // Path Params - const localVarPath = "/api/v2/incidents"; + const localVarPath = "/api/v2/incidents/config/notification-rules"; // Make Request Context const requestContext = _config - .getServer("v2.IncidentsApi.listIncidents") + .getServer("v2.IncidentsApi.listIncidentNotificationRules") .makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); @@ -758,8 +1084,100 @@ export class IncidentsApiRequestFactory extends BaseAPIRequestFactory { if (include !== undefined) { requestContext.setQueryParam( "include", - ObjectSerializer.serialize(include, "Array", ""), - "csv" + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async listIncidentNotificationTemplates( + filterIncidentType?: string, + include?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'listIncidentNotificationTemplates'"); + if (!_config.unstableOperations["v2.listIncidentNotificationTemplates"]) { + throw new Error( + "Unstable operation 'listIncidentNotificationTemplates' is disabled" + ); + } + + // Path Params + const localVarPath = "/api/v2/incidents/config/notification-templates"; + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.listIncidentNotificationTemplates") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (filterIncidentType !== undefined) { + requestContext.setQueryParam( + "filter[incident-type]", + ObjectSerializer.serialize(filterIncidentType, "string", "uuid"), + "" + ); + } + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async listIncidents( + include?: Array, + pageSize?: number, + pageOffset?: number, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'listIncidents'"); + if (!_config.unstableOperations["v2.listIncidents"]) { + throw new Error("Unstable operation 'listIncidents' is disabled"); + } + + // Path Params + const localVarPath = "/api/v2/incidents"; + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.listIncidents") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "Array", ""), + "csv" ); } if (pageSize !== undefined) { @@ -1155,6 +1573,154 @@ export class IncidentsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async updateIncidentNotificationRule( + id: string, + body: PutIncidentNotificationRuleRequest, + include?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'updateIncidentNotificationRule'"); + if (!_config.unstableOperations["v2.updateIncidentNotificationRule"]) { + throw new Error( + "Unstable operation 'updateIncidentNotificationRule' is disabled" + ); + } + + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError("id", "updateIncidentNotificationRule"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateIncidentNotificationRule"); + } + + // Path Params + const localVarPath = + "/api/v2/incidents/config/notification-rules/{id}".replace( + "{id}", + encodeURIComponent(String(id)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.updateIncidentNotificationRule") + .makeRequestContext(localVarPath, HttpMethod.PUT); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "PutIncidentNotificationRuleRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async updateIncidentNotificationTemplate( + id: string, + body: PatchIncidentNotificationTemplateRequest, + include?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'updateIncidentNotificationTemplate'" + ); + if (!_config.unstableOperations["v2.updateIncidentNotificationTemplate"]) { + throw new Error( + "Unstable operation 'updateIncidentNotificationTemplate' is disabled" + ); + } + + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError("id", "updateIncidentNotificationTemplate"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateIncidentNotificationTemplate"); + } + + // Path Params + const localVarPath = + "/api/v2/incidents/config/notification-templates/{id}".replace( + "{id}", + encodeURIComponent(String(id)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.IncidentsApi.updateIncidentNotificationTemplate") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize(include, "string", ""), + "" + ); + } + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "PatchIncidentNotificationTemplateRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + public async updateIncidentTodo( incidentId: string, todoId: string, @@ -1410,20 +1976,20 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to createIncidentTodo + * @params response Response returned by the server for a request to createIncidentNotificationRule * @throws ApiException if the response code was not in [200, 299] */ - public async createIncidentTodo( + public async createIncidentNotificationRule( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 201) { - const body: IncidentTodoResponse = ObjectSerializer.deserialize( + const body: IncidentNotificationRule = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTodoResponse" - ) as IncidentTodoResponse; + "IncidentNotificationRule" + ) as IncidentNotificationRule; return body; } if ( @@ -1455,11 +2021,11 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentTodoResponse = ObjectSerializer.deserialize( + const body: IncidentNotificationRule = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTodoResponse", + "IncidentNotificationRule", "" - ) as IncidentTodoResponse; + ) as IncidentNotificationRule; return body; } @@ -1474,20 +2040,20 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to createIncidentType + * @params response Response returned by the server for a request to createIncidentNotificationTemplate * @throws ApiException if the response code was not in [200, 299] */ - public async createIncidentType( + public async createIncidentNotificationTemplate( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 201) { - const body: IncidentTypeResponse = ObjectSerializer.deserialize( + const body: IncidentNotificationTemplate = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTypeResponse" - ) as IncidentTypeResponse; + "IncidentNotificationTemplate" + ) as IncidentNotificationTemplate; return body; } if ( @@ -1519,11 +2085,11 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentTypeResponse = ObjectSerializer.deserialize( + const body: IncidentNotificationTemplate = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTypeResponse", + "IncidentNotificationTemplate", "" - ) as IncidentTypeResponse; + ) as IncidentNotificationTemplate; return body; } @@ -1538,15 +2104,21 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteIncident + * @params response Response returned by the server for a request to createIncidentTodo * @throws ApiException if the response code was not in [200, 299] */ - public async deleteIncident(response: ResponseContext): Promise { + public async createIncidentTodo( + response: ResponseContext + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 201) { + const body: IncidentTodoResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentTodoResponse" + ) as IncidentTodoResponse; + return body; } if ( response.httpStatusCode === 400 || @@ -1577,7 +2149,12 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: IncidentTodoResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentTodoResponse", + "" + ) as IncidentTodoResponse; + return body; } const body = (await response.body.text()) || ""; @@ -1591,17 +2168,21 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteIncidentIntegration + * @params response Response returned by the server for a request to createIncidentType * @throws ApiException if the response code was not in [200, 299] */ - public async deleteIncidentIntegration( + public async createIncidentType( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 201) { + const body: IncidentTypeResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentTypeResponse" + ) as IncidentTypeResponse; + return body; } if ( response.httpStatusCode === 400 || @@ -1632,7 +2213,466 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: IncidentTypeResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentTypeResponse", + "" + ) as IncidentTypeResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteIncident + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteIncident(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteIncidentIntegration + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteIncidentIntegration( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteIncidentNotificationRule + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteIncidentNotificationRule( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteIncidentNotificationTemplate + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteIncidentNotificationTemplate( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteIncidentTodo + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteIncidentTodo(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteIncidentType + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteIncidentType(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getIncident + * @throws ApiException if the response code was not in [200, 299] + */ + public async getIncident( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IncidentResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentResponse" + ) as IncidentResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IncidentResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentResponse", + "" + ) as IncidentResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getIncidentIntegration + * @throws ApiException if the response code was not in [200, 299] + */ + public async getIncidentIntegration( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IncidentIntegrationMetadataResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentIntegrationMetadataResponse" + ) as IncidentIntegrationMetadataResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IncidentIntegrationMetadataResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentIntegrationMetadataResponse", + "" + ) as IncidentIntegrationMetadataResponse; + return body; } const body = (await response.body.text()) || ""; @@ -1646,15 +2686,21 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteIncidentTodo + * @params response Response returned by the server for a request to getIncidentNotificationRule * @throws ApiException if the response code was not in [200, 299] */ - public async deleteIncidentTodo(response: ResponseContext): Promise { + public async getIncidentNotificationRule( + response: ResponseContext + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: IncidentNotificationRule = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationRule" + ) as IncidentNotificationRule; + return body; } if ( response.httpStatusCode === 400 || @@ -1685,7 +2731,12 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: IncidentNotificationRule = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationRule", + "" + ) as IncidentNotificationRule; + return body; } const body = (await response.body.text()) || ""; @@ -1699,15 +2750,21 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteIncidentType + * @params response Response returned by the server for a request to getIncidentNotificationTemplate * @throws ApiException if the response code was not in [200, 299] */ - public async deleteIncidentType(response: ResponseContext): Promise { + public async getIncidentNotificationTemplate( + response: ResponseContext + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); - if (response.httpStatusCode === 204) { - return; + if (response.httpStatusCode === 200) { + const body: IncidentNotificationTemplate = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationTemplate" + ) as IncidentNotificationTemplate; + return body; } if ( response.httpStatusCode === 400 || @@ -1738,7 +2795,12 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - return; + const body: IncidentNotificationTemplate = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationTemplate", + "" + ) as IncidentNotificationTemplate; + return body; } const body = (await response.body.text()) || ""; @@ -1752,20 +2814,20 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getIncident + * @params response Response returned by the server for a request to getIncidentTodo * @throws ApiException if the response code was not in [200, 299] */ - public async getIncident( + public async getIncidentTodo( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: IncidentResponse = ObjectSerializer.deserialize( + const body: IncidentTodoResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentResponse" - ) as IncidentResponse; + "IncidentTodoResponse" + ) as IncidentTodoResponse; return body; } if ( @@ -1797,11 +2859,11 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentResponse = ObjectSerializer.deserialize( + const body: IncidentTodoResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentResponse", + "IncidentTodoResponse", "" - ) as IncidentResponse; + ) as IncidentTodoResponse; return body; } @@ -1816,21 +2878,20 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getIncidentIntegration + * @params response Response returned by the server for a request to getIncidentType * @throws ApiException if the response code was not in [200, 299] */ - public async getIncidentIntegration( + public async getIncidentType( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: IncidentIntegrationMetadataResponse = - ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentIntegrationMetadataResponse" - ) as IncidentIntegrationMetadataResponse; + const body: IncidentTypeResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentTypeResponse" + ) as IncidentTypeResponse; return body; } if ( @@ -1862,12 +2923,11 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentIntegrationMetadataResponse = - ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentIntegrationMetadataResponse", - "" - ) as IncidentIntegrationMetadataResponse; + const body: IncidentTypeResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentTypeResponse", + "" + ) as IncidentTypeResponse; return body; } @@ -1882,20 +2942,20 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getIncidentTodo + * @params response Response returned by the server for a request to listIncidentAttachments * @throws ApiException if the response code was not in [200, 299] */ - public async getIncidentTodo( + public async listIncidentAttachments( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: IncidentTodoResponse = ObjectSerializer.deserialize( + const body: IncidentAttachmentsResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTodoResponse" - ) as IncidentTodoResponse; + "IncidentAttachmentsResponse" + ) as IncidentAttachmentsResponse; return body; } if ( @@ -1927,11 +2987,11 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentTodoResponse = ObjectSerializer.deserialize( + const body: IncidentAttachmentsResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTodoResponse", + "IncidentAttachmentsResponse", "" - ) as IncidentTodoResponse; + ) as IncidentAttachmentsResponse; return body; } @@ -1946,20 +3006,21 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getIncidentType + * @params response Response returned by the server for a request to listIncidentIntegrations * @throws ApiException if the response code was not in [200, 299] */ - public async getIncidentType( + public async listIncidentIntegrations( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: IncidentTypeResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTypeResponse" - ) as IncidentTypeResponse; + const body: IncidentIntegrationMetadataListResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentIntegrationMetadataListResponse" + ) as IncidentIntegrationMetadataListResponse; return body; } if ( @@ -1991,11 +3052,12 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentTypeResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentTypeResponse", - "" - ) as IncidentTypeResponse; + const body: IncidentIntegrationMetadataListResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentIntegrationMetadataListResponse", + "" + ) as IncidentIntegrationMetadataListResponse; return body; } @@ -2010,20 +3072,20 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to listIncidentAttachments + * @params response Response returned by the server for a request to listIncidentNotificationRules * @throws ApiException if the response code was not in [200, 299] */ - public async listIncidentAttachments( + public async listIncidentNotificationRules( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: IncidentAttachmentsResponse = ObjectSerializer.deserialize( + const body: IncidentNotificationRuleArray = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentAttachmentsResponse" - ) as IncidentAttachmentsResponse; + "IncidentNotificationRuleArray" + ) as IncidentNotificationRuleArray; return body; } if ( @@ -2055,11 +3117,11 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentAttachmentsResponse = ObjectSerializer.deserialize( + const body: IncidentNotificationRuleArray = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentAttachmentsResponse", + "IncidentNotificationRuleArray", "" - ) as IncidentAttachmentsResponse; + ) as IncidentNotificationRuleArray; return body; } @@ -2074,21 +3136,21 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to listIncidentIntegrations + * @params response Response returned by the server for a request to listIncidentNotificationTemplates * @throws ApiException if the response code was not in [200, 299] */ - public async listIncidentIntegrations( + public async listIncidentNotificationTemplates( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: IncidentIntegrationMetadataListResponse = + const body: IncidentNotificationTemplateArray = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentIntegrationMetadataListResponse" - ) as IncidentIntegrationMetadataListResponse; + "IncidentNotificationTemplateArray" + ) as IncidentNotificationTemplateArray; return body; } if ( @@ -2120,12 +3182,12 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentIntegrationMetadataListResponse = + const body: IncidentNotificationTemplateArray = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentIntegrationMetadataListResponse", + "IncidentNotificationTemplateArray", "" - ) as IncidentIntegrationMetadataListResponse; + ) as IncidentNotificationTemplateArray; return body; } @@ -2525,21 +3587,150 @@ export class IncidentsApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to updateIncidentIntegration + * @params response Response returned by the server for a request to updateIncidentIntegration + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateIncidentIntegration( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IncidentIntegrationMetadataResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentIntegrationMetadataResponse" + ) as IncidentIntegrationMetadataResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IncidentIntegrationMetadataResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentIntegrationMetadataResponse", + "" + ) as IncidentIntegrationMetadataResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateIncidentNotificationRule + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateIncidentNotificationRule( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IncidentNotificationRule = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationRule" + ) as IncidentNotificationRule; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IncidentNotificationRule = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationRule", + "" + ) as IncidentNotificationRule; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateIncidentNotificationTemplate * @throws ApiException if the response code was not in [200, 299] */ - public async updateIncidentIntegration( + public async updateIncidentNotificationTemplate( response: ResponseContext - ): Promise { + ): Promise { const contentType = ObjectSerializer.normalizeMediaType( response.headers["content-type"] ); if (response.httpStatusCode === 200) { - const body: IncidentIntegrationMetadataResponse = - ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentIntegrationMetadataResponse" - ) as IncidentIntegrationMetadataResponse; + const body: IncidentNotificationTemplate = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationTemplate" + ) as IncidentNotificationTemplate; return body; } if ( @@ -2571,12 +3762,11 @@ export class IncidentsApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: IncidentIntegrationMetadataResponse = - ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "IncidentIntegrationMetadataResponse", - "" - ) as IncidentIntegrationMetadataResponse; + const body: IncidentNotificationTemplate = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IncidentNotificationTemplate", + "" + ) as IncidentNotificationTemplate; return body; } @@ -2737,6 +3927,20 @@ export interface IncidentsApiCreateIncidentIntegrationRequest { body: IncidentIntegrationMetadataCreateRequest; } +export interface IncidentsApiCreateIncidentNotificationRuleRequest { + /** + * @type CreateIncidentNotificationRuleRequest + */ + body: CreateIncidentNotificationRuleRequest; +} + +export interface IncidentsApiCreateIncidentNotificationTemplateRequest { + /** + * @type CreateIncidentNotificationTemplateRequest + */ + body: CreateIncidentNotificationTemplateRequest; +} + export interface IncidentsApiCreateIncidentTodoRequest { /** * The UUID of the incident. @@ -2779,6 +3983,32 @@ export interface IncidentsApiDeleteIncidentIntegrationRequest { integrationMetadataId: string; } +export interface IncidentsApiDeleteIncidentNotificationRuleRequest { + /** + * The ID of the notification rule. + * @type string + */ + id: string; + /** + * Comma-separated list of resources to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type`, `notification_template` + * @type string + */ + include?: string; +} + +export interface IncidentsApiDeleteIncidentNotificationTemplateRequest { + /** + * The ID of the notification template. + * @type string + */ + id: string; + /** + * Comma-separated list of relationships to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type` + * @type string + */ + include?: string; +} + export interface IncidentsApiDeleteIncidentTodoRequest { /** * The UUID of the incident. @@ -2826,6 +4056,32 @@ export interface IncidentsApiGetIncidentIntegrationRequest { integrationMetadataId: string; } +export interface IncidentsApiGetIncidentNotificationRuleRequest { + /** + * The ID of the notification rule. + * @type string + */ + id: string; + /** + * Comma-separated list of resources to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type`, `notification_template` + * @type string + */ + include?: string; +} + +export interface IncidentsApiGetIncidentNotificationTemplateRequest { + /** + * The ID of the notification template. + * @type string + */ + id: string; + /** + * Comma-separated list of relationships to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type` + * @type string + */ + include?: string; +} + export interface IncidentsApiGetIncidentTodoRequest { /** * The UUID of the incident. @@ -2873,6 +4129,27 @@ export interface IncidentsApiListIncidentIntegrationsRequest { incidentId: string; } +export interface IncidentsApiListIncidentNotificationRulesRequest { + /** + * Comma-separated list of resources to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type`, `notification_template` + * @type string + */ + include?: string; +} + +export interface IncidentsApiListIncidentNotificationTemplatesRequest { + /** + * Optional incident type ID filter. + * @type string + */ + filterIncidentType?: string; + /** + * Comma-separated list of relationships to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type` + * @type string + */ + include?: string; +} + export interface IncidentsApiListIncidentsRequest { /** * Specifies which types of related objects should be included in the response. @@ -2991,6 +4268,40 @@ export interface IncidentsApiUpdateIncidentIntegrationRequest { body: IncidentIntegrationMetadataPatchRequest; } +export interface IncidentsApiUpdateIncidentNotificationRuleRequest { + /** + * The ID of the notification rule. + * @type string + */ + id: string; + /** + * @type PutIncidentNotificationRuleRequest + */ + body: PutIncidentNotificationRuleRequest; + /** + * Comma-separated list of resources to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type`, `notification_template` + * @type string + */ + include?: string; +} + +export interface IncidentsApiUpdateIncidentNotificationTemplateRequest { + /** + * The ID of the notification template. + * @type string + */ + id: string; + /** + * @type PatchIncidentNotificationTemplateRequest + */ + body: PatchIncidentNotificationTemplateRequest; + /** + * Comma-separated list of relationships to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type` + * @type string + */ + include?: string; +} + export interface IncidentsApiUpdateIncidentTodoRequest { /** * The UUID of the incident. @@ -3084,6 +4395,51 @@ export class IncidentsApi { }); } + /** + * Creates a new notification rule. + * @param param The request object + */ + public createIncidentNotificationRule( + param: IncidentsApiCreateIncidentNotificationRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.createIncidentNotificationRule(param.body, options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createIncidentNotificationRule( + responseContext + ); + }); + }); + } + + /** + * Creates a new notification template. + * @param param The request object + */ + public createIncidentNotificationTemplate( + param: IncidentsApiCreateIncidentNotificationTemplateRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.createIncidentNotificationTemplate( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createIncidentNotificationTemplate( + responseContext + ); + }); + }); + } + /** * Create an incident todo. * @param param The request object @@ -3172,6 +4528,56 @@ export class IncidentsApi { }); } + /** + * Deletes a notification rule by its ID. + * @param param The request object + */ + public deleteIncidentNotificationRule( + param: IncidentsApiDeleteIncidentNotificationRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.deleteIncidentNotificationRule( + param.id, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteIncidentNotificationRule( + responseContext + ); + }); + }); + } + + /** + * Deletes a notification template by its ID. + * @param param The request object + */ + public deleteIncidentNotificationTemplate( + param: IncidentsApiDeleteIncidentNotificationTemplateRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.deleteIncidentNotificationTemplate( + param.id, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteIncidentNotificationTemplate( + responseContext + ); + }); + }); + } + /** * Delete an incident todo. * @param param The request object @@ -3259,6 +4665,56 @@ export class IncidentsApi { }); } + /** + * Retrieves a specific notification rule by its ID. + * @param param The request object + */ + public getIncidentNotificationRule( + param: IncidentsApiGetIncidentNotificationRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.getIncidentNotificationRule( + param.id, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getIncidentNotificationRule( + responseContext + ); + }); + }); + } + + /** + * Retrieves a specific notification template by its ID. + * @param param The request object + */ + public getIncidentNotificationTemplate( + param: IncidentsApiGetIncidentNotificationTemplateRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.getIncidentNotificationTemplate( + param.id, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getIncidentNotificationTemplate( + responseContext + ); + }); + }); + } + /** * Get incident todo details. * @param param The request object @@ -3350,6 +4806,52 @@ export class IncidentsApi { }); } + /** + * Lists all notification rules for the organization. Optionally filter by incident type. + * @param param The request object + */ + public listIncidentNotificationRules( + param: IncidentsApiListIncidentNotificationRulesRequest = {}, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.listIncidentNotificationRules(param.include, options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listIncidentNotificationRules( + responseContext + ); + }); + }); + } + + /** + * Lists all notification templates. Optionally filter by incident type. + * @param param The request object + */ + public listIncidentNotificationTemplates( + param: IncidentsApiListIncidentNotificationTemplatesRequest = {}, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.listIncidentNotificationTemplates( + param.filterIncidentType, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listIncidentNotificationTemplates( + responseContext + ); + }); + }); + } + /** * Get all incidents for the user's organization. * @param param The request object @@ -3613,6 +5115,58 @@ export class IncidentsApi { }); } + /** + * Updates an existing notification rule with a complete replacement. + * @param param The request object + */ + public updateIncidentNotificationRule( + param: IncidentsApiUpdateIncidentNotificationRuleRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.updateIncidentNotificationRule( + param.id, + param.body, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateIncidentNotificationRule( + responseContext + ); + }); + }); + } + + /** + * Updates an existing notification template's attributes. + * @param param The request object + */ + public updateIncidentNotificationTemplate( + param: IncidentsApiUpdateIncidentNotificationTemplateRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.updateIncidentNotificationTemplate( + param.id, + param.body, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateIncidentNotificationTemplate( + responseContext + ); + }); + }); + } + /** * Update an incident todo. * @param param The request object diff --git a/packages/datadog-api-client-v2/apis/MonitorsApi.ts b/packages/datadog-api-client-v2/apis/MonitorsApi.ts index c6804f67591f..d7502f295b4f 100644 --- a/packages/datadog-api-client-v2/apis/MonitorsApi.ts +++ b/packages/datadog-api-client-v2/apis/MonitorsApi.ts @@ -351,6 +351,10 @@ export class MonitorsApiRequestFactory extends BaseAPIRequestFactory { } public async getMonitorNotificationRules( + page?: number, + perPage?: number, + sort?: string, + filters?: string, include?: string, _options?: Configuration ): Promise { @@ -367,6 +371,34 @@ export class MonitorsApiRequestFactory extends BaseAPIRequestFactory { requestContext.setHttpConfig(_config.httpConfig); // Query Params + if (page !== undefined) { + requestContext.setQueryParam( + "page", + ObjectSerializer.serialize(page, "number", "int32"), + "" + ); + } + if (perPage !== undefined) { + requestContext.setQueryParam( + "per_page", + ObjectSerializer.serialize(perPage, "number", "int32"), + "" + ); + } + if (sort !== undefined) { + requestContext.setQueryParam( + "sort", + ObjectSerializer.serialize(sort, "string", ""), + "" + ); + } + if (filters !== undefined) { + requestContext.setQueryParam( + "filters", + ObjectSerializer.serialize(filters, "string", ""), + "" + ); + } if (include !== undefined) { requestContext.setQueryParam( "include", @@ -1836,6 +1868,29 @@ export interface MonitorsApiGetMonitorNotificationRuleRequest { } export interface MonitorsApiGetMonitorNotificationRulesRequest { + /** + * The page to start paginating from. If `page` is not specified, the argument defaults to the first page. + * @type number + */ + page?: number; + /** + * The number of rules to return per page. If `per_page` is not specified, the argument defaults to 100. + * @type number + */ + perPage?: number; + /** + * String for sort order, composed of field and sort order separated by a colon, for example `name:asc`. Supported sort directions: `asc`, `desc`. Supported fields: `name`, `created_at`. + * @type string + */ + sort?: string; + /** + * JSON-encoded filter object. Supported keys: + * * `text`: Free-text query matched against rule name, tags, and recipients. + * * `tags`: Array of strings. Return rules that have any of these tags. + * * `recipients`: Array of strings. Return rules that have any of these recipients. + * @type string + */ + filters?: string; /** * Comma-separated list of resource paths for related resources to include in the response. Supported resource * path is `created_by`. @@ -2120,7 +2175,14 @@ export class MonitorsApi { options?: Configuration ): Promise { const requestContextPromise = - this.requestFactory.getMonitorNotificationRules(param.include, options); + this.requestFactory.getMonitorNotificationRules( + param.page, + param.perPage, + param.sort, + param.filters, + param.include, + options + ); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) diff --git a/packages/datadog-api-client-v2/apis/OrgConnectionsApi.ts b/packages/datadog-api-client-v2/apis/OrgConnectionsApi.ts index 3c2d87bf836f..195bf91c0dcd 100644 --- a/packages/datadog-api-client-v2/apis/OrgConnectionsApi.ts +++ b/packages/datadog-api-client-v2/apis/OrgConnectionsApi.ts @@ -100,6 +100,10 @@ export class OrgConnectionsApiRequestFactory extends BaseAPIRequestFactory { } public async listOrgConnections( + sinkOrgId?: string, + sourceOrgId?: string, + limit?: number, + offset?: number, _options?: Configuration ): Promise { const _config = _options || this.configuration; @@ -114,6 +118,36 @@ export class OrgConnectionsApiRequestFactory extends BaseAPIRequestFactory { requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); + // Query Params + if (sinkOrgId !== undefined) { + requestContext.setQueryParam( + "sink_org_id", + ObjectSerializer.serialize(sinkOrgId, "string", ""), + "" + ); + } + if (sourceOrgId !== undefined) { + requestContext.setQueryParam( + "source_org_id", + ObjectSerializer.serialize(sourceOrgId, "string", ""), + "" + ); + } + if (limit !== undefined) { + requestContext.setQueryParam( + "limit", + ObjectSerializer.serialize(limit, "number", "int64"), + "" + ); + } + if (offset !== undefined) { + requestContext.setQueryParam( + "offset", + ObjectSerializer.serialize(offset, "number", "int64"), + "" + ); + } + // Apply auth methods applySecurityAuthentication(_config, requestContext, [ "apiKeyAuth", @@ -437,6 +471,29 @@ export interface OrgConnectionsApiDeleteOrgConnectionsRequest { connectionId: string; } +export interface OrgConnectionsApiListOrgConnectionsRequest { + /** + * The Org ID of the sink org. + * @type string + */ + sinkOrgId?: string; + /** + * The Org ID of the source org. + * @type string + */ + sourceOrgId?: string; + /** + * The limit of number of entries you want to return. Default is 1000. + * @type number + */ + limit?: number; + /** + * The pagination offset which you want to query from. Default is 0. + * @type number + */ + offset?: number; +} + export interface OrgConnectionsApiUpdateOrgConnectionsRequest { /** * The unique identifier of the org connection. @@ -513,10 +570,16 @@ export class OrgConnectionsApi { * @param param The request object */ public listOrgConnections( + param: OrgConnectionsApiListOrgConnectionsRequest = {}, options?: Configuration ): Promise { - const requestContextPromise = - this.requestFactory.listOrgConnections(options); + const requestContextPromise = this.requestFactory.listOrgConnections( + param.sinkOrgId, + param.sourceOrgId, + param.limit, + param.offset, + options + ); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index 5b9e9edab63a..830cb3b6230b 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -39,6 +39,18 @@ export { ActionConnectionApi, } from "./apis/ActionConnectionApi"; +export { + ActionsDatastoresApiBulkWriteDatastoreItemsRequest, + ActionsDatastoresApiCreateDatastoreRequest, + ActionsDatastoresApiDeleteDatastoreRequest, + ActionsDatastoresApiDeleteDatastoreItemRequest, + ActionsDatastoresApiGetDatastoreRequest, + ActionsDatastoresApiListDatastoreItemsRequest, + ActionsDatastoresApiUpdateDatastoreRequest, + ActionsDatastoresApiUpdateDatastoreItemRequest, + ActionsDatastoresApi, +} from "./apis/ActionsDatastoresApi"; + export { AgentlessScanningApiCreateAwsOnDemandTaskRequest, AgentlessScanningApiCreateAwsScanOptionsRequest, @@ -314,18 +326,26 @@ export { export { IncidentsApiCreateIncidentRequest, IncidentsApiCreateIncidentIntegrationRequest, + IncidentsApiCreateIncidentNotificationRuleRequest, + IncidentsApiCreateIncidentNotificationTemplateRequest, IncidentsApiCreateIncidentTodoRequest, IncidentsApiCreateIncidentTypeRequest, IncidentsApiDeleteIncidentRequest, IncidentsApiDeleteIncidentIntegrationRequest, + IncidentsApiDeleteIncidentNotificationRuleRequest, + IncidentsApiDeleteIncidentNotificationTemplateRequest, IncidentsApiDeleteIncidentTodoRequest, IncidentsApiDeleteIncidentTypeRequest, IncidentsApiGetIncidentRequest, IncidentsApiGetIncidentIntegrationRequest, + IncidentsApiGetIncidentNotificationRuleRequest, + IncidentsApiGetIncidentNotificationTemplateRequest, IncidentsApiGetIncidentTodoRequest, IncidentsApiGetIncidentTypeRequest, IncidentsApiListIncidentAttachmentsRequest, IncidentsApiListIncidentIntegrationsRequest, + IncidentsApiListIncidentNotificationRulesRequest, + IncidentsApiListIncidentNotificationTemplatesRequest, IncidentsApiListIncidentTodosRequest, IncidentsApiListIncidentTypesRequest, IncidentsApiListIncidentsRequest, @@ -333,6 +353,8 @@ export { IncidentsApiUpdateIncidentRequest, IncidentsApiUpdateIncidentAttachmentsRequest, IncidentsApiUpdateIncidentIntegrationRequest, + IncidentsApiUpdateIncidentNotificationRuleRequest, + IncidentsApiUpdateIncidentNotificationTemplateRequest, IncidentsApiUpdateIncidentTodoRequest, IncidentsApiUpdateIncidentTypeRequest, IncidentsApi, @@ -508,6 +530,7 @@ export { export { OrgConnectionsApiCreateOrgConnectionsRequest, OrgConnectionsApiDeleteOrgConnectionsRequest, + OrgConnectionsApiListOrgConnectionsRequest, OrgConnectionsApiUpdateOrgConnectionsRequest, OrgConnectionsApi, } from "./apis/OrgConnectionsApi"; @@ -1105,6 +1128,9 @@ export { BulkMuteFindingsRequestMetaFindings } from "./models/BulkMuteFindingsRe export { BulkMuteFindingsRequestProperties } from "./models/BulkMuteFindingsRequestProperties"; export { BulkMuteFindingsResponse } from "./models/BulkMuteFindingsResponse"; export { BulkMuteFindingsResponseData } from "./models/BulkMuteFindingsResponseData"; +export { BulkPutAppsDatastoreItemsRequest } from "./models/BulkPutAppsDatastoreItemsRequest"; +export { BulkPutAppsDatastoreItemsRequestData } from "./models/BulkPutAppsDatastoreItemsRequestData"; +export { BulkPutAppsDatastoreItemsRequestDataAttributes } from "./models/BulkPutAppsDatastoreItemsRequestDataAttributes"; export { CalculatedField } from "./models/CalculatedField"; export { CancelDataDeletionResponseBody } from "./models/CancelDataDeletionResponseBody"; export { Case } from "./models/Case"; @@ -1169,6 +1195,7 @@ export { CIAppCreatePipelineEventRequest } from "./models/CIAppCreatePipelineEve export { CIAppCreatePipelineEventRequestAttributes } from "./models/CIAppCreatePipelineEventRequestAttributes"; export { CIAppCreatePipelineEventRequestAttributesResource } from "./models/CIAppCreatePipelineEventRequestAttributesResource"; export { CIAppCreatePipelineEventRequestData } from "./models/CIAppCreatePipelineEventRequestData"; +export { CIAppCreatePipelineEventRequestDataSingleOrArray } from "./models/CIAppCreatePipelineEventRequestDataSingleOrArray"; export { CIAppCreatePipelineEventRequestDataType } from "./models/CIAppCreatePipelineEventRequestDataType"; export { CIAppEventAttributes } from "./models/CIAppEventAttributes"; export { CIAppGitInfo } from "./models/CIAppGitInfo"; @@ -1397,6 +1424,12 @@ export { CreateAppRequestData } from "./models/CreateAppRequestData"; export { CreateAppRequestDataAttributes } from "./models/CreateAppRequestDataAttributes"; export { CreateAppResponse } from "./models/CreateAppResponse"; export { CreateAppResponseData } from "./models/CreateAppResponseData"; +export { CreateAppsDatastoreRequest } from "./models/CreateAppsDatastoreRequest"; +export { CreateAppsDatastoreRequestData } from "./models/CreateAppsDatastoreRequestData"; +export { CreateAppsDatastoreRequestDataAttributes } from "./models/CreateAppsDatastoreRequestDataAttributes"; +export { CreateAppsDatastoreRequestDataAttributesOrgAccess } from "./models/CreateAppsDatastoreRequestDataAttributesOrgAccess"; +export { CreateAppsDatastoreResponse } from "./models/CreateAppsDatastoreResponse"; +export { CreateAppsDatastoreResponseData } from "./models/CreateAppsDatastoreResponseData"; export { CreateCustomFrameworkRequest } from "./models/CreateCustomFrameworkRequest"; export { CreateCustomFrameworkResponse } from "./models/CreateCustomFrameworkResponse"; export { CreateDataDeletionRequestBody } from "./models/CreateDataDeletionRequestBody"; @@ -1404,6 +1437,8 @@ export { CreateDataDeletionRequestBodyAttributes } from "./models/CreateDataDele export { CreateDataDeletionRequestBodyData } from "./models/CreateDataDeletionRequestBodyData"; export { CreateDataDeletionRequestBodyDataType } from "./models/CreateDataDeletionRequestBodyDataType"; export { CreateDataDeletionResponseBody } from "./models/CreateDataDeletionResponseBody"; +export { CreateIncidentNotificationRuleRequest } from "./models/CreateIncidentNotificationRuleRequest"; +export { CreateIncidentNotificationTemplateRequest } from "./models/CreateIncidentNotificationTemplateRequest"; export { CreateNotificationRuleParameters } from "./models/CreateNotificationRuleParameters"; export { CreateNotificationRuleParametersData } from "./models/CreateNotificationRuleParametersData"; export { CreateNotificationRuleParametersDataAttributes } from "./models/CreateNotificationRuleParametersDataAttributes"; @@ -1544,11 +1579,24 @@ export { DatasetResponseMulti } from "./models/DatasetResponseMulti"; export { DatasetResponseSingle } from "./models/DatasetResponseSingle"; export { DatasetType } from "./models/DatasetType"; export { DatasetUpdateRequest } from "./models/DatasetUpdateRequest"; +export { Datastore } from "./models/Datastore"; +export { DatastoreArray } from "./models/DatastoreArray"; +export { DatastoreData } from "./models/DatastoreData"; +export { DatastoreDataAttributes } from "./models/DatastoreDataAttributes"; +export { DatastoreDataType } from "./models/DatastoreDataType"; +export { DatastoreItemConflictMode } from "./models/DatastoreItemConflictMode"; +export { DatastoreItemsDataType } from "./models/DatastoreItemsDataType"; +export { DatastorePrimaryKeyGenerationStrategy } from "./models/DatastorePrimaryKeyGenerationStrategy"; export { DataTransform } from "./models/DataTransform"; export { DataTransformProperties } from "./models/DataTransformProperties"; export { DataTransformType } from "./models/DataTransformType"; export { DeleteAppResponse } from "./models/DeleteAppResponse"; export { DeleteAppResponseData } from "./models/DeleteAppResponseData"; +export { DeleteAppsDatastoreItemRequest } from "./models/DeleteAppsDatastoreItemRequest"; +export { DeleteAppsDatastoreItemRequestData } from "./models/DeleteAppsDatastoreItemRequestData"; +export { DeleteAppsDatastoreItemRequestDataAttributes } from "./models/DeleteAppsDatastoreItemRequestDataAttributes"; +export { DeleteAppsDatastoreItemResponse } from "./models/DeleteAppsDatastoreItemResponse"; +export { DeleteAppsDatastoreItemResponseData } from "./models/DeleteAppsDatastoreItemResponseData"; export { DeleteAppsRequest } from "./models/DeleteAppsRequest"; export { DeleteAppsRequestDataItems } from "./models/DeleteAppsRequestDataItems"; export { DeleteAppsResponse } from "./models/DeleteAppsResponse"; @@ -1842,6 +1890,8 @@ export { GCPIntegration } from "./models/GCPIntegration"; export { GCPIntegrationType } from "./models/GCPIntegrationType"; export { GCPIntegrationUpdate } from "./models/GCPIntegrationUpdate"; export { GCPMetricNamespaceConfig } from "./models/GCPMetricNamespaceConfig"; +export { GCPMonitoredResourceConfig } from "./models/GCPMonitoredResourceConfig"; +export { GCPMonitoredResourceConfigType } from "./models/GCPMonitoredResourceConfigType"; export { GCPServiceAccount } from "./models/GCPServiceAccount"; export { GCPServiceAccountCredentialType } from "./models/GCPServiceAccountCredentialType"; export { GCPServiceAccountMeta } from "./models/GCPServiceAccountMeta"; @@ -1912,6 +1962,8 @@ export { GitlabCredentialsUpdate } from "./models/GitlabCredentialsUpdate"; export { GitlabIntegration } from "./models/GitlabIntegration"; export { GitlabIntegrationType } from "./models/GitlabIntegrationType"; export { GitlabIntegrationUpdate } from "./models/GitlabIntegrationUpdate"; +export { GoogleMeetConfigurationReference } from "./models/GoogleMeetConfigurationReference"; +export { GoogleMeetConfigurationReferenceData } from "./models/GoogleMeetConfigurationReferenceData"; export { GreyNoiseAPIKey } from "./models/GreyNoiseAPIKey"; export { GreyNoiseAPIKeyType } from "./models/GreyNoiseAPIKeyType"; export { GreyNoiseAPIKeyUpdate } from "./models/GreyNoiseAPIKeyUpdate"; @@ -1995,6 +2047,37 @@ export { IncidentIntegrationMetadataType } from "./models/IncidentIntegrationMet export { IncidentIntegrationRelationships } from "./models/IncidentIntegrationRelationships"; export { IncidentNonDatadogCreator } from "./models/IncidentNonDatadogCreator"; export { IncidentNotificationHandle } from "./models/IncidentNotificationHandle"; +export { IncidentNotificationRule } from "./models/IncidentNotificationRule"; +export { IncidentNotificationRuleArray } from "./models/IncidentNotificationRuleArray"; +export { IncidentNotificationRuleArrayMeta } from "./models/IncidentNotificationRuleArrayMeta"; +export { IncidentNotificationRuleArrayMetaPage } from "./models/IncidentNotificationRuleArrayMetaPage"; +export { IncidentNotificationRuleAttributes } from "./models/IncidentNotificationRuleAttributes"; +export { IncidentNotificationRuleAttributesVisibility } from "./models/IncidentNotificationRuleAttributesVisibility"; +export { IncidentNotificationRuleConditionsItems } from "./models/IncidentNotificationRuleConditionsItems"; +export { IncidentNotificationRuleCreateAttributes } from "./models/IncidentNotificationRuleCreateAttributes"; +export { IncidentNotificationRuleCreateAttributesVisibility } from "./models/IncidentNotificationRuleCreateAttributesVisibility"; +export { IncidentNotificationRuleCreateData } from "./models/IncidentNotificationRuleCreateData"; +export { IncidentNotificationRuleCreateDataRelationships } from "./models/IncidentNotificationRuleCreateDataRelationships"; +export { IncidentNotificationRuleIncludedItems } from "./models/IncidentNotificationRuleIncludedItems"; +export { IncidentNotificationRuleRelationships } from "./models/IncidentNotificationRuleRelationships"; +export { IncidentNotificationRuleResponseData } from "./models/IncidentNotificationRuleResponseData"; +export { IncidentNotificationRuleType } from "./models/IncidentNotificationRuleType"; +export { IncidentNotificationRuleUpdateData } from "./models/IncidentNotificationRuleUpdateData"; +export { IncidentNotificationTemplate } from "./models/IncidentNotificationTemplate"; +export { IncidentNotificationTemplateArray } from "./models/IncidentNotificationTemplateArray"; +export { IncidentNotificationTemplateArrayMeta } from "./models/IncidentNotificationTemplateArrayMeta"; +export { IncidentNotificationTemplateArrayMetaPage } from "./models/IncidentNotificationTemplateArrayMetaPage"; +export { IncidentNotificationTemplateAttributes } from "./models/IncidentNotificationTemplateAttributes"; +export { IncidentNotificationTemplateCreateAttributes } from "./models/IncidentNotificationTemplateCreateAttributes"; +export { IncidentNotificationTemplateCreateData } from "./models/IncidentNotificationTemplateCreateData"; +export { IncidentNotificationTemplateCreateDataRelationships } from "./models/IncidentNotificationTemplateCreateDataRelationships"; +export { IncidentNotificationTemplateIncludedItems } from "./models/IncidentNotificationTemplateIncludedItems"; +export { IncidentNotificationTemplateObject } from "./models/IncidentNotificationTemplateObject"; +export { IncidentNotificationTemplateRelationships } from "./models/IncidentNotificationTemplateRelationships"; +export { IncidentNotificationTemplateResponseData } from "./models/IncidentNotificationTemplateResponseData"; +export { IncidentNotificationTemplateType } from "./models/IncidentNotificationTemplateType"; +export { IncidentNotificationTemplateUpdateAttributes } from "./models/IncidentNotificationTemplateUpdateAttributes"; +export { IncidentNotificationTemplateUpdateData } from "./models/IncidentNotificationTemplateUpdateData"; export { IncidentPostmortemType } from "./models/IncidentPostmortemType"; export { IncidentRelatedObject } from "./models/IncidentRelatedObject"; export { IncidentRespondersType } from "./models/IncidentRespondersType"; @@ -2074,6 +2157,7 @@ export { IncidentTypeListResponse } from "./models/IncidentTypeListResponse"; export { IncidentTypeObject } from "./models/IncidentTypeObject"; export { IncidentTypePatchData } from "./models/IncidentTypePatchData"; export { IncidentTypePatchRequest } from "./models/IncidentTypePatchRequest"; +export { IncidentTypeRelationships } from "./models/IncidentTypeRelationships"; export { IncidentTypeResponse } from "./models/IncidentTypeResponse"; export { IncidentTypeType } from "./models/IncidentTypeType"; export { IncidentTypeUpdateAttributes } from "./models/IncidentTypeUpdateAttributes"; @@ -2150,6 +2234,14 @@ export { IssueUser } from "./models/IssueUser"; export { IssueUserAttributes } from "./models/IssueUserAttributes"; export { IssueUserReference } from "./models/IssueUserReference"; export { IssueUserType } from "./models/IssueUserType"; +export { ItemApiPayload } from "./models/ItemApiPayload"; +export { ItemApiPayloadArray } from "./models/ItemApiPayloadArray"; +export { ItemApiPayloadData } from "./models/ItemApiPayloadData"; +export { ItemApiPayloadDataAttributes } from "./models/ItemApiPayloadDataAttributes"; +export { ItemApiPayloadMeta } from "./models/ItemApiPayloadMeta"; +export { ItemApiPayloadMetaPage } from "./models/ItemApiPayloadMetaPage"; +export { ItemApiPayloadMetaSchema } from "./models/ItemApiPayloadMetaSchema"; +export { ItemApiPayloadMetaSchemaField } from "./models/ItemApiPayloadMetaSchemaField"; export { JiraIntegrationMetadata } from "./models/JiraIntegrationMetadata"; export { JiraIntegrationMetadataIssuesItem } from "./models/JiraIntegrationMetadataIssuesItem"; export { JiraIssue } from "./models/JiraIssue"; @@ -2406,6 +2498,8 @@ export { MicrosoftSentinelDestinationType } from "./models/MicrosoftSentinelDest export { MicrosoftTeamsChannelInfoResponseAttributes } from "./models/MicrosoftTeamsChannelInfoResponseAttributes"; export { MicrosoftTeamsChannelInfoResponseData } from "./models/MicrosoftTeamsChannelInfoResponseData"; export { MicrosoftTeamsChannelInfoType } from "./models/MicrosoftTeamsChannelInfoType"; +export { MicrosoftTeamsConfigurationReference } from "./models/MicrosoftTeamsConfigurationReference"; +export { MicrosoftTeamsConfigurationReferenceData } from "./models/MicrosoftTeamsConfigurationReferenceData"; export { MicrosoftTeamsCreateTenantBasedHandleRequest } from "./models/MicrosoftTeamsCreateTenantBasedHandleRequest"; export { MicrosoftTeamsCreateWorkflowsWebhookHandleRequest } from "./models/MicrosoftTeamsCreateWorkflowsWebhookHandleRequest"; export { MicrosoftTeamsGetChannelByNameResponse } from "./models/MicrosoftTeamsGetChannelByNameResponse"; @@ -2830,6 +2924,7 @@ export { PartialAPIKeyAttributes } from "./models/PartialAPIKeyAttributes"; export { PartialApplicationKey } from "./models/PartialApplicationKey"; export { PartialApplicationKeyAttributes } from "./models/PartialApplicationKeyAttributes"; export { PartialApplicationKeyResponse } from "./models/PartialApplicationKeyResponse"; +export { PatchIncidentNotificationTemplateRequest } from "./models/PatchIncidentNotificationTemplateRequest"; export { PatchNotificationRuleParameters } from "./models/PatchNotificationRuleParameters"; export { PatchNotificationRuleParametersData } from "./models/PatchNotificationRuleParametersData"; export { PatchNotificationRuleParametersDataAttributes } from "./models/PatchNotificationRuleParametersDataAttributes"; @@ -2873,6 +2968,9 @@ export { ProjectResourceType } from "./models/ProjectResourceType"; export { ProjectResponse } from "./models/ProjectResponse"; export { ProjectsResponse } from "./models/ProjectsResponse"; export { PublishAppResponse } from "./models/PublishAppResponse"; +export { PutAppsDatastoreItemResponseArray } from "./models/PutAppsDatastoreItemResponseArray"; +export { PutAppsDatastoreItemResponseData } from "./models/PutAppsDatastoreItemResponseData"; +export { PutIncidentNotificationRuleRequest } from "./models/PutIncidentNotificationRuleRequest"; export { Query } from "./models/Query"; export { QueryFormula } from "./models/QueryFormula"; export { QuerySortOrder } from "./models/QuerySortOrder"; @@ -2898,10 +2996,14 @@ export { RelationshipToIncidentImpactData } from "./models/RelationshipToInciden export { RelationshipToIncidentImpacts } from "./models/RelationshipToIncidentImpacts"; export { RelationshipToIncidentIntegrationMetadataData } from "./models/RelationshipToIncidentIntegrationMetadataData"; export { RelationshipToIncidentIntegrationMetadatas } from "./models/RelationshipToIncidentIntegrationMetadatas"; +export { RelationshipToIncidentNotificationTemplate } from "./models/RelationshipToIncidentNotificationTemplate"; +export { RelationshipToIncidentNotificationTemplateData } from "./models/RelationshipToIncidentNotificationTemplateData"; export { RelationshipToIncidentPostmortem } from "./models/RelationshipToIncidentPostmortem"; export { RelationshipToIncidentPostmortemData } from "./models/RelationshipToIncidentPostmortemData"; export { RelationshipToIncidentResponderData } from "./models/RelationshipToIncidentResponderData"; export { RelationshipToIncidentResponders } from "./models/RelationshipToIncidentResponders"; +export { RelationshipToIncidentType } from "./models/RelationshipToIncidentType"; +export { RelationshipToIncidentTypeData } from "./models/RelationshipToIncidentTypeData"; export { RelationshipToIncidentUserDefinedFieldData } from "./models/RelationshipToIncidentUserDefinedFieldData"; export { RelationshipToIncidentUserDefinedFields } from "./models/RelationshipToIncidentUserDefinedFields"; export { RelationshipToOrganization } from "./models/RelationshipToOrganization"; @@ -3628,6 +3730,14 @@ export { UpdateAppRequestDataAttributes } from "./models/UpdateAppRequestDataAtt export { UpdateAppResponse } from "./models/UpdateAppResponse"; export { UpdateAppResponseData } from "./models/UpdateAppResponseData"; export { UpdateAppResponseDataAttributes } from "./models/UpdateAppResponseDataAttributes"; +export { UpdateAppsDatastoreItemRequest } from "./models/UpdateAppsDatastoreItemRequest"; +export { UpdateAppsDatastoreItemRequestData } from "./models/UpdateAppsDatastoreItemRequestData"; +export { UpdateAppsDatastoreItemRequestDataAttributes } from "./models/UpdateAppsDatastoreItemRequestDataAttributes"; +export { UpdateAppsDatastoreItemRequestDataAttributesItemChanges } from "./models/UpdateAppsDatastoreItemRequestDataAttributesItemChanges"; +export { UpdateAppsDatastoreItemRequestDataType } from "./models/UpdateAppsDatastoreItemRequestDataType"; +export { UpdateAppsDatastoreRequest } from "./models/UpdateAppsDatastoreRequest"; +export { UpdateAppsDatastoreRequestData } from "./models/UpdateAppsDatastoreRequestData"; +export { UpdateAppsDatastoreRequestDataAttributes } from "./models/UpdateAppsDatastoreRequestDataAttributes"; export { UpdateCustomFrameworkRequest } from "./models/UpdateCustomFrameworkRequest"; export { UpdateCustomFrameworkResponse } from "./models/UpdateCustomFrameworkResponse"; export { UpdateOpenAPIResponse } from "./models/UpdateOpenAPIResponse"; @@ -3765,5 +3875,7 @@ export { WorklflowGetInstanceResponseDataAttributes } from "./models/WorklflowGe export { XRayServicesIncludeAll } from "./models/XRayServicesIncludeAll"; export { XRayServicesIncludeOnly } from "./models/XRayServicesIncludeOnly"; export { XRayServicesList } from "./models/XRayServicesList"; +export { ZoomConfigurationReference } from "./models/ZoomConfigurationReference"; +export { ZoomConfigurationReferenceData } from "./models/ZoomConfigurationReferenceData"; export { ObjectSerializer } from "./models/ObjectSerializer"; diff --git a/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequest.ts b/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequest.ts new file mode 100644 index 000000000000..b2c12bd5b049 --- /dev/null +++ b/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { BulkPutAppsDatastoreItemsRequestData } from "./BulkPutAppsDatastoreItemsRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request to insert multiple items into a datastore in a single operation. + */ +export class BulkPutAppsDatastoreItemsRequest { + /** + * Data wrapper containing the items to insert and their configuration for the bulk insert operation. + */ + "data"?: BulkPutAppsDatastoreItemsRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "BulkPutAppsDatastoreItemsRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return BulkPutAppsDatastoreItemsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequestData.ts b/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequestData.ts new file mode 100644 index 000000000000..c42763de79a7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequestData.ts @@ -0,0 +1,63 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { BulkPutAppsDatastoreItemsRequestDataAttributes } from "./BulkPutAppsDatastoreItemsRequestDataAttributes"; +import { DatastoreItemsDataType } from "./DatastoreItemsDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data wrapper containing the items to insert and their configuration for the bulk insert operation. + */ +export class BulkPutAppsDatastoreItemsRequestData { + /** + * Configuration for bulk inserting multiple items into a datastore. + */ + "attributes"?: BulkPutAppsDatastoreItemsRequestDataAttributes; + /** + * The resource type for datastore items. + */ + "type": DatastoreItemsDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "BulkPutAppsDatastoreItemsRequestDataAttributes", + }, + type: { + baseName: "type", + type: "DatastoreItemsDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return BulkPutAppsDatastoreItemsRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequestDataAttributes.ts new file mode 100644 index 000000000000..1a4f0e466842 --- /dev/null +++ b/packages/datadog-api-client-v2/models/BulkPutAppsDatastoreItemsRequestDataAttributes.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreItemConflictMode } from "./DatastoreItemConflictMode"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Configuration for bulk inserting multiple items into a datastore. + */ +export class BulkPutAppsDatastoreItemsRequestDataAttributes { + /** + * How to handle conflicts when inserting items that already exist in the datastore. + */ + "conflictMode"?: DatastoreItemConflictMode; + /** + * An array of items to add to the datastore, where each item is a set of key-value pairs representing the item's data. Up to 100 items can be updated in a single request. + */ + "values": Array<{ [key: string]: any }>; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + conflictMode: { + baseName: "conflict_mode", + type: "DatastoreItemConflictMode", + }, + values: { + baseName: "values", + type: "Array<{ [key: string]: any; }>", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return BulkPutAppsDatastoreItemsRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequest.ts b/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequest.ts index 0158d75468ad..c4f1cf4b65b1 100644 --- a/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequest.ts +++ b/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequest.ts @@ -3,7 +3,7 @@ * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2020-Present Datadog, Inc. */ -import { CIAppCreatePipelineEventRequestData } from "./CIAppCreatePipelineEventRequestData"; +import { CIAppCreatePipelineEventRequestDataSingleOrArray } from "./CIAppCreatePipelineEventRequestDataSingleOrArray"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; @@ -12,9 +12,9 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; */ export class CIAppCreatePipelineEventRequest { /** - * Data of the pipeline event to create. + * Data of the pipeline events to create. */ - "data"?: CIAppCreatePipelineEventRequestData; + "data"?: CIAppCreatePipelineEventRequestDataSingleOrArray; /** * A container for additional, undeclared properties. @@ -34,7 +34,7 @@ export class CIAppCreatePipelineEventRequest { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "CIAppCreatePipelineEventRequestData", + type: "CIAppCreatePipelineEventRequestDataSingleOrArray", }, additionalProperties: { baseName: "additionalProperties", diff --git a/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequestDataSingleOrArray.ts b/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequestDataSingleOrArray.ts new file mode 100644 index 000000000000..62eb6e5a71e1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequestDataSingleOrArray.ts @@ -0,0 +1,17 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CIAppCreatePipelineEventRequestData } from "./CIAppCreatePipelineEventRequestData"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Data of the pipeline events to create. + */ + +export type CIAppCreatePipelineEventRequestDataSingleOrArray = + | CIAppCreatePipelineEventRequestData + | Array + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequest.ts b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequest.ts new file mode 100644 index 000000000000..4da739e1f299 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateAppsDatastoreRequestData } from "./CreateAppsDatastoreRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request to create a new datastore with specified configuration and metadata. + */ +export class CreateAppsDatastoreRequest { + /** + * Data wrapper containing the configuration needed to create a new datastore. + */ + "data"?: CreateAppsDatastoreRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "CreateAppsDatastoreRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateAppsDatastoreRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestData.ts b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestData.ts new file mode 100644 index 000000000000..9c0e2c3ef85d --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateAppsDatastoreRequestDataAttributes } from "./CreateAppsDatastoreRequestDataAttributes"; +import { DatastoreDataType } from "./DatastoreDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data wrapper containing the configuration needed to create a new datastore. + */ +export class CreateAppsDatastoreRequestData { + /** + * Configuration and metadata to create a new datastore. + */ + "attributes"?: CreateAppsDatastoreRequestDataAttributes; + /** + * Optional ID for the new datastore. If not provided, one will be generated automatically. + */ + "id"?: string; + /** + * The resource type for datastores. + */ + "type": DatastoreDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "CreateAppsDatastoreRequestDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "DatastoreDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateAppsDatastoreRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestDataAttributes.ts new file mode 100644 index 000000000000..3de8e24b91b6 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestDataAttributes.ts @@ -0,0 +1,90 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateAppsDatastoreRequestDataAttributesOrgAccess } from "./CreateAppsDatastoreRequestDataAttributesOrgAccess"; +import { DatastorePrimaryKeyGenerationStrategy } from "./DatastorePrimaryKeyGenerationStrategy"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Configuration and metadata to create a new datastore. + */ +export class CreateAppsDatastoreRequestDataAttributes { + /** + * A human-readable description about the datastore. + */ + "description"?: string; + /** + * The display name for the new datastore. + */ + "name": string; + /** + * The organization access level for the datastore. For example, 'contributor'. + */ + "orgAccess"?: CreateAppsDatastoreRequestDataAttributesOrgAccess; + /** + * The name of the primary key column for this datastore. Primary column names: + * - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm) + * - Cannot exceed 63 characters + */ + "primaryColumnName": string; + /** + * Can be set to `uuid` to automatically generate primary keys when new items are added. Default value is `none`, which requires you to supply a primary key for each new item. + */ + "primaryKeyGenerationStrategy"?: DatastorePrimaryKeyGenerationStrategy; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + description: { + baseName: "description", + type: "string", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + orgAccess: { + baseName: "org_access", + type: "CreateAppsDatastoreRequestDataAttributesOrgAccess", + }, + primaryColumnName: { + baseName: "primary_column_name", + type: "string", + required: true, + }, + primaryKeyGenerationStrategy: { + baseName: "primary_key_generation_strategy", + type: "DatastorePrimaryKeyGenerationStrategy", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateAppsDatastoreRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestDataAttributesOrgAccess.ts b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestDataAttributesOrgAccess.ts new file mode 100644 index 000000000000..7917c172223a --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateAppsDatastoreRequestDataAttributesOrgAccess.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The organization access level for the datastore. For example, 'contributor'. + */ + +export type CreateAppsDatastoreRequestDataAttributesOrgAccess = + | typeof CONTRIBUTOR + | typeof VIEWER + | typeof MANAGER + | UnparsedObject; +export const CONTRIBUTOR = "contributor"; +export const VIEWER = "viewer"; +export const MANAGER = "manager"; diff --git a/packages/datadog-api-client-v2/models/CreateAppsDatastoreResponse.ts b/packages/datadog-api-client-v2/models/CreateAppsDatastoreResponse.ts new file mode 100644 index 000000000000..95eaffe6495d --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateAppsDatastoreResponse.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { CreateAppsDatastoreResponseData } from "./CreateAppsDatastoreResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response after successfully creating a new datastore, containing the datastore's assigned ID. + */ +export class CreateAppsDatastoreResponse { + /** + * The newly created datastore's data. + */ + "data"?: CreateAppsDatastoreResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "CreateAppsDatastoreResponseData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateAppsDatastoreResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateAppsDatastoreResponseData.ts b/packages/datadog-api-client-v2/models/CreateAppsDatastoreResponseData.ts new file mode 100644 index 000000000000..369fffc4a213 --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateAppsDatastoreResponseData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreDataType } from "./DatastoreDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The newly created datastore's data. + */ +export class CreateAppsDatastoreResponseData { + /** + * The unique identifier assigned to the newly created datastore. + */ + "id"?: string; + /** + * The resource type for datastores. + */ + "type": DatastoreDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "DatastoreDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateAppsDatastoreResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateIncidentNotificationRuleRequest.ts b/packages/datadog-api-client-v2/models/CreateIncidentNotificationRuleRequest.ts new file mode 100644 index 000000000000..6c6e87eebeca --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateIncidentNotificationRuleRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleCreateData } from "./IncidentNotificationRuleCreateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Create request for a notification rule. + */ +export class CreateIncidentNotificationRuleRequest { + /** + * Notification rule data for a create request. + */ + "data": IncidentNotificationRuleCreateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IncidentNotificationRuleCreateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateIncidentNotificationRuleRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/CreateIncidentNotificationTemplateRequest.ts b/packages/datadog-api-client-v2/models/CreateIncidentNotificationTemplateRequest.ts new file mode 100644 index 000000000000..4627e605a77f --- /dev/null +++ b/packages/datadog-api-client-v2/models/CreateIncidentNotificationTemplateRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateCreateData } from "./IncidentNotificationTemplateCreateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Create request for a notification template. + */ +export class CreateIncidentNotificationTemplateRequest { + /** + * Notification template data for a create request. + */ + "data": IncidentNotificationTemplateCreateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IncidentNotificationTemplateCreateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return CreateIncidentNotificationTemplateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DORAFailureRequestAttributes.ts b/packages/datadog-api-client-v2/models/DORAFailureRequestAttributes.ts index 5ec185a67ff2..3554d08271f2 100644 --- a/packages/datadog-api-client-v2/models/DORAFailureRequestAttributes.ts +++ b/packages/datadog-api-client-v2/models/DORAFailureRequestAttributes.ts @@ -20,7 +20,7 @@ export class DORAFailureRequestAttributes { */ "env"?: string; /** - * Unix timestamp when the failure finished. It must be in nanoseconds, milliseconds, or seconds, and it should not be older than 1 hour. + * Unix timestamp when the failure finished. It must be in nanoseconds, milliseconds, or seconds. */ "finishedAt"?: number; /** diff --git a/packages/datadog-api-client-v2/models/Datastore.ts b/packages/datadog-api-client-v2/models/Datastore.ts new file mode 100644 index 000000000000..b694a4a13153 --- /dev/null +++ b/packages/datadog-api-client-v2/models/Datastore.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreData } from "./DatastoreData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A datastore's complete configuration and metadata. + */ +export class Datastore { + /** + * Core information about a datastore, including its unique identifier and attributes. + */ + "data"?: DatastoreData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DatastoreData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return Datastore.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatastoreArray.ts b/packages/datadog-api-client-v2/models/DatastoreArray.ts new file mode 100644 index 000000000000..f255a955041a --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatastoreArray.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreData } from "./DatastoreData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A collection of datastores returned by list operations. + */ +export class DatastoreArray { + /** + * An array of datastore objects containing their configurations and metadata. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatastoreArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatastoreData.ts b/packages/datadog-api-client-v2/models/DatastoreData.ts new file mode 100644 index 000000000000..8885c02b994e --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatastoreData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreDataAttributes } from "./DatastoreDataAttributes"; +import { DatastoreDataType } from "./DatastoreDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Core information about a datastore, including its unique identifier and attributes. + */ +export class DatastoreData { + /** + * Detailed information about a datastore. + */ + "attributes"?: DatastoreDataAttributes; + /** + * The unique identifier of the datastore. + */ + "id"?: string; + /** + * The resource type for datastores. + */ + "type": DatastoreDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DatastoreDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "DatastoreDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatastoreData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatastoreDataAttributes.ts b/packages/datadog-api-client-v2/models/DatastoreDataAttributes.ts new file mode 100644 index 000000000000..40c3d096e4c6 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatastoreDataAttributes.ts @@ -0,0 +1,123 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastorePrimaryKeyGenerationStrategy } from "./DatastorePrimaryKeyGenerationStrategy"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Detailed information about a datastore. + */ +export class DatastoreDataAttributes { + /** + * Timestamp when the datastore was created. + */ + "createdAt"?: Date; + /** + * The numeric ID of the user who created the datastore. + */ + "creatorUserId"?: number; + /** + * The UUID of the user who created the datastore. + */ + "creatorUserUuid"?: string; + /** + * A human-readable description about the datastore. + */ + "description"?: string; + /** + * Timestamp when the datastore was last modified. + */ + "modifiedAt"?: Date; + /** + * The display name of the datastore. + */ + "name"?: string; + /** + * The ID of the organization that owns this datastore. + */ + "orgId"?: number; + /** + * The name of the primary key column for this datastore. Primary column names: + * - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm) + * - Cannot exceed 63 characters + */ + "primaryColumnName"?: string; + /** + * Can be set to `uuid` to automatically generate primary keys when new items are added. Default value is `none`, which requires you to supply a primary key for each new item. + */ + "primaryKeyGenerationStrategy"?: DatastorePrimaryKeyGenerationStrategy; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + createdAt: { + baseName: "created_at", + type: "Date", + format: "date-time", + }, + creatorUserId: { + baseName: "creator_user_id", + type: "number", + format: "int64", + }, + creatorUserUuid: { + baseName: "creator_user_uuid", + type: "string", + }, + description: { + baseName: "description", + type: "string", + }, + modifiedAt: { + baseName: "modified_at", + type: "Date", + format: "date-time", + }, + name: { + baseName: "name", + type: "string", + }, + orgId: { + baseName: "org_id", + type: "number", + format: "int64", + }, + primaryColumnName: { + baseName: "primary_column_name", + type: "string", + }, + primaryKeyGenerationStrategy: { + baseName: "primary_key_generation_strategy", + type: "DatastorePrimaryKeyGenerationStrategy", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatastoreDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatastoreDataType.ts b/packages/datadog-api-client-v2/models/DatastoreDataType.ts new file mode 100644 index 000000000000..620fa7e08075 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatastoreDataType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The resource type for datastores. + */ + +export type DatastoreDataType = typeof DATASTORES | UnparsedObject; +export const DATASTORES = "datastores"; diff --git a/packages/datadog-api-client-v2/models/DatastoreItemConflictMode.ts b/packages/datadog-api-client-v2/models/DatastoreItemConflictMode.ts new file mode 100644 index 000000000000..a49b26623729 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatastoreItemConflictMode.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * How to handle conflicts when inserting items that already exist in the datastore. + */ + +export type DatastoreItemConflictMode = + | typeof FAIL_ON_CONFLICT + | typeof OVERWRITE_ON_CONFLICT + | UnparsedObject; +export const FAIL_ON_CONFLICT = "fail_on_conflict"; +export const OVERWRITE_ON_CONFLICT = "overwrite_on_conflict"; diff --git a/packages/datadog-api-client-v2/models/DatastoreItemsDataType.ts b/packages/datadog-api-client-v2/models/DatastoreItemsDataType.ts new file mode 100644 index 000000000000..89d827dbab76 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatastoreItemsDataType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The resource type for datastore items. + */ + +export type DatastoreItemsDataType = typeof ITEMS | UnparsedObject; +export const ITEMS = "items"; diff --git a/packages/datadog-api-client-v2/models/DatastorePrimaryKeyGenerationStrategy.ts b/packages/datadog-api-client-v2/models/DatastorePrimaryKeyGenerationStrategy.ts new file mode 100644 index 000000000000..d0ece71d8d71 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatastorePrimaryKeyGenerationStrategy.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Can be set to `uuid` to automatically generate primary keys when new items are added. Default value is `none`, which requires you to supply a primary key for each new item. + */ + +export type DatastorePrimaryKeyGenerationStrategy = + | typeof NONE + | typeof UUID + | UnparsedObject; +export const NONE = "none"; +export const UUID = "uuid"; diff --git a/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequest.ts b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequest.ts new file mode 100644 index 000000000000..a4c8dc751ea7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DeleteAppsDatastoreItemRequestData } from "./DeleteAppsDatastoreItemRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request to delete a specific item from a datastore by its primary key. + */ +export class DeleteAppsDatastoreItemRequest { + /** + * Data wrapper containing the information needed to identify and delete a specific datastore item. + */ + "data"?: DeleteAppsDatastoreItemRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DeleteAppsDatastoreItemRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DeleteAppsDatastoreItemRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequestData.ts b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequestData.ts new file mode 100644 index 000000000000..d4ce691eacd3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequestData.ts @@ -0,0 +1,63 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreItemsDataType } from "./DatastoreItemsDataType"; +import { DeleteAppsDatastoreItemRequestDataAttributes } from "./DeleteAppsDatastoreItemRequestDataAttributes"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data wrapper containing the information needed to identify and delete a specific datastore item. + */ +export class DeleteAppsDatastoreItemRequestData { + /** + * Attributes specifying which datastore item to delete by its primary key. + */ + "attributes"?: DeleteAppsDatastoreItemRequestDataAttributes; + /** + * The resource type for datastore items. + */ + "type": DatastoreItemsDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DeleteAppsDatastoreItemRequestDataAttributes", + }, + type: { + baseName: "type", + type: "DatastoreItemsDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DeleteAppsDatastoreItemRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequestDataAttributes.ts new file mode 100644 index 000000000000..f7d9bb199c0d --- /dev/null +++ b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemRequestDataAttributes.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Attributes specifying which datastore item to delete by its primary key. + */ +export class DeleteAppsDatastoreItemRequestDataAttributes { + /** + * Optional unique identifier of the item to delete. + */ + "id"?: string; + /** + * The primary key value that identifies the item to delete. Cannot exceed 256 characters. + */ + "itemKey": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + }, + itemKey: { + baseName: "item_key", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DeleteAppsDatastoreItemRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemResponse.ts b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemResponse.ts new file mode 100644 index 000000000000..e0348ee0228e --- /dev/null +++ b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemResponse.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DeleteAppsDatastoreItemResponseData } from "./DeleteAppsDatastoreItemResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response from successfully deleting a datastore item. + */ +export class DeleteAppsDatastoreItemResponse { + /** + * Data containing the identifier of the datastore item that was successfully deleted. + */ + "data"?: DeleteAppsDatastoreItemResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DeleteAppsDatastoreItemResponseData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DeleteAppsDatastoreItemResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemResponseData.ts b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemResponseData.ts new file mode 100644 index 000000000000..8e106610da1b --- /dev/null +++ b/packages/datadog-api-client-v2/models/DeleteAppsDatastoreItemResponseData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreItemsDataType } from "./DatastoreItemsDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data containing the identifier of the datastore item that was successfully deleted. + */ +export class DeleteAppsDatastoreItemResponseData { + /** + * The unique identifier of the item that was deleted. + */ + "id"?: string; + /** + * The resource type for datastore items. + */ + "type": DatastoreItemsDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "DatastoreItemsDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DeleteAppsDatastoreItemResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/GCPMonitoredResourceConfig.ts b/packages/datadog-api-client-v2/models/GCPMonitoredResourceConfig.ts new file mode 100644 index 000000000000..47fbc50145e1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/GCPMonitoredResourceConfig.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { GCPMonitoredResourceConfigType } from "./GCPMonitoredResourceConfigType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Configuration for a GCP monitored resource. + */ +export class GCPMonitoredResourceConfig { + /** + * List of filters to limit the monitored resources that are pulled into Datadog by using tags. + * Only monitored resources that apply to specified filters are imported into Datadog. + */ + "filters"?: Array; + /** + * The GCP monitored resource type. Only a subset of resource types are supported. + */ + "type"?: GCPMonitoredResourceConfigType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + filters: { + baseName: "filters", + type: "Array", + }, + type: { + baseName: "type", + type: "GCPMonitoredResourceConfigType", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return GCPMonitoredResourceConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/GCPMonitoredResourceConfigType.ts b/packages/datadog-api-client-v2/models/GCPMonitoredResourceConfigType.ts new file mode 100644 index 000000000000..30de0e2db022 --- /dev/null +++ b/packages/datadog-api-client-v2/models/GCPMonitoredResourceConfigType.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The GCP monitored resource type. Only a subset of resource types are supported. + */ + +export type GCPMonitoredResourceConfigType = + | typeof CLOUD_FUNCTION + | typeof CLOUD_RUN_REVISION + | typeof GCE_INSTANCE + | UnparsedObject; +export const CLOUD_FUNCTION = "cloud_function"; +export const CLOUD_RUN_REVISION = "cloud_run_revision"; +export const GCE_INSTANCE = "gce_instance"; diff --git a/packages/datadog-api-client-v2/models/GCPSTSServiceAccountAttributes.ts b/packages/datadog-api-client-v2/models/GCPSTSServiceAccountAttributes.ts index 8f501bdc2e18..94119f012871 100644 --- a/packages/datadog-api-client-v2/models/GCPSTSServiceAccountAttributes.ts +++ b/packages/datadog-api-client-v2/models/GCPSTSServiceAccountAttributes.ts @@ -4,6 +4,7 @@ * Copyright 2020-Present Datadog, Inc. */ import { GCPMetricNamespaceConfig } from "./GCPMetricNamespaceConfig"; +import { GCPMonitoredResourceConfig } from "./GCPMonitoredResourceConfig"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; @@ -26,10 +27,13 @@ export class GCPSTSServiceAccountAttributes { /** * List of filters to limit the Cloud Run revisions that are pulled into Datadog by using tags. * Only Cloud Run revision resources that apply to specified filters are imported into Datadog. + * **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=cloud_run_revision` */ "cloudRunRevisionFilters"?: Array; /** - * Your Host Filters. + * List of filters to limit the VM instances that are pulled into Datadog by using tags. + * Only VM instance resources that apply to specified filters are imported into Datadog. + * **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=gce_instance` */ "hostFilters"?: Array; /** @@ -52,6 +56,10 @@ export class GCPSTSServiceAccountAttributes { * Configurations for GCP metric namespaces. */ "metricNamespaceConfigs"?: Array; + /** + * Configurations for GCP monitored resources. + */ + "monitoredResourceConfigs"?: Array; /** * When enabled, Datadog scans for all resources in your GCP environment. */ @@ -113,6 +121,10 @@ export class GCPSTSServiceAccountAttributes { baseName: "metric_namespace_configs", type: "Array", }, + monitoredResourceConfigs: { + baseName: "monitored_resource_configs", + type: "Array", + }, resourceCollectionEnabled: { baseName: "resource_collection_enabled", type: "boolean", diff --git a/packages/datadog-api-client-v2/models/GoogleMeetConfigurationReference.ts b/packages/datadog-api-client-v2/models/GoogleMeetConfigurationReference.ts new file mode 100644 index 000000000000..21d4664c4b9b --- /dev/null +++ b/packages/datadog-api-client-v2/models/GoogleMeetConfigurationReference.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { GoogleMeetConfigurationReferenceData } from "./GoogleMeetConfigurationReferenceData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A reference to a Google Meet Configuration resource. + */ +export class GoogleMeetConfigurationReference { + /** + * The Google Meet configuration relationship data object. + */ + "data": GoogleMeetConfigurationReferenceData | null; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "GoogleMeetConfigurationReferenceData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return GoogleMeetConfigurationReference.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/GoogleMeetConfigurationReferenceData.ts b/packages/datadog-api-client-v2/models/GoogleMeetConfigurationReferenceData.ts new file mode 100644 index 000000000000..d3d6d668efa5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/GoogleMeetConfigurationReferenceData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Google Meet configuration relationship data object. + */ +export class GoogleMeetConfigurationReferenceData { + /** + * The unique identifier of the Google Meet configuration. + */ + "id": string; + /** + * The type of the Google Meet configuration. + */ + "type": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return GoogleMeetConfigurationReferenceData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRule.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRule.ts new file mode 100644 index 000000000000..6a3ebe155d65 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRule.ts @@ -0,0 +1,63 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleIncludedItems } from "./IncidentNotificationRuleIncludedItems"; +import { IncidentNotificationRuleResponseData } from "./IncidentNotificationRuleResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response with a notification rule. + */ +export class IncidentNotificationRule { + /** + * Notification rule data from a response. + */ + "data": IncidentNotificationRuleResponseData; + /** + * Related objects that are included in the response. + */ + "included"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IncidentNotificationRuleResponseData", + required: true, + }, + included: { + baseName: "included", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRule.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleArray.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleArray.ts new file mode 100644 index 000000000000..b1f0ad5740b9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleArray.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleArrayMeta } from "./IncidentNotificationRuleArrayMeta"; +import { IncidentNotificationRuleIncludedItems } from "./IncidentNotificationRuleIncludedItems"; +import { IncidentNotificationRuleResponseData } from "./IncidentNotificationRuleResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response with notification rules. + */ +export class IncidentNotificationRuleArray { + /** + * The `NotificationRuleArray` `data`. + */ + "data": Array; + /** + * Related objects that are included in the response. + */ + "included"?: Array; + /** + * Response metadata. + */ + "meta"?: IncidentNotificationRuleArrayMeta; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + included: { + baseName: "included", + type: "Array", + }, + meta: { + baseName: "meta", + type: "IncidentNotificationRuleArrayMeta", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleArrayMeta.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleArrayMeta.ts new file mode 100644 index 000000000000..0c2d4fd9ea2e --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleArrayMeta.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleArrayMetaPage } from "./IncidentNotificationRuleArrayMetaPage"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response metadata. + */ +export class IncidentNotificationRuleArrayMeta { + /** + * Pagination metadata. + */ + "pagination"?: IncidentNotificationRuleArrayMetaPage; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + pagination: { + baseName: "pagination", + type: "IncidentNotificationRuleArrayMetaPage", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleArrayMeta.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleArrayMetaPage.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleArrayMetaPage.ts new file mode 100644 index 000000000000..4fe61e219b4f --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleArrayMetaPage.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Pagination metadata. + */ +export class IncidentNotificationRuleArrayMetaPage { + /** + * The offset for the next page of results. + */ + "nextOffset"?: number; + /** + * The current offset in the results. + */ + "offset"?: number; + /** + * The number of results returned per page. + */ + "size"?: number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + nextOffset: { + baseName: "next_offset", + type: "number", + format: "int64", + }, + offset: { + baseName: "offset", + type: "number", + format: "int64", + }, + size: { + baseName: "size", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleArrayMetaPage.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleAttributes.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleAttributes.ts new file mode 100644 index 000000000000..2a98d17abfa5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleAttributes.ts @@ -0,0 +1,119 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleAttributesVisibility } from "./IncidentNotificationRuleAttributesVisibility"; +import { IncidentNotificationRuleConditionsItems } from "./IncidentNotificationRuleConditionsItems"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The notification rule's attributes. + */ +export class IncidentNotificationRuleAttributes { + /** + * The conditions that trigger this notification rule. + */ + "conditions": Array; + /** + * Timestamp when the notification rule was created. + */ + "created": Date; + /** + * Whether the notification rule is enabled. + */ + "enabled": boolean; + /** + * The notification handles (targets) for this rule. + */ + "handles": Array; + /** + * Timestamp when the notification rule was last modified. + */ + "modified": Date; + /** + * List of incident fields that trigger re-notification when changed. + */ + "renotifyOn"?: Array; + /** + * The trigger event for this notification rule. + */ + "trigger": string; + /** + * The visibility of the notification rule. + */ + "visibility": IncidentNotificationRuleAttributesVisibility; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + conditions: { + baseName: "conditions", + type: "Array", + required: true, + }, + created: { + baseName: "created", + type: "Date", + required: true, + format: "date-time", + }, + enabled: { + baseName: "enabled", + type: "boolean", + required: true, + }, + handles: { + baseName: "handles", + type: "Array", + required: true, + }, + modified: { + baseName: "modified", + type: "Date", + required: true, + format: "date-time", + }, + renotifyOn: { + baseName: "renotify_on", + type: "Array", + }, + trigger: { + baseName: "trigger", + type: "string", + required: true, + }, + visibility: { + baseName: "visibility", + type: "IncidentNotificationRuleAttributesVisibility", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleAttributesVisibility.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleAttributesVisibility.ts new file mode 100644 index 000000000000..f110edaf2672 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleAttributesVisibility.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The visibility of the notification rule. + */ + +export type IncidentNotificationRuleAttributesVisibility = + | typeof ALL + | typeof ORGANIZATION + | typeof PRIVATE + | UnparsedObject; +export const ALL = "all"; +export const ORGANIZATION = "organization"; +export const PRIVATE = "private"; diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleConditionsItems.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleConditionsItems.ts new file mode 100644 index 000000000000..bde6d2ae2e50 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleConditionsItems.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A condition that must be met to trigger the notification rule. + */ +export class IncidentNotificationRuleConditionsItems { + /** + * The incident field to evaluate + */ + "field": string; + /** + * The value(s) to compare against. Multiple values are `ORed` together. + */ + "values": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + field: { + baseName: "field", + type: "string", + required: true, + }, + values: { + baseName: "values", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleConditionsItems.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateAttributes.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateAttributes.ts new file mode 100644 index 000000000000..8f95f46e665f --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateAttributes.ts @@ -0,0 +1,97 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleConditionsItems } from "./IncidentNotificationRuleConditionsItems"; +import { IncidentNotificationRuleCreateAttributesVisibility } from "./IncidentNotificationRuleCreateAttributesVisibility"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The attributes for creating a notification rule. + */ +export class IncidentNotificationRuleCreateAttributes { + /** + * The conditions that trigger this notification rule. + */ + "conditions": Array; + /** + * Whether the notification rule is enabled. + */ + "enabled"?: boolean; + /** + * The notification handles (targets) for this rule. + */ + "handles": Array; + /** + * List of incident fields that trigger re-notification when changed. + */ + "renotifyOn"?: Array; + /** + * The trigger event for this notification rule. + */ + "trigger": string; + /** + * The visibility of the notification rule. + */ + "visibility"?: IncidentNotificationRuleCreateAttributesVisibility; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + conditions: { + baseName: "conditions", + type: "Array", + required: true, + }, + enabled: { + baseName: "enabled", + type: "boolean", + }, + handles: { + baseName: "handles", + type: "Array", + required: true, + }, + renotifyOn: { + baseName: "renotify_on", + type: "Array", + }, + trigger: { + baseName: "trigger", + type: "string", + required: true, + }, + visibility: { + baseName: "visibility", + type: "IncidentNotificationRuleCreateAttributesVisibility", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleCreateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateAttributesVisibility.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateAttributesVisibility.ts new file mode 100644 index 000000000000..133bf6ec7f92 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateAttributesVisibility.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The visibility of the notification rule. + */ + +export type IncidentNotificationRuleCreateAttributesVisibility = + | typeof ALL + | typeof ORGANIZATION + | typeof PRIVATE + | UnparsedObject; +export const ALL = "all"; +export const ORGANIZATION = "organization"; +export const PRIVATE = "private"; diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateData.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateData.ts new file mode 100644 index 000000000000..5f609c533e53 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateData.ts @@ -0,0 +1,73 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleCreateAttributes } from "./IncidentNotificationRuleCreateAttributes"; +import { IncidentNotificationRuleCreateDataRelationships } from "./IncidentNotificationRuleCreateDataRelationships"; +import { IncidentNotificationRuleType } from "./IncidentNotificationRuleType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Notification rule data for a create request. + */ +export class IncidentNotificationRuleCreateData { + /** + * The attributes for creating a notification rule. + */ + "attributes": IncidentNotificationRuleCreateAttributes; + /** + * The definition of `NotificationRuleCreateDataRelationships` object. + */ + "relationships"?: IncidentNotificationRuleCreateDataRelationships; + /** + * Notification rules resource type. + */ + "type": IncidentNotificationRuleType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IncidentNotificationRuleCreateAttributes", + required: true, + }, + relationships: { + baseName: "relationships", + type: "IncidentNotificationRuleCreateDataRelationships", + }, + type: { + baseName: "type", + type: "IncidentNotificationRuleType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleCreateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateDataRelationships.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateDataRelationships.ts new file mode 100644 index 000000000000..c43f9128d98d --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleCreateDataRelationships.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RelationshipToIncidentNotificationTemplate } from "./RelationshipToIncidentNotificationTemplate"; +import { RelationshipToIncidentType } from "./RelationshipToIncidentType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `NotificationRuleCreateDataRelationships` object. + */ +export class IncidentNotificationRuleCreateDataRelationships { + /** + * Relationship to an incident type. + */ + "incidentType"?: RelationshipToIncidentType; + /** + * A relationship reference to a notification template. + */ + "notificationTemplate"?: RelationshipToIncidentNotificationTemplate; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + incidentType: { + baseName: "incident_type", + type: "RelationshipToIncidentType", + }, + notificationTemplate: { + baseName: "notification_template", + type: "RelationshipToIncidentNotificationTemplate", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleCreateDataRelationships.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleIncludedItems.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleIncludedItems.ts new file mode 100644 index 000000000000..18abb1ad0f3e --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleIncludedItems.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateObject } from "./IncidentNotificationTemplateObject"; +import { IncidentTypeObject } from "./IncidentTypeObject"; +import { User } from "./User"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Objects related to a notification rule. + */ + +export type IncidentNotificationRuleIncludedItems = + | User + | IncidentTypeObject + | IncidentNotificationTemplateObject + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleRelationships.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleRelationships.ts new file mode 100644 index 000000000000..455ab00b921c --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleRelationships.ts @@ -0,0 +1,79 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RelationshipToIncidentNotificationTemplate } from "./RelationshipToIncidentNotificationTemplate"; +import { RelationshipToIncidentType } from "./RelationshipToIncidentType"; +import { RelationshipToUser } from "./RelationshipToUser"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The notification rule's resource relationships. + */ +export class IncidentNotificationRuleRelationships { + /** + * Relationship to user. + */ + "createdByUser"?: RelationshipToUser; + /** + * Relationship to an incident type. + */ + "incidentType"?: RelationshipToIncidentType; + /** + * Relationship to user. + */ + "lastModifiedByUser"?: RelationshipToUser; + /** + * A relationship reference to a notification template. + */ + "notificationTemplate"?: RelationshipToIncidentNotificationTemplate; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + createdByUser: { + baseName: "created_by_user", + type: "RelationshipToUser", + }, + incidentType: { + baseName: "incident_type", + type: "RelationshipToIncidentType", + }, + lastModifiedByUser: { + baseName: "last_modified_by_user", + type: "RelationshipToUser", + }, + notificationTemplate: { + baseName: "notification_template", + type: "RelationshipToIncidentNotificationTemplate", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleRelationships.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleResponseData.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleResponseData.ts new file mode 100644 index 000000000000..deb8b4ad819d --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleResponseData.ts @@ -0,0 +1,82 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleAttributes } from "./IncidentNotificationRuleAttributes"; +import { IncidentNotificationRuleRelationships } from "./IncidentNotificationRuleRelationships"; +import { IncidentNotificationRuleType } from "./IncidentNotificationRuleType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Notification rule data from a response. + */ +export class IncidentNotificationRuleResponseData { + /** + * The notification rule's attributes. + */ + "attributes"?: IncidentNotificationRuleAttributes; + /** + * The unique identifier of the notification rule. + */ + "id": string; + /** + * The notification rule's resource relationships. + */ + "relationships"?: IncidentNotificationRuleRelationships; + /** + * Notification rules resource type. + */ + "type": IncidentNotificationRuleType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IncidentNotificationRuleAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + relationships: { + baseName: "relationships", + type: "IncidentNotificationRuleRelationships", + }, + type: { + baseName: "type", + type: "IncidentNotificationRuleType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleType.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleType.ts new file mode 100644 index 000000000000..5847b276dd31 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Notification rules resource type. + */ + +export type IncidentNotificationRuleType = + | typeof INCIDENT_NOTIFICATION_RULES + | UnparsedObject; +export const INCIDENT_NOTIFICATION_RULES = "incident_notification_rules"; diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationRuleUpdateData.ts b/packages/datadog-api-client-v2/models/IncidentNotificationRuleUpdateData.ts new file mode 100644 index 000000000000..9199780b75ff --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationRuleUpdateData.ts @@ -0,0 +1,83 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleCreateAttributes } from "./IncidentNotificationRuleCreateAttributes"; +import { IncidentNotificationRuleCreateDataRelationships } from "./IncidentNotificationRuleCreateDataRelationships"; +import { IncidentNotificationRuleType } from "./IncidentNotificationRuleType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Notification rule data for an update request. + */ +export class IncidentNotificationRuleUpdateData { + /** + * The attributes for creating a notification rule. + */ + "attributes": IncidentNotificationRuleCreateAttributes; + /** + * The unique identifier of the notification rule. + */ + "id": string; + /** + * The definition of `NotificationRuleCreateDataRelationships` object. + */ + "relationships"?: IncidentNotificationRuleCreateDataRelationships; + /** + * Notification rules resource type. + */ + "type": IncidentNotificationRuleType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IncidentNotificationRuleCreateAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + relationships: { + baseName: "relationships", + type: "IncidentNotificationRuleCreateDataRelationships", + }, + type: { + baseName: "type", + type: "IncidentNotificationRuleType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationRuleUpdateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplate.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplate.ts new file mode 100644 index 000000000000..754f9de2724d --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplate.ts @@ -0,0 +1,63 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateIncludedItems } from "./IncidentNotificationTemplateIncludedItems"; +import { IncidentNotificationTemplateResponseData } from "./IncidentNotificationTemplateResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response with a notification template. + */ +export class IncidentNotificationTemplate { + /** + * Notification template data from a response. + */ + "data": IncidentNotificationTemplateResponseData; + /** + * Related objects that are included in the response. + */ + "included"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IncidentNotificationTemplateResponseData", + required: true, + }, + included: { + baseName: "included", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArray.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArray.ts new file mode 100644 index 000000000000..a64fb787291b --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArray.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateArrayMeta } from "./IncidentNotificationTemplateArrayMeta"; +import { IncidentNotificationTemplateIncludedItems } from "./IncidentNotificationTemplateIncludedItems"; +import { IncidentNotificationTemplateResponseData } from "./IncidentNotificationTemplateResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response with notification templates. + */ +export class IncidentNotificationTemplateArray { + /** + * The `NotificationTemplateArray` `data`. + */ + "data": Array; + /** + * Related objects that are included in the response. + */ + "included"?: Array; + /** + * Response metadata. + */ + "meta"?: IncidentNotificationTemplateArrayMeta; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + included: { + baseName: "included", + type: "Array", + }, + meta: { + baseName: "meta", + type: "IncidentNotificationTemplateArrayMeta", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArrayMeta.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArrayMeta.ts new file mode 100644 index 000000000000..625e2f30fe6c --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArrayMeta.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateArrayMetaPage } from "./IncidentNotificationTemplateArrayMetaPage"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response metadata. + */ +export class IncidentNotificationTemplateArrayMeta { + /** + * Pagination metadata. + */ + "page"?: IncidentNotificationTemplateArrayMetaPage; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + page: { + baseName: "page", + type: "IncidentNotificationTemplateArrayMetaPage", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateArrayMeta.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArrayMetaPage.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArrayMetaPage.ts new file mode 100644 index 000000000000..c16c0702c095 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateArrayMetaPage.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Pagination metadata. + */ +export class IncidentNotificationTemplateArrayMetaPage { + /** + * Total number of notification templates. + */ + "totalCount"?: number; + /** + * Total number of notification templates matching the filter. + */ + "totalFilteredCount"?: number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + totalCount: { + baseName: "total_count", + type: "number", + format: "int64", + }, + totalFilteredCount: { + baseName: "total_filtered_count", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateArrayMetaPage.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateAttributes.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateAttributes.ts new file mode 100644 index 000000000000..fd2ef007aa7d --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateAttributes.ts @@ -0,0 +1,100 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The notification template's attributes. + */ +export class IncidentNotificationTemplateAttributes { + /** + * The category of the notification template. + */ + "category": string; + /** + * The content body of the notification template. + */ + "content": string; + /** + * Timestamp when the notification template was created. + */ + "created": Date; + /** + * Timestamp when the notification template was last modified. + */ + "modified": Date; + /** + * The name of the notification template. + */ + "name": string; + /** + * The subject line of the notification template. + */ + "subject": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + category: { + baseName: "category", + type: "string", + required: true, + }, + content: { + baseName: "content", + type: "string", + required: true, + }, + created: { + baseName: "created", + type: "Date", + required: true, + format: "date-time", + }, + modified: { + baseName: "modified", + type: "Date", + required: true, + format: "date-time", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + subject: { + baseName: "subject", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateAttributes.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateAttributes.ts new file mode 100644 index 000000000000..df33906bd29b --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateAttributes.ts @@ -0,0 +1,80 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The attributes for creating a notification template. + */ +export class IncidentNotificationTemplateCreateAttributes { + /** + * The category of the notification template. + */ + "category": string; + /** + * The content body of the notification template. + */ + "content": string; + /** + * The name of the notification template. + */ + "name": string; + /** + * The subject line of the notification template. + */ + "subject": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + category: { + baseName: "category", + type: "string", + required: true, + }, + content: { + baseName: "content", + type: "string", + required: true, + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + subject: { + baseName: "subject", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateCreateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateData.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateData.ts new file mode 100644 index 000000000000..62ceb4bd8d42 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateData.ts @@ -0,0 +1,73 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateCreateAttributes } from "./IncidentNotificationTemplateCreateAttributes"; +import { IncidentNotificationTemplateCreateDataRelationships } from "./IncidentNotificationTemplateCreateDataRelationships"; +import { IncidentNotificationTemplateType } from "./IncidentNotificationTemplateType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Notification template data for a create request. + */ +export class IncidentNotificationTemplateCreateData { + /** + * The attributes for creating a notification template. + */ + "attributes": IncidentNotificationTemplateCreateAttributes; + /** + * The definition of `NotificationTemplateCreateDataRelationships` object. + */ + "relationships"?: IncidentNotificationTemplateCreateDataRelationships; + /** + * Notification templates resource type. + */ + "type": IncidentNotificationTemplateType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IncidentNotificationTemplateCreateAttributes", + required: true, + }, + relationships: { + baseName: "relationships", + type: "IncidentNotificationTemplateCreateDataRelationships", + }, + type: { + baseName: "type", + type: "IncidentNotificationTemplateType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateCreateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateDataRelationships.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateDataRelationships.ts new file mode 100644 index 000000000000..2ee836ddccc4 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateCreateDataRelationships.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RelationshipToIncidentType } from "./RelationshipToIncidentType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The definition of `NotificationTemplateCreateDataRelationships` object. + */ +export class IncidentNotificationTemplateCreateDataRelationships { + /** + * Relationship to an incident type. + */ + "incidentType"?: RelationshipToIncidentType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + incidentType: { + baseName: "incident_type", + type: "RelationshipToIncidentType", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateCreateDataRelationships.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateIncludedItems.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateIncludedItems.ts new file mode 100644 index 000000000000..cac66f16589e --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateIncludedItems.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentTypeObject } from "./IncidentTypeObject"; +import { User } from "./User"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Objects related to a notification template. + */ + +export type IncidentNotificationTemplateIncludedItems = + | User + | IncidentTypeObject + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateObject.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateObject.ts new file mode 100644 index 000000000000..bcb9954b5190 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateObject.ts @@ -0,0 +1,82 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateAttributes } from "./IncidentNotificationTemplateAttributes"; +import { IncidentNotificationTemplateRelationships } from "./IncidentNotificationTemplateRelationships"; +import { IncidentNotificationTemplateType } from "./IncidentNotificationTemplateType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A notification template object for inclusion in other resources. + */ +export class IncidentNotificationTemplateObject { + /** + * The notification template's attributes. + */ + "attributes"?: IncidentNotificationTemplateAttributes; + /** + * The unique identifier of the notification template. + */ + "id": string; + /** + * The notification template's resource relationships. + */ + "relationships"?: IncidentNotificationTemplateRelationships; + /** + * Notification templates resource type. + */ + "type": IncidentNotificationTemplateType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IncidentNotificationTemplateAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + relationships: { + baseName: "relationships", + type: "IncidentNotificationTemplateRelationships", + }, + type: { + baseName: "type", + type: "IncidentNotificationTemplateType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateObject.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateRelationships.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateRelationships.ts new file mode 100644 index 000000000000..9c271728c0ea --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateRelationships.ts @@ -0,0 +1,70 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RelationshipToIncidentType } from "./RelationshipToIncidentType"; +import { RelationshipToUser } from "./RelationshipToUser"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The notification template's resource relationships. + */ +export class IncidentNotificationTemplateRelationships { + /** + * Relationship to user. + */ + "createdByUser"?: RelationshipToUser; + /** + * Relationship to an incident type. + */ + "incidentType"?: RelationshipToIncidentType; + /** + * Relationship to user. + */ + "lastModifiedByUser"?: RelationshipToUser; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + createdByUser: { + baseName: "created_by_user", + type: "RelationshipToUser", + }, + incidentType: { + baseName: "incident_type", + type: "RelationshipToIncidentType", + }, + lastModifiedByUser: { + baseName: "last_modified_by_user", + type: "RelationshipToUser", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateRelationships.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateResponseData.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateResponseData.ts new file mode 100644 index 000000000000..0a3991dcde8a --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateResponseData.ts @@ -0,0 +1,82 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateAttributes } from "./IncidentNotificationTemplateAttributes"; +import { IncidentNotificationTemplateRelationships } from "./IncidentNotificationTemplateRelationships"; +import { IncidentNotificationTemplateType } from "./IncidentNotificationTemplateType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Notification template data from a response. + */ +export class IncidentNotificationTemplateResponseData { + /** + * The notification template's attributes. + */ + "attributes"?: IncidentNotificationTemplateAttributes; + /** + * The unique identifier of the notification template. + */ + "id": string; + /** + * The notification template's resource relationships. + */ + "relationships"?: IncidentNotificationTemplateRelationships; + /** + * Notification templates resource type. + */ + "type": IncidentNotificationTemplateType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IncidentNotificationTemplateAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + relationships: { + baseName: "relationships", + type: "IncidentNotificationTemplateRelationships", + }, + type: { + baseName: "type", + type: "IncidentNotificationTemplateType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateType.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateType.ts new file mode 100644 index 000000000000..757675c78811 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Notification templates resource type. + */ + +export type IncidentNotificationTemplateType = + | typeof NOTIFICATION_TEMPLATES + | UnparsedObject; +export const NOTIFICATION_TEMPLATES = "notification_templates"; diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateUpdateAttributes.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateUpdateAttributes.ts new file mode 100644 index 000000000000..f6fc09bd51ec --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateUpdateAttributes.ts @@ -0,0 +1,76 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The attributes to update on a notification template. + */ +export class IncidentNotificationTemplateUpdateAttributes { + /** + * The category of the notification template. + */ + "category"?: string; + /** + * The content body of the notification template. + */ + "content"?: string; + /** + * The name of the notification template. + */ + "name"?: string; + /** + * The subject line of the notification template. + */ + "subject"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + category: { + baseName: "category", + type: "string", + }, + content: { + baseName: "content", + type: "string", + }, + name: { + baseName: "name", + type: "string", + }, + subject: { + baseName: "subject", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateUpdateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentNotificationTemplateUpdateData.ts b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateUpdateData.ts new file mode 100644 index 000000000000..ef386acc2882 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentNotificationTemplateUpdateData.ts @@ -0,0 +1,73 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateType } from "./IncidentNotificationTemplateType"; +import { IncidentNotificationTemplateUpdateAttributes } from "./IncidentNotificationTemplateUpdateAttributes"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Notification template data for an update request. + */ +export class IncidentNotificationTemplateUpdateData { + /** + * The attributes to update on a notification template. + */ + "attributes"?: IncidentNotificationTemplateUpdateAttributes; + /** + * The unique identifier of the notification template. + */ + "id": string; + /** + * Notification templates resource type. + */ + "type": IncidentNotificationTemplateType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IncidentNotificationTemplateUpdateAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + type: { + baseName: "type", + type: "IncidentNotificationTemplateType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentNotificationTemplateUpdateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IncidentTypeObject.ts b/packages/datadog-api-client-v2/models/IncidentTypeObject.ts index 26742ce2516e..ad16256ca5e7 100644 --- a/packages/datadog-api-client-v2/models/IncidentTypeObject.ts +++ b/packages/datadog-api-client-v2/models/IncidentTypeObject.ts @@ -4,6 +4,7 @@ * Copyright 2020-Present Datadog, Inc. */ import { IncidentTypeAttributes } from "./IncidentTypeAttributes"; +import { IncidentTypeRelationships } from "./IncidentTypeRelationships"; import { IncidentTypeType } from "./IncidentTypeType"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; @@ -20,6 +21,10 @@ export class IncidentTypeObject { * The incident type's ID. */ "id": string; + /** + * The incident type's resource relationships. + */ + "relationships"?: IncidentTypeRelationships; /** * Incident type resource type. */ @@ -50,6 +55,10 @@ export class IncidentTypeObject { type: "string", required: true, }, + relationships: { + baseName: "relationships", + type: "IncidentTypeRelationships", + }, type: { baseName: "type", type: "IncidentTypeType", diff --git a/packages/datadog-api-client-v2/models/IncidentTypeRelationships.ts b/packages/datadog-api-client-v2/models/IncidentTypeRelationships.ts new file mode 100644 index 000000000000..201d7310c29a --- /dev/null +++ b/packages/datadog-api-client-v2/models/IncidentTypeRelationships.ts @@ -0,0 +1,88 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { GoogleMeetConfigurationReference } from "./GoogleMeetConfigurationReference"; +import { MicrosoftTeamsConfigurationReference } from "./MicrosoftTeamsConfigurationReference"; +import { RelationshipToUser } from "./RelationshipToUser"; +import { ZoomConfigurationReference } from "./ZoomConfigurationReference"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The incident type's resource relationships. + */ +export class IncidentTypeRelationships { + /** + * Relationship to user. + */ + "createdByUser"?: RelationshipToUser; + /** + * A reference to a Google Meet Configuration resource. + */ + "googleMeetConfiguration"?: GoogleMeetConfigurationReference; + /** + * Relationship to user. + */ + "lastModifiedByUser"?: RelationshipToUser; + /** + * A reference to a Microsoft Teams Configuration resource. + */ + "microsoftTeamsConfiguration"?: MicrosoftTeamsConfigurationReference; + /** + * A reference to a Zoom configuration resource. + */ + "zoomConfiguration"?: ZoomConfigurationReference; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + createdByUser: { + baseName: "created_by_user", + type: "RelationshipToUser", + }, + googleMeetConfiguration: { + baseName: "google_meet_configuration", + type: "GoogleMeetConfigurationReference", + }, + lastModifiedByUser: { + baseName: "last_modified_by_user", + type: "RelationshipToUser", + }, + microsoftTeamsConfiguration: { + baseName: "microsoft_teams_configuration", + type: "MicrosoftTeamsConfigurationReference", + }, + zoomConfiguration: { + baseName: "zoom_configuration", + type: "ZoomConfigurationReference", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IncidentTypeRelationships.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayload.ts b/packages/datadog-api-client-v2/models/ItemApiPayload.ts new file mode 100644 index 000000000000..94ea9bbc3396 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayload.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ItemApiPayloadData } from "./ItemApiPayloadData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A single datastore item with its content and metadata. + */ +export class ItemApiPayload { + /** + * Core data and metadata for a single datastore item. + */ + "data"?: ItemApiPayloadData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "ItemApiPayloadData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayload.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayloadArray.ts b/packages/datadog-api-client-v2/models/ItemApiPayloadArray.ts new file mode 100644 index 000000000000..c22d0735a93a --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayloadArray.ts @@ -0,0 +1,63 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ItemApiPayloadData } from "./ItemApiPayloadData"; +import { ItemApiPayloadMeta } from "./ItemApiPayloadMeta"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A collection of datastore items with pagination and schema metadata. + */ +export class ItemApiPayloadArray { + /** + * An array of datastore items with their content and metadata. + */ + "data": Array; + /** + * Additional metadata about a collection of datastore items, including pagination and schema information. + */ + "meta"?: ItemApiPayloadMeta; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + meta: { + baseName: "meta", + type: "ItemApiPayloadMeta", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayloadArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayloadData.ts b/packages/datadog-api-client-v2/models/ItemApiPayloadData.ts new file mode 100644 index 000000000000..66a2a62b2b8e --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayloadData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreItemsDataType } from "./DatastoreItemsDataType"; +import { ItemApiPayloadDataAttributes } from "./ItemApiPayloadDataAttributes"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Core data and metadata for a single datastore item. + */ +export class ItemApiPayloadData { + /** + * Metadata and content of a datastore item. + */ + "attributes"?: ItemApiPayloadDataAttributes; + /** + * The unique identifier of the datastore. + */ + "id"?: string; + /** + * The resource type for datastore items. + */ + "type": DatastoreItemsDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "ItemApiPayloadDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "DatastoreItemsDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayloadData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayloadDataAttributes.ts b/packages/datadog-api-client-v2/models/ItemApiPayloadDataAttributes.ts new file mode 100644 index 000000000000..b20745d44862 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayloadDataAttributes.ts @@ -0,0 +1,105 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Metadata and content of a datastore item. + */ +export class ItemApiPayloadDataAttributes { + /** + * Timestamp when the item was first created. + */ + "createdAt"?: Date; + /** + * Timestamp when the item was last modified. + */ + "modifiedAt"?: Date; + /** + * The ID of the organization that owns this item. + */ + "orgId"?: number; + /** + * The name of the primary key column for this datastore. Primary column names: + * - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm) + * - Cannot exceed 63 characters + */ + "primaryColumnName"?: string; + /** + * A unique signature identifying this item version. + */ + "signature"?: string; + /** + * The unique identifier of the datastore containing this item. + */ + "storeId"?: string; + /** + * The data content (as key-value pairs) of a datastore item. + */ + "value"?: { [key: string]: any }; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + createdAt: { + baseName: "created_at", + type: "Date", + format: "date-time", + }, + modifiedAt: { + baseName: "modified_at", + type: "Date", + format: "date-time", + }, + orgId: { + baseName: "org_id", + type: "number", + format: "int64", + }, + primaryColumnName: { + baseName: "primary_column_name", + type: "string", + }, + signature: { + baseName: "signature", + type: "string", + }, + storeId: { + baseName: "store_id", + type: "string", + }, + value: { + baseName: "value", + type: "{ [key: string]: any; }", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayloadDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayloadMeta.ts b/packages/datadog-api-client-v2/models/ItemApiPayloadMeta.ts new file mode 100644 index 000000000000..52fc00fa5a13 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayloadMeta.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ItemApiPayloadMetaPage } from "./ItemApiPayloadMetaPage"; +import { ItemApiPayloadMetaSchema } from "./ItemApiPayloadMetaSchema"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Additional metadata about a collection of datastore items, including pagination and schema information. + */ +export class ItemApiPayloadMeta { + /** + * Pagination information for a collection of datastore items. + */ + "page"?: ItemApiPayloadMetaPage; + /** + * Schema information about the datastore, including its primary key and field definitions. + */ + "schema"?: ItemApiPayloadMetaSchema; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + page: { + baseName: "page", + type: "ItemApiPayloadMetaPage", + }, + schema: { + baseName: "schema", + type: "ItemApiPayloadMetaSchema", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayloadMeta.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayloadMetaPage.ts b/packages/datadog-api-client-v2/models/ItemApiPayloadMetaPage.ts new file mode 100644 index 000000000000..f21fd351ae75 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayloadMetaPage.ts @@ -0,0 +1,70 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Pagination information for a collection of datastore items. + */ +export class ItemApiPayloadMetaPage { + /** + * Whether there are additional pages of items beyond the current page. + */ + "hasMore"?: boolean; + /** + * The total number of items in the datastore, ignoring any filters. + */ + "totalCount"?: number; + /** + * The total number of items that match the current filter criteria. + */ + "totalFilteredCount"?: number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + hasMore: { + baseName: "hasMore", + type: "boolean", + }, + totalCount: { + baseName: "totalCount", + type: "number", + format: "int64", + }, + totalFilteredCount: { + baseName: "totalFilteredCount", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayloadMetaPage.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayloadMetaSchema.ts b/packages/datadog-api-client-v2/models/ItemApiPayloadMetaSchema.ts new file mode 100644 index 000000000000..aef4fb2f275c --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayloadMetaSchema.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ItemApiPayloadMetaSchemaField } from "./ItemApiPayloadMetaSchemaField"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Schema information about the datastore, including its primary key and field definitions. + */ +export class ItemApiPayloadMetaSchema { + /** + * An array describing the columns available in this datastore. + */ + "fields"?: Array; + /** + * The name of the primary key column for this datastore. + */ + "primaryKey"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + fields: { + baseName: "fields", + type: "Array", + }, + primaryKey: { + baseName: "primary_key", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayloadMetaSchema.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ItemApiPayloadMetaSchemaField.ts b/packages/datadog-api-client-v2/models/ItemApiPayloadMetaSchemaField.ts new file mode 100644 index 000000000000..90890a178496 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ItemApiPayloadMetaSchemaField.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Information about a specific column in the datastore schema. + */ +export class ItemApiPayloadMetaSchemaField { + /** + * The name of this column in the datastore. + */ + "name": string; + /** + * The data type of this column. For example, 'string', 'number', or 'boolean'. + */ + "type": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + name: { + baseName: "name", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ItemApiPayloadMetaSchemaField.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/MicrosoftTeamsConfigurationReference.ts b/packages/datadog-api-client-v2/models/MicrosoftTeamsConfigurationReference.ts new file mode 100644 index 000000000000..dfb1a3147466 --- /dev/null +++ b/packages/datadog-api-client-v2/models/MicrosoftTeamsConfigurationReference.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { MicrosoftTeamsConfigurationReferenceData } from "./MicrosoftTeamsConfigurationReferenceData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A reference to a Microsoft Teams Configuration resource. + */ +export class MicrosoftTeamsConfigurationReference { + /** + * The Microsoft Teams configuration relationship data object. + */ + "data": MicrosoftTeamsConfigurationReferenceData | null; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "MicrosoftTeamsConfigurationReferenceData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return MicrosoftTeamsConfigurationReference.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/MicrosoftTeamsConfigurationReferenceData.ts b/packages/datadog-api-client-v2/models/MicrosoftTeamsConfigurationReferenceData.ts new file mode 100644 index 000000000000..1d5e64fcfdb4 --- /dev/null +++ b/packages/datadog-api-client-v2/models/MicrosoftTeamsConfigurationReferenceData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Microsoft Teams configuration relationship data object. + */ +export class MicrosoftTeamsConfigurationReferenceData { + /** + * The unique identifier of the Microsoft Teams configuration. + */ + "id": string; + /** + * The type of the Microsoft Teams configuration. + */ + "type": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return MicrosoftTeamsConfigurationReferenceData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index 2dbc4c74be43..f22d24b7b159 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -224,6 +224,9 @@ import { BulkMuteFindingsRequestMetaFindings } from "./BulkMuteFindingsRequestMe import { BulkMuteFindingsRequestProperties } from "./BulkMuteFindingsRequestProperties"; import { BulkMuteFindingsResponse } from "./BulkMuteFindingsResponse"; import { BulkMuteFindingsResponseData } from "./BulkMuteFindingsResponseData"; +import { BulkPutAppsDatastoreItemsRequest } from "./BulkPutAppsDatastoreItemsRequest"; +import { BulkPutAppsDatastoreItemsRequestData } from "./BulkPutAppsDatastoreItemsRequestData"; +import { BulkPutAppsDatastoreItemsRequestDataAttributes } from "./BulkPutAppsDatastoreItemsRequestDataAttributes"; import { CIAppAggregateBucketValueTimeseriesPoint } from "./CIAppAggregateBucketValueTimeseriesPoint"; import { CIAppAggregateSort } from "./CIAppAggregateSort"; import { CIAppCIError } from "./CIAppCIError"; @@ -439,12 +442,19 @@ import { CreateAppRequestData } from "./CreateAppRequestData"; import { CreateAppRequestDataAttributes } from "./CreateAppRequestDataAttributes"; import { CreateAppResponse } from "./CreateAppResponse"; import { CreateAppResponseData } from "./CreateAppResponseData"; +import { CreateAppsDatastoreRequest } from "./CreateAppsDatastoreRequest"; +import { CreateAppsDatastoreRequestData } from "./CreateAppsDatastoreRequestData"; +import { CreateAppsDatastoreRequestDataAttributes } from "./CreateAppsDatastoreRequestDataAttributes"; +import { CreateAppsDatastoreResponse } from "./CreateAppsDatastoreResponse"; +import { CreateAppsDatastoreResponseData } from "./CreateAppsDatastoreResponseData"; import { CreateCustomFrameworkRequest } from "./CreateCustomFrameworkRequest"; import { CreateCustomFrameworkResponse } from "./CreateCustomFrameworkResponse"; import { CreateDataDeletionRequestBody } from "./CreateDataDeletionRequestBody"; import { CreateDataDeletionRequestBodyAttributes } from "./CreateDataDeletionRequestBodyAttributes"; import { CreateDataDeletionRequestBodyData } from "./CreateDataDeletionRequestBodyData"; import { CreateDataDeletionResponseBody } from "./CreateDataDeletionResponseBody"; +import { CreateIncidentNotificationRuleRequest } from "./CreateIncidentNotificationRuleRequest"; +import { CreateIncidentNotificationTemplateRequest } from "./CreateIncidentNotificationTemplateRequest"; import { CreateNotificationRuleParameters } from "./CreateNotificationRuleParameters"; import { CreateNotificationRuleParametersData } from "./CreateNotificationRuleParametersData"; import { CreateNotificationRuleParametersDataAttributes } from "./CreateNotificationRuleParametersDataAttributes"; @@ -575,8 +585,17 @@ import { DatasetResponse } from "./DatasetResponse"; import { DatasetResponseMulti } from "./DatasetResponseMulti"; import { DatasetResponseSingle } from "./DatasetResponseSingle"; import { DatasetUpdateRequest } from "./DatasetUpdateRequest"; +import { Datastore } from "./Datastore"; +import { DatastoreArray } from "./DatastoreArray"; +import { DatastoreData } from "./DatastoreData"; +import { DatastoreDataAttributes } from "./DatastoreDataAttributes"; import { DeleteAppResponse } from "./DeleteAppResponse"; import { DeleteAppResponseData } from "./DeleteAppResponseData"; +import { DeleteAppsDatastoreItemRequest } from "./DeleteAppsDatastoreItemRequest"; +import { DeleteAppsDatastoreItemRequestData } from "./DeleteAppsDatastoreItemRequestData"; +import { DeleteAppsDatastoreItemRequestDataAttributes } from "./DeleteAppsDatastoreItemRequestDataAttributes"; +import { DeleteAppsDatastoreItemResponse } from "./DeleteAppsDatastoreItemResponse"; +import { DeleteAppsDatastoreItemResponseData } from "./DeleteAppsDatastoreItemResponseData"; import { DeleteAppsRequest } from "./DeleteAppsRequest"; import { DeleteAppsRequestDataItems } from "./DeleteAppsRequestDataItems"; import { DeleteAppsResponse } from "./DeleteAppsResponse"; @@ -777,6 +796,7 @@ import { FullCustomFrameworkDataAttributes } from "./FullCustomFrameworkDataAttr import { GCPIntegration } from "./GCPIntegration"; import { GCPIntegrationUpdate } from "./GCPIntegrationUpdate"; import { GCPMetricNamespaceConfig } from "./GCPMetricNamespaceConfig"; +import { GCPMonitoredResourceConfig } from "./GCPMonitoredResourceConfig"; import { GCPSTSDelegateAccount } from "./GCPSTSDelegateAccount"; import { GCPSTSDelegateAccountAttributes } from "./GCPSTSDelegateAccountAttributes"; import { GCPSTSDelegateAccountResponse } from "./GCPSTSDelegateAccountResponse"; @@ -830,6 +850,8 @@ import { GitlabAPIKey } from "./GitlabAPIKey"; import { GitlabAPIKeyUpdate } from "./GitlabAPIKeyUpdate"; import { GitlabIntegration } from "./GitlabIntegration"; import { GitlabIntegrationUpdate } from "./GitlabIntegrationUpdate"; +import { GoogleMeetConfigurationReference } from "./GoogleMeetConfigurationReference"; +import { GoogleMeetConfigurationReferenceData } from "./GoogleMeetConfigurationReferenceData"; import { GreyNoiseAPIKey } from "./GreyNoiseAPIKey"; import { GreyNoiseAPIKeyUpdate } from "./GreyNoiseAPIKeyUpdate"; import { GreyNoiseIntegration } from "./GreyNoiseIntegration"; @@ -895,6 +917,31 @@ import { IncidentIntegrationMetadataResponseData } from "./IncidentIntegrationMe import { IncidentIntegrationRelationships } from "./IncidentIntegrationRelationships"; import { IncidentNonDatadogCreator } from "./IncidentNonDatadogCreator"; import { IncidentNotificationHandle } from "./IncidentNotificationHandle"; +import { IncidentNotificationRule } from "./IncidentNotificationRule"; +import { IncidentNotificationRuleArray } from "./IncidentNotificationRuleArray"; +import { IncidentNotificationRuleArrayMeta } from "./IncidentNotificationRuleArrayMeta"; +import { IncidentNotificationRuleArrayMetaPage } from "./IncidentNotificationRuleArrayMetaPage"; +import { IncidentNotificationRuleAttributes } from "./IncidentNotificationRuleAttributes"; +import { IncidentNotificationRuleConditionsItems } from "./IncidentNotificationRuleConditionsItems"; +import { IncidentNotificationRuleCreateAttributes } from "./IncidentNotificationRuleCreateAttributes"; +import { IncidentNotificationRuleCreateData } from "./IncidentNotificationRuleCreateData"; +import { IncidentNotificationRuleCreateDataRelationships } from "./IncidentNotificationRuleCreateDataRelationships"; +import { IncidentNotificationRuleRelationships } from "./IncidentNotificationRuleRelationships"; +import { IncidentNotificationRuleResponseData } from "./IncidentNotificationRuleResponseData"; +import { IncidentNotificationRuleUpdateData } from "./IncidentNotificationRuleUpdateData"; +import { IncidentNotificationTemplate } from "./IncidentNotificationTemplate"; +import { IncidentNotificationTemplateArray } from "./IncidentNotificationTemplateArray"; +import { IncidentNotificationTemplateArrayMeta } from "./IncidentNotificationTemplateArrayMeta"; +import { IncidentNotificationTemplateArrayMetaPage } from "./IncidentNotificationTemplateArrayMetaPage"; +import { IncidentNotificationTemplateAttributes } from "./IncidentNotificationTemplateAttributes"; +import { IncidentNotificationTemplateCreateAttributes } from "./IncidentNotificationTemplateCreateAttributes"; +import { IncidentNotificationTemplateCreateData } from "./IncidentNotificationTemplateCreateData"; +import { IncidentNotificationTemplateCreateDataRelationships } from "./IncidentNotificationTemplateCreateDataRelationships"; +import { IncidentNotificationTemplateObject } from "./IncidentNotificationTemplateObject"; +import { IncidentNotificationTemplateRelationships } from "./IncidentNotificationTemplateRelationships"; +import { IncidentNotificationTemplateResponseData } from "./IncidentNotificationTemplateResponseData"; +import { IncidentNotificationTemplateUpdateAttributes } from "./IncidentNotificationTemplateUpdateAttributes"; +import { IncidentNotificationTemplateUpdateData } from "./IncidentNotificationTemplateUpdateData"; import { IncidentResponse } from "./IncidentResponse"; import { IncidentResponseAttributes } from "./IncidentResponseAttributes"; import { IncidentResponseData } from "./IncidentResponseData"; @@ -955,6 +1002,7 @@ import { IncidentTypeListResponse } from "./IncidentTypeListResponse"; import { IncidentTypeObject } from "./IncidentTypeObject"; import { IncidentTypePatchData } from "./IncidentTypePatchData"; import { IncidentTypePatchRequest } from "./IncidentTypePatchRequest"; +import { IncidentTypeRelationships } from "./IncidentTypeRelationships"; import { IncidentTypeResponse } from "./IncidentTypeResponse"; import { IncidentTypeUpdateAttributes } from "./IncidentTypeUpdateAttributes"; import { IncidentUpdateAttributes } from "./IncidentUpdateAttributes"; @@ -1002,6 +1050,14 @@ import { IssuesSearchResult } from "./IssuesSearchResult"; import { IssuesSearchResultAttributes } from "./IssuesSearchResultAttributes"; import { IssuesSearchResultIssueRelationship } from "./IssuesSearchResultIssueRelationship"; import { IssuesSearchResultRelationships } from "./IssuesSearchResultRelationships"; +import { ItemApiPayload } from "./ItemApiPayload"; +import { ItemApiPayloadArray } from "./ItemApiPayloadArray"; +import { ItemApiPayloadData } from "./ItemApiPayloadData"; +import { ItemApiPayloadDataAttributes } from "./ItemApiPayloadDataAttributes"; +import { ItemApiPayloadMeta } from "./ItemApiPayloadMeta"; +import { ItemApiPayloadMetaPage } from "./ItemApiPayloadMetaPage"; +import { ItemApiPayloadMetaSchema } from "./ItemApiPayloadMetaSchema"; +import { ItemApiPayloadMetaSchemaField } from "./ItemApiPayloadMetaSchemaField"; import { JSONAPIErrorItem } from "./JSONAPIErrorItem"; import { JSONAPIErrorItemSource } from "./JSONAPIErrorItemSource"; import { JSONAPIErrorResponse } from "./JSONAPIErrorResponse"; @@ -1200,6 +1256,8 @@ import { MetricsTimeseriesQuery } from "./MetricsTimeseriesQuery"; import { MicrosoftSentinelDestination } from "./MicrosoftSentinelDestination"; import { MicrosoftTeamsChannelInfoResponseAttributes } from "./MicrosoftTeamsChannelInfoResponseAttributes"; import { MicrosoftTeamsChannelInfoResponseData } from "./MicrosoftTeamsChannelInfoResponseData"; +import { MicrosoftTeamsConfigurationReference } from "./MicrosoftTeamsConfigurationReference"; +import { MicrosoftTeamsConfigurationReferenceData } from "./MicrosoftTeamsConfigurationReferenceData"; import { MicrosoftTeamsCreateTenantBasedHandleRequest } from "./MicrosoftTeamsCreateTenantBasedHandleRequest"; import { MicrosoftTeamsCreateWorkflowsWebhookHandleRequest } from "./MicrosoftTeamsCreateWorkflowsWebhookHandleRequest"; import { MicrosoftTeamsGetChannelByNameResponse } from "./MicrosoftTeamsGetChannelByNameResponse"; @@ -1471,6 +1529,7 @@ import { PartialAPIKeyAttributes } from "./PartialAPIKeyAttributes"; import { PartialApplicationKey } from "./PartialApplicationKey"; import { PartialApplicationKeyAttributes } from "./PartialApplicationKeyAttributes"; import { PartialApplicationKeyResponse } from "./PartialApplicationKeyResponse"; +import { PatchIncidentNotificationTemplateRequest } from "./PatchIncidentNotificationTemplateRequest"; import { PatchNotificationRuleParameters } from "./PatchNotificationRuleParameters"; import { PatchNotificationRuleParametersData } from "./PatchNotificationRuleParametersData"; import { PatchNotificationRuleParametersDataAttributes } from "./PatchNotificationRuleParametersDataAttributes"; @@ -1510,6 +1569,9 @@ import { ProjectedCostAttributes } from "./ProjectedCostAttributes"; import { ProjectedCostResponse } from "./ProjectedCostResponse"; import { ProjectsResponse } from "./ProjectsResponse"; import { PublishAppResponse } from "./PublishAppResponse"; +import { PutAppsDatastoreItemResponseArray } from "./PutAppsDatastoreItemResponseArray"; +import { PutAppsDatastoreItemResponseData } from "./PutAppsDatastoreItemResponseData"; +import { PutIncidentNotificationRuleRequest } from "./PutIncidentNotificationRuleRequest"; import { QueryFormula } from "./QueryFormula"; import { RUMAggregateBucketValueTimeseriesPoint } from "./RUMAggregateBucketValueTimeseriesPoint"; import { RUMAggregateRequest } from "./RUMAggregateRequest"; @@ -1565,10 +1627,14 @@ import { RelationshipToIncidentImpactData } from "./RelationshipToIncidentImpact import { RelationshipToIncidentImpacts } from "./RelationshipToIncidentImpacts"; import { RelationshipToIncidentIntegrationMetadataData } from "./RelationshipToIncidentIntegrationMetadataData"; import { RelationshipToIncidentIntegrationMetadatas } from "./RelationshipToIncidentIntegrationMetadatas"; +import { RelationshipToIncidentNotificationTemplate } from "./RelationshipToIncidentNotificationTemplate"; +import { RelationshipToIncidentNotificationTemplateData } from "./RelationshipToIncidentNotificationTemplateData"; import { RelationshipToIncidentPostmortem } from "./RelationshipToIncidentPostmortem"; import { RelationshipToIncidentPostmortemData } from "./RelationshipToIncidentPostmortemData"; import { RelationshipToIncidentResponderData } from "./RelationshipToIncidentResponderData"; import { RelationshipToIncidentResponders } from "./RelationshipToIncidentResponders"; +import { RelationshipToIncidentType } from "./RelationshipToIncidentType"; +import { RelationshipToIncidentTypeData } from "./RelationshipToIncidentTypeData"; import { RelationshipToIncidentUserDefinedFieldData } from "./RelationshipToIncidentUserDefinedFieldData"; import { RelationshipToIncidentUserDefinedFields } from "./RelationshipToIncidentUserDefinedFields"; import { RelationshipToOrganization } from "./RelationshipToOrganization"; @@ -2073,6 +2139,13 @@ import { UpdateAppRequestDataAttributes } from "./UpdateAppRequestDataAttributes import { UpdateAppResponse } from "./UpdateAppResponse"; import { UpdateAppResponseData } from "./UpdateAppResponseData"; import { UpdateAppResponseDataAttributes } from "./UpdateAppResponseDataAttributes"; +import { UpdateAppsDatastoreItemRequest } from "./UpdateAppsDatastoreItemRequest"; +import { UpdateAppsDatastoreItemRequestData } from "./UpdateAppsDatastoreItemRequestData"; +import { UpdateAppsDatastoreItemRequestDataAttributes } from "./UpdateAppsDatastoreItemRequestDataAttributes"; +import { UpdateAppsDatastoreItemRequestDataAttributesItemChanges } from "./UpdateAppsDatastoreItemRequestDataAttributesItemChanges"; +import { UpdateAppsDatastoreRequest } from "./UpdateAppsDatastoreRequest"; +import { UpdateAppsDatastoreRequestData } from "./UpdateAppsDatastoreRequestData"; +import { UpdateAppsDatastoreRequestDataAttributes } from "./UpdateAppsDatastoreRequestDataAttributes"; import { UpdateCustomFrameworkRequest } from "./UpdateCustomFrameworkRequest"; import { UpdateCustomFrameworkResponse } from "./UpdateCustomFrameworkResponse"; import { UpdateOpenAPIResponse } from "./UpdateOpenAPIResponse"; @@ -2176,6 +2249,8 @@ import { WorklflowGetInstanceResponseData } from "./WorklflowGetInstanceResponse import { WorklflowGetInstanceResponseDataAttributes } from "./WorklflowGetInstanceResponseDataAttributes"; import { XRayServicesIncludeAll } from "./XRayServicesIncludeAll"; import { XRayServicesIncludeOnly } from "./XRayServicesIncludeOnly"; +import { ZoomConfigurationReference } from "./ZoomConfigurationReference"; +import { ZoomConfigurationReferenceData } from "./ZoomConfigurationReferenceData"; import { dateFromRFC3339String, dateToRFC3339String, @@ -2503,6 +2578,11 @@ const enumsMap: { [key: string]: any[] } = { ], CostAttributionType: ["cost_by_tag"], CostByOrgType: ["cost_by_org"], + CreateAppsDatastoreRequestDataAttributesOrgAccess: [ + "contributor", + "viewer", + "manager", + ], CreateDataDeletionRequestBodyDataType: ["create_deletion_req"], CreatePageRequestDataType: ["pages"], CreatePageResponseDataType: ["pages"], @@ -2549,6 +2629,10 @@ const enumsMap: { [key: string]: any[] } = { DatadogAPIKeyType: ["DatadogAPIKey"], DatadogIntegrationType: ["Datadog"], DatasetType: ["dataset"], + DatastoreDataType: ["datastores"], + DatastoreItemConflictMode: ["fail_on_conflict", "overwrite_on_conflict"], + DatastoreItemsDataType: ["items"], + DatastorePrimaryKeyGenerationStrategy: ["none", "uuid"], DetailedFindingType: ["detailed_finding"], DnsMetricKey: [ "dns_total_requests", @@ -2647,6 +2731,11 @@ const enumsMap: { [key: string]: any[] } = { FreshserviceAPIKeyType: ["FreshserviceAPIKey"], FreshserviceIntegrationType: ["Freshservice"], GCPIntegrationType: ["GCP"], + GCPMonitoredResourceConfigType: [ + "cloud_function", + "cloud_run_revision", + "gce_instance", + ], GCPSTSDelegateAccountType: ["gcp_sts_delegate"], GCPServiceAccountCredentialType: ["GCPServiceAccount"], GCPServiceAccountType: ["gcp_service_account"], @@ -2695,6 +2784,18 @@ const enumsMap: { [key: string]: any[] } = { ], IncidentImpactsType: ["incident_impacts"], IncidentIntegrationMetadataType: ["incident_integrations"], + IncidentNotificationRuleAttributesVisibility: [ + "all", + "organization", + "private", + ], + IncidentNotificationRuleCreateAttributesVisibility: [ + "all", + "organization", + "private", + ], + IncidentNotificationRuleType: ["incident_notification_rules"], + IncidentNotificationTemplateType: ["notification_templates"], IncidentPostmortemType: ["incident_postmortems"], IncidentRelatedObject: ["users", "attachments"], IncidentRespondersType: ["incident_responders"], @@ -3536,6 +3637,7 @@ const enumsMap: { [key: string]: any[] } = { TimeseriesFormulaResponseType: ["timeseries_response"], TokenType: ["SECRET"], TriggerSource: ["security_findings", "security_signals"], + UpdateAppsDatastoreItemRequestDataType: ["items"], UpdateOutcomesAsyncType: ["batched-outcome"], Urgency: ["low", "high", "dynamic"], UsageTimeSeriesType: ["usage_timeseries"], @@ -3917,6 +4019,10 @@ const typeMap: { [index: string]: any } = { BulkMuteFindingsRequestProperties: BulkMuteFindingsRequestProperties, BulkMuteFindingsResponse: BulkMuteFindingsResponse, BulkMuteFindingsResponseData: BulkMuteFindingsResponseData, + BulkPutAppsDatastoreItemsRequest: BulkPutAppsDatastoreItemsRequest, + BulkPutAppsDatastoreItemsRequestData: BulkPutAppsDatastoreItemsRequestData, + BulkPutAppsDatastoreItemsRequestDataAttributes: + BulkPutAppsDatastoreItemsRequestDataAttributes, CIAppAggregateBucketValueTimeseriesPoint: CIAppAggregateBucketValueTimeseriesPoint, CIAppAggregateSort: CIAppAggregateSort, @@ -4169,6 +4275,12 @@ const typeMap: { [index: string]: any } = { CreateAppRequestDataAttributes: CreateAppRequestDataAttributes, CreateAppResponse: CreateAppResponse, CreateAppResponseData: CreateAppResponseData, + CreateAppsDatastoreRequest: CreateAppsDatastoreRequest, + CreateAppsDatastoreRequestData: CreateAppsDatastoreRequestData, + CreateAppsDatastoreRequestDataAttributes: + CreateAppsDatastoreRequestDataAttributes, + CreateAppsDatastoreResponse: CreateAppsDatastoreResponse, + CreateAppsDatastoreResponseData: CreateAppsDatastoreResponseData, CreateCustomFrameworkRequest: CreateCustomFrameworkRequest, CreateCustomFrameworkResponse: CreateCustomFrameworkResponse, CreateDataDeletionRequestBody: CreateDataDeletionRequestBody, @@ -4176,6 +4288,9 @@ const typeMap: { [index: string]: any } = { CreateDataDeletionRequestBodyAttributes, CreateDataDeletionRequestBodyData: CreateDataDeletionRequestBodyData, CreateDataDeletionResponseBody: CreateDataDeletionResponseBody, + CreateIncidentNotificationRuleRequest: CreateIncidentNotificationRuleRequest, + CreateIncidentNotificationTemplateRequest: + CreateIncidentNotificationTemplateRequest, CreateNotificationRuleParameters: CreateNotificationRuleParameters, CreateNotificationRuleParametersData: CreateNotificationRuleParametersData, CreateNotificationRuleParametersDataAttributes: @@ -4332,8 +4447,18 @@ const typeMap: { [index: string]: any } = { DatasetResponseMulti: DatasetResponseMulti, DatasetResponseSingle: DatasetResponseSingle, DatasetUpdateRequest: DatasetUpdateRequest, + Datastore: Datastore, + DatastoreArray: DatastoreArray, + DatastoreData: DatastoreData, + DatastoreDataAttributes: DatastoreDataAttributes, DeleteAppResponse: DeleteAppResponse, DeleteAppResponseData: DeleteAppResponseData, + DeleteAppsDatastoreItemRequest: DeleteAppsDatastoreItemRequest, + DeleteAppsDatastoreItemRequestData: DeleteAppsDatastoreItemRequestData, + DeleteAppsDatastoreItemRequestDataAttributes: + DeleteAppsDatastoreItemRequestDataAttributes, + DeleteAppsDatastoreItemResponse: DeleteAppsDatastoreItemResponse, + DeleteAppsDatastoreItemResponseData: DeleteAppsDatastoreItemResponseData, DeleteAppsRequest: DeleteAppsRequest, DeleteAppsRequestDataItems: DeleteAppsRequestDataItems, DeleteAppsResponse: DeleteAppsResponse, @@ -4557,6 +4682,7 @@ const typeMap: { [index: string]: any } = { GCPIntegration: GCPIntegration, GCPIntegrationUpdate: GCPIntegrationUpdate, GCPMetricNamespaceConfig: GCPMetricNamespaceConfig, + GCPMonitoredResourceConfig: GCPMonitoredResourceConfig, GCPSTSDelegateAccount: GCPSTSDelegateAccount, GCPSTSDelegateAccountAttributes: GCPSTSDelegateAccountAttributes, GCPSTSDelegateAccountResponse: GCPSTSDelegateAccountResponse, @@ -4613,6 +4739,8 @@ const typeMap: { [index: string]: any } = { GitlabAPIKeyUpdate: GitlabAPIKeyUpdate, GitlabIntegration: GitlabIntegration, GitlabIntegrationUpdate: GitlabIntegrationUpdate, + GoogleMeetConfigurationReference: GoogleMeetConfigurationReference, + GoogleMeetConfigurationReferenceData: GoogleMeetConfigurationReferenceData, GreyNoiseAPIKey: GreyNoiseAPIKey, GreyNoiseAPIKeyUpdate: GreyNoiseAPIKeyUpdate, GreyNoiseIntegration: GreyNoiseIntegration, @@ -4685,6 +4813,43 @@ const typeMap: { [index: string]: any } = { IncidentIntegrationRelationships: IncidentIntegrationRelationships, IncidentNonDatadogCreator: IncidentNonDatadogCreator, IncidentNotificationHandle: IncidentNotificationHandle, + IncidentNotificationRule: IncidentNotificationRule, + IncidentNotificationRuleArray: IncidentNotificationRuleArray, + IncidentNotificationRuleArrayMeta: IncidentNotificationRuleArrayMeta, + IncidentNotificationRuleArrayMetaPage: IncidentNotificationRuleArrayMetaPage, + IncidentNotificationRuleAttributes: IncidentNotificationRuleAttributes, + IncidentNotificationRuleConditionsItems: + IncidentNotificationRuleConditionsItems, + IncidentNotificationRuleCreateAttributes: + IncidentNotificationRuleCreateAttributes, + IncidentNotificationRuleCreateData: IncidentNotificationRuleCreateData, + IncidentNotificationRuleCreateDataRelationships: + IncidentNotificationRuleCreateDataRelationships, + IncidentNotificationRuleRelationships: IncidentNotificationRuleRelationships, + IncidentNotificationRuleResponseData: IncidentNotificationRuleResponseData, + IncidentNotificationRuleUpdateData: IncidentNotificationRuleUpdateData, + IncidentNotificationTemplate: IncidentNotificationTemplate, + IncidentNotificationTemplateArray: IncidentNotificationTemplateArray, + IncidentNotificationTemplateArrayMeta: IncidentNotificationTemplateArrayMeta, + IncidentNotificationTemplateArrayMetaPage: + IncidentNotificationTemplateArrayMetaPage, + IncidentNotificationTemplateAttributes: + IncidentNotificationTemplateAttributes, + IncidentNotificationTemplateCreateAttributes: + IncidentNotificationTemplateCreateAttributes, + IncidentNotificationTemplateCreateData: + IncidentNotificationTemplateCreateData, + IncidentNotificationTemplateCreateDataRelationships: + IncidentNotificationTemplateCreateDataRelationships, + IncidentNotificationTemplateObject: IncidentNotificationTemplateObject, + IncidentNotificationTemplateRelationships: + IncidentNotificationTemplateRelationships, + IncidentNotificationTemplateResponseData: + IncidentNotificationTemplateResponseData, + IncidentNotificationTemplateUpdateAttributes: + IncidentNotificationTemplateUpdateAttributes, + IncidentNotificationTemplateUpdateData: + IncidentNotificationTemplateUpdateData, IncidentResponse: IncidentResponse, IncidentResponseAttributes: IncidentResponseAttributes, IncidentResponseData: IncidentResponseData, @@ -4750,6 +4915,7 @@ const typeMap: { [index: string]: any } = { IncidentTypeObject: IncidentTypeObject, IncidentTypePatchData: IncidentTypePatchData, IncidentTypePatchRequest: IncidentTypePatchRequest, + IncidentTypeRelationships: IncidentTypeRelationships, IncidentTypeResponse: IncidentTypeResponse, IncidentTypeUpdateAttributes: IncidentTypeUpdateAttributes, IncidentUpdateAttributes: IncidentUpdateAttributes, @@ -4797,6 +4963,14 @@ const typeMap: { [index: string]: any } = { IssuesSearchResultAttributes: IssuesSearchResultAttributes, IssuesSearchResultIssueRelationship: IssuesSearchResultIssueRelationship, IssuesSearchResultRelationships: IssuesSearchResultRelationships, + ItemApiPayload: ItemApiPayload, + ItemApiPayloadArray: ItemApiPayloadArray, + ItemApiPayloadData: ItemApiPayloadData, + ItemApiPayloadDataAttributes: ItemApiPayloadDataAttributes, + ItemApiPayloadMeta: ItemApiPayloadMeta, + ItemApiPayloadMetaPage: ItemApiPayloadMetaPage, + ItemApiPayloadMetaSchema: ItemApiPayloadMetaSchema, + ItemApiPayloadMetaSchemaField: ItemApiPayloadMetaSchemaField, JSONAPIErrorItem: JSONAPIErrorItem, JSONAPIErrorItemSource: JSONAPIErrorItemSource, JSONAPIErrorResponse: JSONAPIErrorResponse, @@ -5002,6 +5176,9 @@ const typeMap: { [index: string]: any } = { MicrosoftTeamsChannelInfoResponseAttributes: MicrosoftTeamsChannelInfoResponseAttributes, MicrosoftTeamsChannelInfoResponseData: MicrosoftTeamsChannelInfoResponseData, + MicrosoftTeamsConfigurationReference: MicrosoftTeamsConfigurationReference, + MicrosoftTeamsConfigurationReferenceData: + MicrosoftTeamsConfigurationReferenceData, MicrosoftTeamsCreateTenantBasedHandleRequest: MicrosoftTeamsCreateTenantBasedHandleRequest, MicrosoftTeamsCreateWorkflowsWebhookHandleRequest: @@ -5382,6 +5559,8 @@ const typeMap: { [index: string]: any } = { PartialApplicationKey: PartialApplicationKey, PartialApplicationKeyAttributes: PartialApplicationKeyAttributes, PartialApplicationKeyResponse: PartialApplicationKeyResponse, + PatchIncidentNotificationTemplateRequest: + PatchIncidentNotificationTemplateRequest, PatchNotificationRuleParameters: PatchNotificationRuleParameters, PatchNotificationRuleParametersData: PatchNotificationRuleParametersData, PatchNotificationRuleParametersDataAttributes: @@ -5422,6 +5601,9 @@ const typeMap: { [index: string]: any } = { ProjectedCostResponse: ProjectedCostResponse, ProjectsResponse: ProjectsResponse, PublishAppResponse: PublishAppResponse, + PutAppsDatastoreItemResponseArray: PutAppsDatastoreItemResponseArray, + PutAppsDatastoreItemResponseData: PutAppsDatastoreItemResponseData, + PutIncidentNotificationRuleRequest: PutIncidentNotificationRuleRequest, QueryFormula: QueryFormula, RUMAggregateBucketValueTimeseriesPoint: RUMAggregateBucketValueTimeseriesPoint, @@ -5480,10 +5662,16 @@ const typeMap: { [index: string]: any } = { RelationshipToIncidentIntegrationMetadataData, RelationshipToIncidentIntegrationMetadatas: RelationshipToIncidentIntegrationMetadatas, + RelationshipToIncidentNotificationTemplate: + RelationshipToIncidentNotificationTemplate, + RelationshipToIncidentNotificationTemplateData: + RelationshipToIncidentNotificationTemplateData, RelationshipToIncidentPostmortem: RelationshipToIncidentPostmortem, RelationshipToIncidentPostmortemData: RelationshipToIncidentPostmortemData, RelationshipToIncidentResponderData: RelationshipToIncidentResponderData, RelationshipToIncidentResponders: RelationshipToIncidentResponders, + RelationshipToIncidentType: RelationshipToIncidentType, + RelationshipToIncidentTypeData: RelationshipToIncidentTypeData, RelationshipToIncidentUserDefinedFieldData: RelationshipToIncidentUserDefinedFieldData, RelationshipToIncidentUserDefinedFields: @@ -6064,6 +6252,16 @@ const typeMap: { [index: string]: any } = { UpdateAppResponse: UpdateAppResponse, UpdateAppResponseData: UpdateAppResponseData, UpdateAppResponseDataAttributes: UpdateAppResponseDataAttributes, + UpdateAppsDatastoreItemRequest: UpdateAppsDatastoreItemRequest, + UpdateAppsDatastoreItemRequestData: UpdateAppsDatastoreItemRequestData, + UpdateAppsDatastoreItemRequestDataAttributes: + UpdateAppsDatastoreItemRequestDataAttributes, + UpdateAppsDatastoreItemRequestDataAttributesItemChanges: + UpdateAppsDatastoreItemRequestDataAttributesItemChanges, + UpdateAppsDatastoreRequest: UpdateAppsDatastoreRequest, + UpdateAppsDatastoreRequestData: UpdateAppsDatastoreRequestData, + UpdateAppsDatastoreRequestDataAttributes: + UpdateAppsDatastoreRequestDataAttributes, UpdateCustomFrameworkRequest: UpdateCustomFrameworkRequest, UpdateCustomFrameworkResponse: UpdateCustomFrameworkResponse, UpdateOpenAPIResponse: UpdateOpenAPIResponse, @@ -6173,6 +6371,8 @@ const typeMap: { [index: string]: any } = { WorklflowGetInstanceResponseDataAttributes, XRayServicesIncludeAll: XRayServicesIncludeAll, XRayServicesIncludeOnly: XRayServicesIncludeOnly, + ZoomConfigurationReference: ZoomConfigurationReference, + ZoomConfigurationReferenceData: ZoomConfigurationReferenceData, }; const oneOfMap: { [index: string]: string[] } = { @@ -6274,6 +6474,10 @@ const oneOfMap: { [index: string]: string[] } = { "CIAppPipelineEventJob", "CIAppPipelineEventStep", ], + CIAppCreatePipelineEventRequestDataSingleOrArray: [ + "CIAppCreatePipelineEventRequestData", + "Array", + ], CIAppGroupByMissing: ["string", "number"], CIAppGroupByTotal: ["boolean", "string", "number"], CIAppPipelineEventPipeline: [ @@ -6389,6 +6593,12 @@ const oneOfMap: { [index: string]: string[] } = { "MSTeamsIntegrationMetadata", ], IncidentIntegrationMetadataResponseIncludedItem: ["User"], + IncidentNotificationRuleIncludedItems: [ + "User", + "IncidentTypeObject", + "IncidentNotificationTemplateObject", + ], + IncidentNotificationTemplateIncludedItems: ["User", "IncidentTypeObject"], IncidentResponseIncludedItem: ["IncidentUserData", "IncidentAttachmentData"], IncidentServiceIncludedItems: ["User"], IncidentTeamIncludedItems: ["User"], diff --git a/packages/datadog-api-client-v2/models/PatchIncidentNotificationTemplateRequest.ts b/packages/datadog-api-client-v2/models/PatchIncidentNotificationTemplateRequest.ts new file mode 100644 index 000000000000..d5bb9ace22af --- /dev/null +++ b/packages/datadog-api-client-v2/models/PatchIncidentNotificationTemplateRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateUpdateData } from "./IncidentNotificationTemplateUpdateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Update request for a notification template. + */ +export class PatchIncidentNotificationTemplateRequest { + /** + * Notification template data for an update request. + */ + "data": IncidentNotificationTemplateUpdateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IncidentNotificationTemplateUpdateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return PatchIncidentNotificationTemplateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/PutAppsDatastoreItemResponseArray.ts b/packages/datadog-api-client-v2/models/PutAppsDatastoreItemResponseArray.ts new file mode 100644 index 000000000000..f23788d11fab --- /dev/null +++ b/packages/datadog-api-client-v2/models/PutAppsDatastoreItemResponseArray.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { PutAppsDatastoreItemResponseData } from "./PutAppsDatastoreItemResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response after successfully inserting multiple items into a datastore, containing the identifiers of the created items. + */ +export class PutAppsDatastoreItemResponseArray { + /** + * An array of data objects containing the identifiers of the successfully inserted items. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return PutAppsDatastoreItemResponseArray.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/PutAppsDatastoreItemResponseData.ts b/packages/datadog-api-client-v2/models/PutAppsDatastoreItemResponseData.ts new file mode 100644 index 000000000000..e8d7e0dad382 --- /dev/null +++ b/packages/datadog-api-client-v2/models/PutAppsDatastoreItemResponseData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreItemsDataType } from "./DatastoreItemsDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data containing the identifier of a single item that was successfully inserted into the datastore. + */ +export class PutAppsDatastoreItemResponseData { + /** + * The unique identifier assigned to the inserted item. + */ + "id"?: string; + /** + * The resource type for datastore items. + */ + "type": DatastoreItemsDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "DatastoreItemsDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return PutAppsDatastoreItemResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/PutIncidentNotificationRuleRequest.ts b/packages/datadog-api-client-v2/models/PutIncidentNotificationRuleRequest.ts new file mode 100644 index 000000000000..28093946c69c --- /dev/null +++ b/packages/datadog-api-client-v2/models/PutIncidentNotificationRuleRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationRuleUpdateData } from "./IncidentNotificationRuleUpdateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Put request for a notification rule. + */ +export class PutIncidentNotificationRuleRequest { + /** + * Notification rule data for an update request. + */ + "data": IncidentNotificationRuleUpdateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IncidentNotificationRuleUpdateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return PutIncidentNotificationRuleRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RelationshipToIncidentNotificationTemplate.ts b/packages/datadog-api-client-v2/models/RelationshipToIncidentNotificationTemplate.ts new file mode 100644 index 000000000000..7b71ae372c9f --- /dev/null +++ b/packages/datadog-api-client-v2/models/RelationshipToIncidentNotificationTemplate.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RelationshipToIncidentNotificationTemplateData } from "./RelationshipToIncidentNotificationTemplateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A relationship reference to a notification template. + */ +export class RelationshipToIncidentNotificationTemplate { + /** + * The notification template relationship data. + */ + "data": RelationshipToIncidentNotificationTemplateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "RelationshipToIncidentNotificationTemplateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RelationshipToIncidentNotificationTemplate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RelationshipToIncidentNotificationTemplateData.ts b/packages/datadog-api-client-v2/models/RelationshipToIncidentNotificationTemplateData.ts new file mode 100644 index 000000000000..db0bf4b0b370 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RelationshipToIncidentNotificationTemplateData.ts @@ -0,0 +1,64 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentNotificationTemplateType } from "./IncidentNotificationTemplateType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The notification template relationship data. + */ +export class RelationshipToIncidentNotificationTemplateData { + /** + * The unique identifier of the notification template. + */ + "id": string; + /** + * Notification templates resource type. + */ + "type": IncidentNotificationTemplateType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + type: { + baseName: "type", + type: "IncidentNotificationTemplateType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RelationshipToIncidentNotificationTemplateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RelationshipToIncidentType.ts b/packages/datadog-api-client-v2/models/RelationshipToIncidentType.ts new file mode 100644 index 000000000000..0d44b6e46b81 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RelationshipToIncidentType.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { RelationshipToIncidentTypeData } from "./RelationshipToIncidentTypeData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationship to an incident type. + */ +export class RelationshipToIncidentType { + /** + * Relationship to incident type object. + */ + "data": RelationshipToIncidentTypeData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "RelationshipToIncidentTypeData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RelationshipToIncidentType.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/RelationshipToIncidentTypeData.ts b/packages/datadog-api-client-v2/models/RelationshipToIncidentTypeData.ts new file mode 100644 index 000000000000..633a7b8d5a48 --- /dev/null +++ b/packages/datadog-api-client-v2/models/RelationshipToIncidentTypeData.ts @@ -0,0 +1,63 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IncidentTypeType } from "./IncidentTypeType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationship to incident type object. + */ +export class RelationshipToIncidentTypeData { + /** + * The incident type's ID. + */ + "id": string; + /** + * Incident type resource type. + */ + "type": IncidentTypeType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IncidentTypeType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RelationshipToIncidentTypeData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/SecurityMonitoringRuleConvertResponse.ts b/packages/datadog-api-client-v2/models/SecurityMonitoringRuleConvertResponse.ts index 879b74a7fd1e..e0f6ecebbaa7 100644 --- a/packages/datadog-api-client-v2/models/SecurityMonitoringRuleConvertResponse.ts +++ b/packages/datadog-api-client-v2/models/SecurityMonitoringRuleConvertResponse.ts @@ -10,6 +10,10 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; * Result of the convert rule request containing Terraform content. */ export class SecurityMonitoringRuleConvertResponse { + /** + * the ID of the rule. + */ + "ruleId"?: string; /** * Terraform string as a result of converting the rule from JSON. */ @@ -31,6 +35,10 @@ export class SecurityMonitoringRuleConvertResponse { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + ruleId: { + baseName: "ruleId", + type: "string", + }, terraformContent: { baseName: "terraformContent", type: "string", diff --git a/packages/datadog-api-client-v2/models/Shift.ts b/packages/datadog-api-client-v2/models/Shift.ts index 46b8621cd291..b92cf23927a8 100644 --- a/packages/datadog-api-client-v2/models/Shift.ts +++ b/packages/datadog-api-client-v2/models/Shift.ts @@ -9,11 +9,11 @@ import { ShiftIncluded } from "./ShiftIncluded"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * The definition of `Shift` object. + * An on-call shift with its associated data and relationships. */ export class Shift { /** - * The definition of `ShiftData` object. + * Data for an on-call shift. */ "data"?: ShiftData; /** diff --git a/packages/datadog-api-client-v2/models/ShiftData.ts b/packages/datadog-api-client-v2/models/ShiftData.ts index 79a843d77a47..e724d8ae6f71 100644 --- a/packages/datadog-api-client-v2/models/ShiftData.ts +++ b/packages/datadog-api-client-v2/models/ShiftData.ts @@ -10,11 +10,11 @@ import { ShiftDataType } from "./ShiftDataType"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * The definition of `ShiftData` object. + * Data for an on-call shift. */ export class ShiftData { /** - * The definition of `ShiftDataAttributes` object. + * Attributes for an on-call shift. */ "attributes"?: ShiftDataAttributes; /** @@ -22,7 +22,7 @@ export class ShiftData { */ "id"?: string; /** - * The definition of `ShiftDataRelationships` object. + * Relationships for an on-call shift. */ "relationships"?: ShiftDataRelationships; /** diff --git a/packages/datadog-api-client-v2/models/ShiftDataAttributes.ts b/packages/datadog-api-client-v2/models/ShiftDataAttributes.ts index d1978010b747..950a91dfd019 100644 --- a/packages/datadog-api-client-v2/models/ShiftDataAttributes.ts +++ b/packages/datadog-api-client-v2/models/ShiftDataAttributes.ts @@ -7,7 +7,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * The definition of `ShiftDataAttributes` object. + * Attributes for an on-call shift. */ export class ShiftDataAttributes { /** diff --git a/packages/datadog-api-client-v2/models/ShiftDataRelationships.ts b/packages/datadog-api-client-v2/models/ShiftDataRelationships.ts index 8696fcddf94d..9fdab7b7c407 100644 --- a/packages/datadog-api-client-v2/models/ShiftDataRelationships.ts +++ b/packages/datadog-api-client-v2/models/ShiftDataRelationships.ts @@ -8,7 +8,7 @@ import { ShiftDataRelationshipsUser } from "./ShiftDataRelationshipsUser"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; /** - * The definition of `ShiftDataRelationships` object. + * Relationships for an on-call shift. */ export class ShiftDataRelationships { /** diff --git a/packages/datadog-api-client-v2/models/ShiftIncluded.ts b/packages/datadog-api-client-v2/models/ShiftIncluded.ts index 3a92fe4ac1e7..40ff2a27293b 100644 --- a/packages/datadog-api-client-v2/models/ShiftIncluded.ts +++ b/packages/datadog-api-client-v2/models/ShiftIncluded.ts @@ -8,7 +8,7 @@ import { ScheduleUser } from "./ScheduleUser"; import { UnparsedObject } from "../../datadog-api-client-common/util"; /** - * The definition of `ShiftIncluded` object. + * Included data for shift operations. */ export type ShiftIncluded = ScheduleUser | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequest.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequest.ts new file mode 100644 index 000000000000..0ed6fe9f4271 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateAppsDatastoreItemRequestData } from "./UpdateAppsDatastoreItemRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request to update specific fields on an existing datastore item. + */ +export class UpdateAppsDatastoreItemRequest { + /** + * Data wrapper containing the item identifier and the changes to apply during the update operation. + */ + "data"?: UpdateAppsDatastoreItemRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "UpdateAppsDatastoreItemRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateAppsDatastoreItemRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestData.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestData.ts new file mode 100644 index 000000000000..6b3c26ce7847 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateAppsDatastoreItemRequestDataAttributes } from "./UpdateAppsDatastoreItemRequestDataAttributes"; +import { UpdateAppsDatastoreItemRequestDataType } from "./UpdateAppsDatastoreItemRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data wrapper containing the item identifier and the changes to apply during the update operation. + */ +export class UpdateAppsDatastoreItemRequestData { + /** + * Attributes for updating a datastore item, including the item key and changes to apply. + */ + "attributes"?: UpdateAppsDatastoreItemRequestDataAttributes; + /** + * The unique identifier of the datastore item. + */ + "id"?: string; + /** + * The resource type for datastore items. + */ + "type": UpdateAppsDatastoreItemRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "UpdateAppsDatastoreItemRequestDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "UpdateAppsDatastoreItemRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateAppsDatastoreItemRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataAttributes.ts new file mode 100644 index 000000000000..545f80116538 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataAttributes.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateAppsDatastoreItemRequestDataAttributesItemChanges } from "./UpdateAppsDatastoreItemRequestDataAttributesItemChanges"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Attributes for updating a datastore item, including the item key and changes to apply. + */ +export class UpdateAppsDatastoreItemRequestDataAttributes { + /** + * The unique identifier of the item being updated. + */ + "id"?: string; + /** + * Changes to apply to a datastore item using set operations. + */ + "itemChanges": UpdateAppsDatastoreItemRequestDataAttributesItemChanges; + /** + * The primary key that identifies the item to update. Cannot exceed 256 characters. + */ + "itemKey": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + }, + itemChanges: { + baseName: "item_changes", + type: "UpdateAppsDatastoreItemRequestDataAttributesItemChanges", + required: true, + }, + itemKey: { + baseName: "item_key", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateAppsDatastoreItemRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataAttributesItemChanges.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataAttributesItemChanges.ts new file mode 100644 index 000000000000..bb40063ff937 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataAttributesItemChanges.ts @@ -0,0 +1,52 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Changes to apply to a datastore item using set operations. + */ +export class UpdateAppsDatastoreItemRequestDataAttributesItemChanges { + /** + * Set operation that contains key-value pairs to set on the datastore item. + */ + "opsSet"?: { [key: string]: any }; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + opsSet: { + baseName: "ops_set", + type: "{ [key: string]: any; }", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateAppsDatastoreItemRequestDataAttributesItemChanges.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataType.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataType.ts new file mode 100644 index 000000000000..92dae9c77790 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreItemRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The resource type for datastore items. + */ + +export type UpdateAppsDatastoreItemRequestDataType = + | typeof ITEMS + | UnparsedObject; +export const ITEMS = "items"; diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequest.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequest.ts new file mode 100644 index 000000000000..8219219137a3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequest.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { UpdateAppsDatastoreRequestData } from "./UpdateAppsDatastoreRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request to update a datastore's configuration such as its name or description. + */ +export class UpdateAppsDatastoreRequest { + /** + * Data wrapper containing the datastore identifier and the attributes to update. + */ + "data"?: UpdateAppsDatastoreRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "UpdateAppsDatastoreRequestData", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateAppsDatastoreRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequestData.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequestData.ts new file mode 100644 index 000000000000..017f07763747 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequestData.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatastoreDataType } from "./DatastoreDataType"; +import { UpdateAppsDatastoreRequestDataAttributes } from "./UpdateAppsDatastoreRequestDataAttributes"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data wrapper containing the datastore identifier and the attributes to update. + */ +export class UpdateAppsDatastoreRequestData { + /** + * Attributes that can be updated on a datastore. + */ + "attributes"?: UpdateAppsDatastoreRequestDataAttributes; + /** + * The unique identifier of the datastore to update. + */ + "id"?: string; + /** + * The resource type for datastores. + */ + "type": DatastoreDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "UpdateAppsDatastoreRequestDataAttributes", + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "DatastoreDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateAppsDatastoreRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequestDataAttributes.ts new file mode 100644 index 000000000000..4638e567cca0 --- /dev/null +++ b/packages/datadog-api-client-v2/models/UpdateAppsDatastoreRequestDataAttributes.ts @@ -0,0 +1,60 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Attributes that can be updated on a datastore. + */ +export class UpdateAppsDatastoreRequestDataAttributes { + /** + * A human-readable description about the datastore. + */ + "description"?: string; + /** + * The display name of the datastore. + */ + "name"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + description: { + baseName: "description", + type: "string", + }, + name: { + baseName: "name", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return UpdateAppsDatastoreRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ZoomConfigurationReference.ts b/packages/datadog-api-client-v2/models/ZoomConfigurationReference.ts new file mode 100644 index 000000000000..b650a7d1ab08 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ZoomConfigurationReference.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ZoomConfigurationReferenceData } from "./ZoomConfigurationReferenceData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A reference to a Zoom configuration resource. + */ +export class ZoomConfigurationReference { + /** + * The Zoom configuration relationship data object. + */ + "data": ZoomConfigurationReferenceData | null; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "ZoomConfigurationReferenceData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ZoomConfigurationReference.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ZoomConfigurationReferenceData.ts b/packages/datadog-api-client-v2/models/ZoomConfigurationReferenceData.ts new file mode 100644 index 000000000000..68b15dc24804 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ZoomConfigurationReferenceData.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Zoom configuration relationship data object. + */ +export class ZoomConfigurationReferenceData { + /** + * The unique identifier of the Zoom configuration. + */ + "id": string; + /** + * The type of the Zoom configuration. + */ + "type": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ZoomConfigurationReferenceData.attributeTypeMap; + } + + public constructor() {} +}