diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 22a9b9f7f4db..048ae07fd431 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -22,6 +22,10 @@ updates: typespec-client-generator-cli: patterns: - "@azure-tools/typespec-client-generator-cli" + # Ships separately from other typespec packages + openapi-to-typespec: + patterns: + - "@autorest/openapi-to-typespec" typespec: patterns: - "*typespec*" diff --git a/.github/package-lock.json b/.github/package-lock.json deleted file mode 100644 index 9bf44423ccfa..000000000000 --- a/.github/package-lock.json +++ /dev/null @@ -1,475 +0,0 @@ -{ - "name": "scripts", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "devDependencies": { - "@octokit/webhooks-types": "^7.5.1", - "@types/github-script": "github:actions/github-script", - "@types/node": "^20.0.0", - "prettier": "^3.3.3" - } - }, - "node_modules/@actions/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", - "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@actions/exec": "^1.1.1", - "@actions/http-client": "^2.0.1" - } - }, - "node_modules/@actions/exec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", - "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@actions/io": "^1.0.1" - } - }, - "node_modules/@actions/github": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", - "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@actions/http-client": "^2.2.0", - "@octokit/core": "^5.0.1", - "@octokit/plugin-paginate-rest": "^9.0.0", - "@octokit/plugin-rest-endpoint-methods": "^10.0.0" - } - }, - "node_modules/@actions/glob": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.4.0.tgz", - "integrity": "sha512-+eKIGFhsFa4EBwaf/GMyzCdWrXWymGXfFmZU3FHQvYS8mPcHtTtZONbkcqqUMzw9mJ/pImEBFET1JNifhqGsAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@actions/core": "^1.9.1", - "minimatch": "^3.0.4" - } - }, - "node_modules/@actions/http-client": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", - "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tunnel": "^0.0.6", - "undici": "^5.25.4" - } - }, - "node_modules/@actions/io": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", - "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", - "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.3.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/endpoint": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", - "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/graphql": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", - "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/request": "^8.3.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", - "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^12.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, - "node_modules/@octokit/plugin-request-log": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", - "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", - "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^12.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, - "node_modules/@octokit/plugin-retry": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz", - "integrity": "sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "bottleneck": "^2.15.3" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": ">=5" - } - }, - "node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, - "node_modules/@octokit/request": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", - "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^9.0.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.1.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/types": { - "version": "13.6.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz", - "integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^22.2.0" - } - }, - "node_modules/@octokit/webhooks-types": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-7.6.1.tgz", - "integrity": "sha512-S8u2cJzklBC0FgTwWVLaM8tMrDuDMVE4xiTK4EYXM9GntyvrdbSoxqDQa+Fh57CCNApyIpyeqPhhFEmHPfrXgw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/github-script": { - "name": "github-script", - "version": "7.0.1", - "resolved": "git+ssh://git@github.com/actions/github-script.git#660ec11d825b714d112a6bb9727086bc2cc500b2", - "dev": true, - "license": "MIT", - "dependencies": { - "@actions/core": "^1.10.1", - "@actions/exec": "^1.1.1", - "@actions/github": "^6.0.0", - "@actions/glob": "^0.4.0", - "@actions/io": "^1.1.3", - "@octokit/core": "^5.0.1", - "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-retry": "^6.0.1", - "@types/node": "^20.9.0" - }, - "engines": { - "node": ">=20.0.0 <21.0.0" - } - }, - "node_modules/@types/node": { - "version": "20.17.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.3.tgz", - "integrity": "sha512-tSQrmKKatLDGnG92h40GD7FzUt0MjahaHwOME4VAFeeA/Xopayq5qLyQRy7Jg/pjgKIFBXuKcGhJo+UdYG55jQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bottleneck": { - "version": "2.19.5", - "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", - "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, - "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - } - } -} diff --git a/.github/workflows/SDK-Suppressions-Label.yaml b/.github/workflows/SDK-Suppressions-Label.yaml index 2983c88c04c0..47d53d2b05fe 100644 --- a/.github/workflows/SDK-Suppressions-Label.yaml +++ b/.github/workflows/SDK-Suppressions-Label.yaml @@ -6,11 +6,11 @@ on: - main - RPSaaSMaster - release* - + jobs: process-sdk-suppressions-labels: name: Sdk Suppressions - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: contents: read steps: @@ -56,7 +56,7 @@ jobs: GITHUB_PULL_REQUEST_LABELS: ${{ steps.fetch-pullRequest-context.outputs.prLabels }} run: | node eng/tools/sdk-suppressions/cmd/sdk-suppressions-label.js HEAD^ HEAD "$GITHUB_PULL_REQUEST_CHANGE_FILES" "$GITHUB_PULL_REQUEST_LABELS" - + OUTPUT=$(cat $OUTPUT_FILE) echo "Script output labels: $OUTPUT" @@ -74,7 +74,7 @@ jobs: done # No Action or Add/Remove label ​​according to step run-suppressions-script output - # e.g. + # e.g. # If the output of the step does not include the BreakingChange-Go-Sdk-Suppression, no action will be taken. # If the step's output is "BreakingChange-Go-Sdk-Suppression='true'", the label "BreakingChange-Go-Sdk-Suppression" will be applied to the PR. # If the step's output is "BreakingChange-Go-Sdk-Suppression='false'", the label "BreakingChange-Go-Sdk-Suppression" will be removed from the PR. @@ -84,21 +84,21 @@ jobs: with: name: "BreakingChange-Go-Sdk-Suppression" value: "${{ steps.run-suppressions-script.outputs.BreakingChange-Go-Sdk-Suppression == 'true' }}" - + - uses: ./.github/actions/add-label-artifact name: Upload artifact with results java if: ${{ steps.run-suppressions-script.outputs.BreakingChange-Java-Sdk-Suppression }} with: name: "BreakingChange-Java-Sdk-Suppression" value: "${{ steps.run-suppressions-script.outputs.BreakingChange-Java-Sdk-Suppression == 'true' }}" - + - uses: ./.github/actions/add-label-artifact name: Upload artifact with results js if: ${{ steps.run-suppressions-script.outputs.BreakingChange-JavaScript-Sdk-Suppression }} with: name: "BreakingChange-JavaScript-Sdk-Suppression" value: "${{ steps.run-suppressions-script.outputs.BreakingChange-JavaScript-Sdk-Suppression == 'true' }}" - + - uses: ./.github/actions/add-label-artifact name: Upload artifact with results python if: ${{ steps.run-suppressions-script.outputs.BreakingChange-Python-Sdk-Suppression }} diff --git a/.github/workflows/_reusable-eng-tools-test.yaml b/.github/workflows/_reusable-eng-tools-test.yaml index 45344c1b00f3..56758dd53fb1 100644 --- a/.github/workflows/_reusable-eng-tools-test.yaml +++ b/.github/workflows/_reusable-eng-tools-test.yaml @@ -24,15 +24,15 @@ jobs: test: strategy: matrix: - os: [ubuntu-latest, windows-latest] + os: [ubuntu, windows] node-version: [18, 22] exclude: - - os: ubuntu-latest + - os: ubuntu node-version: 22 - - os: windows-latest + - os: windows node-version: 18 - runs-on: ${{ matrix.os }} + runs-on: ${{ fromJSON('{"ubuntu":"ubuntu-24.04", "windows":"windows-2022"}')[matrix.os] }} steps: - if: runner.os == 'Windows' @@ -63,7 +63,7 @@ jobs: - run: npm run prettier if: inputs.prettier == true shell: pwsh - working-directory: ./eng/tools/${{ inputs.package }} + working-directory: ./eng/tools/${{ inputs.package }} - run: npm run test:ci shell: pwsh diff --git a/.github/workflows/protected-files.yaml b/.github/workflows/protected-files.yaml index 71671523be1b..291d123b1694 100644 --- a/.github/workflows/protected-files.yaml +++ b/.github/workflows/protected-files.yaml @@ -10,7 +10,7 @@ jobs: protected-files: name: Protected Files - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: # Since check is required, the job must pass instead of being skipped @@ -29,7 +29,7 @@ jobs: run: | . eng/scripts/ChangedFiles-Functions.ps1 - $protectedFiles = @("package.json", "package-lock.json", ".github/*", "eng/*") + $protectedFiles = @("cspell.json", "cspell.yaml", "package.json", "package-lock.json", ".github/*", "eng/*") $changedFiles = @(Get-ChangedFiles -baseCommitish HEAD^ -targetCommitish HEAD -diffFilter "") $matchedFiles = @($changedFiles | Where-Object { $changedFile = $_; $protectedFiles | Where-Object { $changedFile -like $_ } }) diff --git a/.github/workflows/spelling-all.yaml b/.github/workflows/spelling-all.yaml index 8f461a4ba9b6..1e5265e6a08f 100644 --- a/.github/workflows/spelling-all.yaml +++ b/.github/workflows/spelling-all.yaml @@ -14,7 +14,7 @@ on: jobs: spellcheck: name: SpellCheck - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Checkout repository diff --git a/.github/workflows/spelling.yaml b/.github/workflows/spelling.yaml index f1e0e6af5faf..d13ff43ee2f5 100644 --- a/.github/workflows/spelling.yaml +++ b/.github/workflows/spelling.yaml @@ -5,7 +5,7 @@ on: pull_request jobs: spellcheck: name: SpellCheck - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Checkout repository diff --git a/.github/workflows/typespec-requirement.yaml b/.github/workflows/typespec-requirement.yaml index 47909f268cfd..37a133a79e04 100644 --- a/.github/workflows/typespec-requirement.yaml +++ b/.github/workflows/typespec-requirement.yaml @@ -6,28 +6,27 @@ jobs: TypeSpec-Requirement: name: TypeSpec Requirement - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 - with: - # Required since "HEAD^" is passed to TypeSpec-Requirement.ps1 - fetch-depth: 2 - - - name: Setup Node and run `npm ci` - uses: ./.github/actions/setup-node-npm-ci - - - run: | - eng/scripts/TypeSpec-Requirement.ps1 ` - -BaseCommitish HEAD^ ` - -TargetCommitish HEAD ` - id: tsr-ps1 - shell: pwsh - - # Always add label artifact, even if "brownfield=false", to ensure label is removed when necessary - - uses: ./.github/actions/add-label-artifact - name: Upload artifact with results - with: - name: "brownfield" - value: "${{ steps.tsr-ps1.outputs.brownfield == 'true' }}" - + - uses: actions/checkout@v4 + with: + # Required since "HEAD^" is passed to TypeSpec-Requirement.ps1 + fetch-depth: 2 + + - name: Setup Node and run `npm ci` + uses: ./.github/actions/setup-node-npm-ci + + - run: | + eng/scripts/TypeSpec-Requirement.ps1 ` + -BaseCommitish HEAD^ ` + -TargetCommitish HEAD ` + id: tsr-ps1 + shell: pwsh + + # Always add label artifact, even if "brownfield=false", to ensure label is removed when necessary + - uses: ./.github/actions/add-label-artifact + name: Upload artifact with results + with: + name: "brownfield" + value: "${{ steps.tsr-ps1.outputs.brownfield == 'true' }}" diff --git a/.github/workflows/typespec-validation-all.yaml b/.github/workflows/typespec-validation-all.yaml index c342e1bbd004..f2fff0e2a180 100644 --- a/.github/workflows/typespec-validation-all.yaml +++ b/.github/workflows/typespec-validation-all.yaml @@ -28,7 +28,7 @@ on: schedule: # Run 4x/day - - cron: '0 0,6,12,18 * * *' + - cron: "0 0,6,12,18 * * *" workflow_dispatch: @@ -53,7 +53,7 @@ jobs: # total-shards must be an accurate count of the number of shards total-shards: [3] - runs-on: ${{ matrix.os }}-latest + runs-on: ${{ fromJSON('{"ubuntu":"ubuntu-24.04", "windows":"windows-2022"}')[matrix.os] }} steps: - name: Enable git long paths @@ -67,7 +67,7 @@ jobs: - name: Setup Node and run `npm ci` uses: ./.github/actions/setup-node-npm-ci - + - name: Validate All Specs run: | # Keep processing when errors are written. Nonzero exit will mark the diff --git a/.github/workflows/typespec-validation.yaml b/.github/workflows/typespec-validation.yaml index 1029b85ae247..53b804d4a00d 100644 --- a/.github/workflows/typespec-validation.yaml +++ b/.github/workflows/typespec-validation.yaml @@ -5,21 +5,21 @@ on: pull_request jobs: typespec-validation: name: TypeSpec Validation - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 2 + - uses: actions/checkout@v4 + with: + fetch-depth: 2 - - name: Setup Node and run `npm ci` - uses: ./.github/actions/setup-node-npm-ci + - name: Setup Node and run `npm ci` + uses: ./.github/actions/setup-node-npm-ci - - name: Validate Impacted Specs - run: | - # Keep processing when errors are written. Nonzero exit will mark the - # step as failed. - $ErrorActionPreference = 'Continue' + - name: Validate Impacted Specs + run: | + # Keep processing when errors are written. Nonzero exit will mark the + # step as failed. + $ErrorActionPreference = 'Continue' - ./eng/scripts/TypeSpec-Validation.ps1 -GitClean -Verbose - shell: pwsh + ./eng/scripts/TypeSpec-Validation.ps1 -GitClean -Verbose + shell: pwsh diff --git a/.github/workflows/update-labels.yaml b/.github/workflows/update-labels.yaml index 5fd9c8d151d7..ff09b5284a5f 100644 --- a/.github/workflows/update-labels.yaml +++ b/.github/workflows/update-labels.yaml @@ -37,18 +37,18 @@ jobs: contents: read pull-requests: write - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 - with: - sparse-checkout: | - .github + - uses: actions/checkout@v4 + with: + sparse-checkout: | + .github - - name: Update Labels - uses: ./.github/actions/update-labels - with: - owner: ${{ inputs.owner }} - repo: ${{ inputs.repo }} - issue_number: ${{ inputs.issue_number }} - run_id: ${{ inputs.run_id }} + - name: Update Labels + uses: ./.github/actions/update-labels + with: + owner: ${{ inputs.owner }} + repo: ${{ inputs.repo }} + issue_number: ${{ inputs.issue_number }} + run_id: ${{ inputs.run_id }} diff --git a/.gitignore b/.gitignore index b07c3b3ae14e..8df07769a444 100644 --- a/.gitignore +++ b/.gitignore @@ -132,10 +132,9 @@ eng/tools/**/dist # TypeScript cache *.tsbuildinfo -# No package-lock.json files should be commited except the top-level and .github +# No package-lock.json files should be commited except the top-level. **/package-lock.json !/package-lock.json -!/.github/package-lock.json # No Armstrong outputs should be commited except the tf files. **/terraform/**/*.json diff --git a/eng/common/scripts/Generate-PR-Diff.ps1 b/eng/common/scripts/Generate-PR-Diff.ps1 index e010e176399d..4e34032c47c8 100644 --- a/eng/common/scripts/Generate-PR-Diff.ps1 +++ b/eng/common/scripts/Generate-PR-Diff.ps1 @@ -48,6 +48,7 @@ $changedFiles = @() $changedServices = @() $changedFiles = Get-ChangedFiles -DiffPath $TargetPath +$deletedFiles = Get-ChangedFiles -DiffPath $TargetPath -DiffFilterType "D" if ($changedFiles) { $changedServices = Get-ChangedServices -ChangedFiles $changedFiles @@ -63,6 +64,7 @@ $result = [PSCustomObject]@{ "ChangedFiles" = $changedFiles "ChangedServices" = $changedServices "ExcludePaths" = $ExcludePaths + "DeletedFiles" = $deletedFiles "PRNumber" = if ($env:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER) { $env:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER } else { "-1" } } diff --git a/eng/common/scripts/Package-Properties.ps1 b/eng/common/scripts/Package-Properties.ps1 index bc7b5738e2d3..a23ee76bbda6 100644 --- a/eng/common/scripts/Package-Properties.ps1 +++ b/eng/common/scripts/Package-Properties.ps1 @@ -162,6 +162,14 @@ function Get-PrPkgProperties([string]$InputDiffJson) { $allPackageProperties = Get-AllPkgProperties $diff = Get-Content $InputDiffJson | ConvertFrom-Json $targetedFiles = $diff.ChangedFiles + + if ($diff.DeletedFiles) { + if (-not $targetedFiles) { + $targetedFiles = @() + } + $targetedFiles += $diff.DeletedFiles + } + # The exclude paths and the targeted files paths aren't full OS paths, they're # GitHub paths meaning they're relative to the repo root and slashes are forward # slashes "/". The ExcludePaths need to have a trailing slash added in order diff --git a/package-lock.json b/package-lock.json index 4a47c7eae9e1..f1ffe4f00aa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,13 +6,14 @@ "": { "name": "azure-rest-api-specs", "devDependencies": { + "@autorest/openapi-to-typespec": "0.10.8", "@azure-tools/typespec-apiview": "0.5.0", "@azure-tools/typespec-autorest": "0.50.0", "@azure-tools/typespec-azure-core": "0.50.0", "@azure-tools/typespec-azure-portal-core": "0.50.0", "@azure-tools/typespec-azure-resource-manager": "0.50.0", "@azure-tools/typespec-azure-rulesets": "0.50.0", - "@azure-tools/typespec-client-generator-cli": "0.15.1", + "@azure-tools/typespec-client-generator-cli": "0.15.3", "@azure-tools/typespec-client-generator-core": "0.50.0", "@azure-tools/typespec-liftr-base": "0.7.0", "@azure/avocado": "^0.9.1", @@ -58,9 +59,9 @@ } }, "eng/tools/node_modules/@vitest/coverage-v8": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.2.tgz", - "integrity": "sha512-U+hZYb0FtgNDb6B3E9piAHzXXIuxuBw2cd6Lvepc9sYYY4KjgiwCBmo3Sird9ZRu3ggLpLBTfw1ZRr77ipiSfw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.3.tgz", + "integrity": "sha512-uVbJ/xhImdNtzPnLyxCZJMTeTIYdgcC2nWtBBBpR1H6z0w8m7D+9/zrDIx2nNxgMg9r+X8+RY2qVpUDeW2b3nw==", "dev": true, "license": "MIT", "dependencies": { @@ -81,8 +82,8 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@vitest/browser": "3.0.2", - "vitest": "3.0.2" + "@vitest/browser": "3.0.3", + "vitest": "3.0.3" }, "peerDependenciesMeta": { "@vitest/browser": { @@ -124,9 +125,9 @@ "license": "MIT" }, "eng/tools/node_modules/vite": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz", - "integrity": "sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", + "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", "dev": true, "license": "MIT", "dependencies": { @@ -196,19 +197,19 @@ } }, "eng/tools/node_modules/vitest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.2.tgz", - "integrity": "sha512-5bzaHakQ0hmVVKLhfh/jXf6oETDBtgPo8tQCHYB+wftNgFJ+Hah67IsWc8ivx4vFL025Ow8UiuTf4W57z4izvQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.3.tgz", + "integrity": "sha512-dWdwTFUW9rcnL0LyF2F+IfvNQWB0w9DERySCk8VMG75F8k25C7LsZoh6XfCjPvcR8Nb+Lqi9JKr6vnzH7HSrpQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.2", - "@vitest/mocker": "3.0.2", - "@vitest/pretty-format": "^3.0.2", - "@vitest/runner": "3.0.2", - "@vitest/snapshot": "3.0.2", - "@vitest/spy": "3.0.2", - "@vitest/utils": "3.0.2", + "@vitest/expect": "3.0.3", + "@vitest/mocker": "3.0.3", + "@vitest/pretty-format": "^3.0.3", + "@vitest/runner": "3.0.3", + "@vitest/snapshot": "3.0.3", + "@vitest/spy": "3.0.3", + "@vitest/utils": "3.0.3", "chai": "^5.1.2", "debug": "^4.4.0", "expect-type": "^1.1.0", @@ -220,7 +221,7 @@ "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.2", + "vite-node": "3.0.3", "why-is-node-running": "^2.3.0" }, "bin": { @@ -235,8 +236,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.2", - "@vitest/ui": "3.0.2", + "@vitest/browser": "3.0.3", + "@vitest/ui": "3.0.3", "happy-dom": "*", "jsdom": "*" }, @@ -262,13 +263,13 @@ } }, "eng/tools/node_modules/vitest/node_modules/@vitest/mocker": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.2.tgz", - "integrity": "sha512-Hr09FoBf0jlwwSyzIF4Xw31OntpO3XtZjkccpcBf8FeVW3tpiyKlkeUzxS/txzHqpUCNIX157NaTySxedyZLvA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.3.tgz", + "integrity": "sha512-XT2XBc4AN9UdaxJAeIlcSZ0ILi/GzmG5G8XSly4gaiqIvPV3HMTSIDZWJVX6QRJ0PX1m+W8Cy0K9ByXNb/bPIA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.2", + "@vitest/spy": "3.0.3", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -509,288 +510,31 @@ } }, "node_modules/@autorest/openapi-to-typespec": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/@autorest/openapi-to-typespec/-/openapi-to-typespec-0.10.6.tgz", - "integrity": "sha512-XyggoIBpYb+abgKCB/8O6QEF6nutKhFmA52rpOZ6Om3gz6FtbBas3WVRn/csFsUeZVOvJ1CUTOxTzY1v36okuw==", + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/@autorest/openapi-to-typespec/-/openapi-to-typespec-0.10.8.tgz", + "integrity": "sha512-/mn1DG7apiotcO2Bjiq68m4YHxZGyJXEWPBKgG5ODifRRk3QvOiEMQ7YBq4bntWVMT7tFXAUoiU4S/wgZmn3kw==", "dev": true, "license": "MIT", "dependencies": { "@autorest/codemodel": "~4.20.0", "@autorest/extension-base": "~3.6.0", "@azure-tools/codegen": "~2.10.0", - "@azure-tools/typespec-autorest": "^0.49.0", - "@azure-tools/typespec-azure-core": "^0.49.0", - "@azure-tools/typespec-azure-resource-manager": "^0.49.0", - "@typespec/compiler": "^0.63.0", - "@typespec/http": "^0.63.0", - "@typespec/openapi": "^0.63.0", - "@typespec/openapi3": "^0.63.0", - "@typespec/prettier-plugin-typespec": "^0.63.0", - "@typespec/rest": "^0.63.0", - "@typespec/versioning": "^0.63.0", + "@azure-tools/typespec-autorest": "^0.50.0", + "@azure-tools/typespec-azure-core": "^0.50.0", + "@azure-tools/typespec-azure-resource-manager": "^0.50.0", + "@typespec/compiler": "^0.64.0", + "@typespec/http": "^0.64.0", + "@typespec/openapi": "^0.64.0", + "@typespec/openapi3": "^0.64.0", + "@typespec/prettier-plugin-typespec": "^0.64.0", + "@typespec/rest": "^0.64.0", + "@typespec/versioning": "^0.64.0", "change-case-all": "~2.1.0", "lodash": "~4.17.20", "pluralize": "^8.0.0", "prettier": "~3.1.0" } }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-autorest": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.49.0.tgz", - "integrity": "sha512-stwfhmEc3yPeXbM8yfLKVCtaX5mR0H+sL74Xy/eMdEWoJgiE3aJxkgRWESu/7/vo99vugzo/HRwIEO5ELnyfRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.49.0", - "@azure-tools/typespec-azure-resource-manager": "~0.49.0", - "@azure-tools/typespec-client-generator-core": "~0.49.0", - "@typespec/compiler": "~0.63.0", - "@typespec/http": "~0.63.0", - "@typespec/openapi": "~0.63.0", - "@typespec/rest": "~0.63.0", - "@typespec/versioning": "~0.63.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-azure-core": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.49.0.tgz", - "integrity": "sha512-hNKy+aePmPkB1brHQkO1tsJXqXPzt/9ehy10dv0rKdp9xq5dE3yBctHF5Aj3Nr8kr8GRG5z4KYpYPbV5guoT5w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@typespec/compiler": "~0.63.0", - "@typespec/http": "~0.63.0", - "@typespec/rest": "~0.63.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-azure-resource-manager": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.49.0.tgz", - "integrity": "sha512-1xWuG8OBJDykYM6BFD2owV9WH+oC32zt7XteXA0T4nH2T+D+sEFKppkCOMtIjX7ENBAlecmbdwgSNTZYQf4vaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "change-case": "~5.4.4", - "pluralize": "^8.0.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.49.0", - "@typespec/compiler": "~0.63.0", - "@typespec/http": "~0.63.0", - "@typespec/openapi": "~0.63.0", - "@typespec/rest": "~0.63.0", - "@typespec/versioning": "~0.63.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.49.1", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.49.1.tgz", - "integrity": "sha512-uAzlkYfL73lp1BnP8HMcIcS8iud7UnQzw6bf6FCUkKFO1B6wDwcvut3HfTtUj1kvw0XkiVJ0NkcxT0Dz0cylpQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "change-case": "~5.4.4", - "pluralize": "^8.0.0", - "yaml": "~2.5.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.49.0", - "@typespec/compiler": "~0.63.0", - "@typespec/http": "~0.63.0", - "@typespec/openapi": "~0.63.0", - "@typespec/rest": "~0.63.0", - "@typespec/versioning": "~0.63.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/compiler": { - "version": "0.63.0", - "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.63.0.tgz", - "integrity": "sha512-cC3YniwbFghn1fASX3r1IgNjMrwaY4gmzznkHT4f/NxE+HK4XoXWn4EG7287QgVMCaHUykzJCIfW9k7kIleW5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "~7.25.7", - "ajv": "~8.17.1", - "change-case": "~5.4.4", - "globby": "~14.0.2", - "mustache": "~4.2.0", - "picocolors": "~1.1.1", - "prettier": "~3.3.3", - "prompts": "~2.4.2", - "semver": "^7.6.3", - "temporal-polyfill": "^0.2.5", - "vscode-languageserver": "~9.0.1", - "vscode-languageserver-textdocument": "~1.0.12", - "yaml": "~2.5.1", - "yargs": "~17.7.2" - }, - "bin": { - "tsp": "cmd/tsp.js", - "tsp-server": "cmd/tsp-server.js" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/compiler/node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/http": { - "version": "0.63.0", - "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.63.0.tgz", - "integrity": "sha512-SYVbBmLPAPdWZfdMs0QlbpTnFREDnkINu2FR+0kRX12qzbRgpRbLsdhg59qx4TfKoh4IAPgSV+Fq84w7BWGsyQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@typespec/compiler": "~0.63.0", - "@typespec/streams": "~0.63.0" - }, - "peerDependenciesMeta": { - "@typespec/streams": { - "optional": true - } - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/openapi": { - "version": "0.63.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.63.0.tgz", - "integrity": "sha512-/KzR60mj3P/LnNWd/QfH0KTN/If4+mjrsWNSB7/uab6c8Qu/lNsGlZDkmWq4EFiwBR7VmpdFz9FP7d/m3O+tGw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@typespec/compiler": "~0.63.0", - "@typespec/http": "~0.63.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/openapi3": { - "version": "0.63.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.63.0.tgz", - "integrity": "sha512-HC8VeakPznXNn7euAyAxUFNsOcfSzM8tQwYPNUMWs0qGJqGgb6vjf5rShQmfgrCe5Y6zcMM2PPBuxaFV3xXYLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@readme/openapi-parser": "~2.6.0", - "openapi-types": "~12.1.3", - "yaml": "~2.5.1" - }, - "bin": { - "tsp-openapi3": "cmd/tsp-openapi3.js" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@typespec/compiler": "~0.63.0", - "@typespec/http": "~0.63.0", - "@typespec/openapi": "~0.63.0", - "@typespec/versioning": "~0.63.0" - }, - "peerDependenciesMeta": { - "@typespec/xml": { - "optional": true - } - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/prettier-plugin-typespec": { - "version": "0.63.0", - "resolved": "https://registry.npmjs.org/@typespec/prettier-plugin-typespec/-/prettier-plugin-typespec-0.63.0.tgz", - "integrity": "sha512-ZVnTk1B/8EzqDjHbhkicP8lH5Zj+R7Ft0wv4N34Au3SzxNFCNMzMKuA+ie3GsbQYrYi3T7gBiotW+Xt0lPKSOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier": "~3.3.3" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/prettier-plugin-typespec/node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/rest": { - "version": "0.63.1", - "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.63.1.tgz", - "integrity": "sha512-RQbTM+HGjCaNIWC0v72m5ulnuvLjuRigb7pH4QeRCvFtGPHos+WBv5SImkGrbYx3353OGR8dIi7lWe7aNwiDcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@typespec/compiler": "~0.63.0", - "@typespec/http": "~0.63.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/streams": { - "version": "0.63.0", - "resolved": "https://registry.npmjs.org/@typespec/streams/-/streams-0.63.0.tgz", - "integrity": "sha512-4vEd5jdpdaY2i9CDHwSRuiUNCJr+M/gUCwNsaGWgsJdrfR/lx8WX3Y27KcRDNVcRQF7nsOR4i28r4siWqrTM4w==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@typespec/compiler": "~0.63.0" - } - }, - "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/versioning": { - "version": "0.63.0", - "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.63.0.tgz", - "integrity": "sha512-BPvmPL+g20yEmSA8XRfbIHdToNOjssq4QfwOU6D7kKLLXnZHFb1hmuwW0tf0Wa/lYgoaUC60ONAeoXgNT1ZOIQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@typespec/compiler": "~0.63.0" - } - }, "node_modules/@autorest/openapi-to-typespec/node_modules/prettier": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", @@ -807,19 +551,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@autorest/openapi-to-typespec/node_modules/yaml": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@autorest/schemas": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@autorest/schemas/-/schemas-1.3.5.tgz", @@ -1074,14 +805,14 @@ } }, "node_modules/@azure-tools/typespec-client-generator-cli": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-cli/-/typespec-client-generator-cli-0.15.1.tgz", - "integrity": "sha512-JoxYjI/LNZlWB7fAsfxBDo/BEpiiDHD/eKPvi8ex+9G+MVQLC4l9Ua0hp69EU/SS7FPcN9xDimuvyeNZjdR7lw==", + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-cli/-/typespec-client-generator-cli-0.15.3.tgz", + "integrity": "sha512-sR7ZlsYL12TTRJS+O672NKQ9WEjP91nBl43wSCCuXVckf2UGSLRzR5AlN/fT8YjV6HlVcSEEDRjvD7z901Db7g==", "dev": true, "license": "MIT", "dependencies": { "@autorest/core": "^3.10.2", - "@autorest/openapi-to-typespec": "0.10.6", + "@autorest/openapi-to-typespec": ">=0.10.6 <1.0.0", "@azure-tools/rest-api-diff": ">=0.1.0 <1.0.0", "@azure-tools/typespec-autorest": ">=0.44.0 <1.0.0", "@azure/core-rest-pipeline": "^1.12.0", @@ -2868,9 +2599,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz", - "integrity": "sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz", + "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==", "cpu": [ "arm" ], @@ -2882,9 +2613,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.30.1.tgz", - "integrity": "sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz", + "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==", "cpu": [ "arm64" ], @@ -2896,9 +2627,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.30.1.tgz", - "integrity": "sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz", + "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==", "cpu": [ "arm64" ], @@ -2910,9 +2641,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.30.1.tgz", - "integrity": "sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz", + "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==", "cpu": [ "x64" ], @@ -2924,9 +2655,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.30.1.tgz", - "integrity": "sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz", + "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==", "cpu": [ "arm64" ], @@ -2938,9 +2669,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.30.1.tgz", - "integrity": "sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz", + "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==", "cpu": [ "x64" ], @@ -2952,9 +2683,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.30.1.tgz", - "integrity": "sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz", + "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==", "cpu": [ "arm" ], @@ -2966,9 +2697,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.30.1.tgz", - "integrity": "sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz", + "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==", "cpu": [ "arm" ], @@ -2980,9 +2711,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.30.1.tgz", - "integrity": "sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz", + "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==", "cpu": [ "arm64" ], @@ -2994,9 +2725,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.30.1.tgz", - "integrity": "sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz", + "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==", "cpu": [ "arm64" ], @@ -3008,9 +2739,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.30.1.tgz", - "integrity": "sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz", + "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==", "cpu": [ "loong64" ], @@ -3022,9 +2753,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.30.1.tgz", - "integrity": "sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz", + "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==", "cpu": [ "ppc64" ], @@ -3036,9 +2767,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.30.1.tgz", - "integrity": "sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz", + "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==", "cpu": [ "riscv64" ], @@ -3050,9 +2781,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.30.1.tgz", - "integrity": "sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz", + "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==", "cpu": [ "s390x" ], @@ -3064,9 +2795,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.30.1.tgz", - "integrity": "sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz", + "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==", "cpu": [ "x64" ], @@ -3078,9 +2809,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.30.1.tgz", - "integrity": "sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz", + "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==", "cpu": [ "x64" ], @@ -3092,9 +2823,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.30.1.tgz", - "integrity": "sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz", + "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==", "cpu": [ "arm64" ], @@ -3106,9 +2837,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.30.1.tgz", - "integrity": "sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz", + "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==", "cpu": [ "ia32" ], @@ -3120,9 +2851,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.1.tgz", - "integrity": "sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz", + "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==", "cpu": [ "x64" ], @@ -3530,17 +3261,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz", - "integrity": "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz", + "integrity": "sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.20.0", - "@typescript-eslint/type-utils": "8.20.0", - "@typescript-eslint/utils": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0", + "@typescript-eslint/scope-manager": "8.21.0", + "@typescript-eslint/type-utils": "8.21.0", + "@typescript-eslint/utils": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -3560,16 +3291,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz", - "integrity": "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.21.0.tgz", + "integrity": "sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.20.0", - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/typescript-estree": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0", + "@typescript-eslint/scope-manager": "8.21.0", + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/typescript-estree": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0", "debug": "^4.3.4" }, "engines": { @@ -3585,14 +3316,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz", - "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz", + "integrity": "sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0" + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3603,14 +3334,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz", - "integrity": "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz", + "integrity": "sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.20.0", - "@typescript-eslint/utils": "8.20.0", + "@typescript-eslint/typescript-estree": "8.21.0", + "@typescript-eslint/utils": "8.21.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.0" }, @@ -3627,9 +3358,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz", - "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.21.0.tgz", + "integrity": "sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==", "dev": true, "license": "MIT", "engines": { @@ -3641,14 +3372,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz", - "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.21.0.tgz", + "integrity": "sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/visitor-keys": "8.20.0", + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -3694,16 +3425,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz", - "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.21.0.tgz", + "integrity": "sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.20.0", - "@typescript-eslint/types": "8.20.0", - "@typescript-eslint/typescript-estree": "8.20.0" + "@typescript-eslint/scope-manager": "8.21.0", + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/typescript-estree": "8.21.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3718,13 +3449,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz", - "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.21.0.tgz", + "integrity": "sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/types": "8.21.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -3908,14 +3639,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.2.tgz", - "integrity": "sha512-dKSHLBcoZI+3pmP5hiZ7I5grNru2HRtEW8Z5Zp4IXog8QYcxhlox7JUPyIIFWfN53+3HW3KPLIl6nSzUGgKSuQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.3.tgz", + "integrity": "sha512-SbRCHU4qr91xguu+dH3RUdI5dC86zm8aZWydbp961aIR7G8OYNN6ZiayFuf9WAngRbFOfdrLHCGgXTj3GtoMRQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.2", - "@vitest/utils": "3.0.2", + "@vitest/spy": "3.0.3", + "@vitest/utils": "3.0.3", "chai": "^5.1.2", "tinyrainbow": "^2.0.0" }, @@ -3924,9 +3655,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.2.tgz", - "integrity": "sha512-yBohcBw/T/p0/JRgYD+IYcjCmuHzjC3WLAKsVE4/LwiubzZkE8N49/xIQ/KGQwDRA8PaviF8IRO8JMWMngdVVQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.3.tgz", + "integrity": "sha512-gCrM9F7STYdsDoNjGgYXKPq4SkSxwwIU5nkaQvdUxiQ0EcNlez+PdKOVIsUJvh9P9IeIFmjn4IIREWblOBpP2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -3937,13 +3668,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.2.tgz", - "integrity": "sha512-GHEsWoncrGxWuW8s405fVoDfSLk6RF2LCXp6XhevbtDjdDme1WV/eNmUueDfpY1IX3MJaCRelVCEXsT9cArfEg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.3.tgz", + "integrity": "sha512-Rgi2kOAk5ZxWZlwPguRJFOBmWs6uvvyAAR9k3MvjRvYrG7xYvKChZcmnnpJCS98311CBDMqsW9MzzRFsj2gX3g==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.2", + "@vitest/utils": "3.0.3", "pathe": "^2.0.1" }, "funding": { @@ -3951,13 +3682,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.2.tgz", - "integrity": "sha512-h9s67yD4+g+JoYG0zPCo/cLTabpDqzqNdzMawmNPzDStTiwxwkyYM1v5lWE8gmGv3SVJ2DcxA2NpQJZJv9ym3g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.3.tgz", + "integrity": "sha512-kNRcHlI4txBGztuJfPEJ68VezlPAXLRT1u5UCx219TU3kOG2DplNxhWLwDf2h6emwmTPogzLnGVwP6epDaJN6Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.2", + "@vitest/pretty-format": "3.0.3", "magic-string": "^0.30.17", "pathe": "^2.0.1" }, @@ -3966,9 +3697,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.2.tgz", - "integrity": "sha512-8mI2iUn+PJFMT44e3ISA1R+K6ALVs47W6eriDTfXe6lFqlflID05MB4+rIFhmDSLBj8iBsZkzBYlgSkinxLzSQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.3.tgz", + "integrity": "sha512-7/dgux8ZBbF7lEIKNnEqQlyRaER9nkAL9eTmdKJkDO3hS8p59ATGwKOCUDHcBLKr7h/oi/6hP+7djQk8049T2A==", "dev": true, "license": "MIT", "dependencies": { @@ -3979,13 +3710,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.2.tgz", - "integrity": "sha512-Qu01ZYZlgHvDP02JnMBRpX43nRaZtNpIzw3C1clDXmn8eakgX6iQVGzTQ/NjkIr64WD8ioqOjkaYRVvHQI5qiw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.3.tgz", + "integrity": "sha512-f+s8CvyzPtMFY1eZKkIHGhPsQgYo5qCm6O8KZoim9qm1/jT64qBgGpO5tHscNH6BzRHM+edLNOP+3vO8+8pE/A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.2", + "@vitest/pretty-format": "3.0.3", "loupe": "^3.1.2", "tinyrainbow": "^2.0.0" }, @@ -4396,9 +4127,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001692", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", - "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", "dev": true, "funding": [ { @@ -4936,9 +4667,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.83", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz", - "integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==", + "version": "1.5.84", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.84.tgz", + "integrity": "sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==", "dev": true, "license": "ISC" }, @@ -5586,9 +5317,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.5.tgz", - "integrity": "sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, "funding": [ { @@ -8642,9 +8373,9 @@ } }, "node_modules/rollup": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz", - "integrity": "sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz", + "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==", "dev": true, "license": "MIT", "dependencies": { @@ -8658,25 +8389,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.30.1", - "@rollup/rollup-android-arm64": "4.30.1", - "@rollup/rollup-darwin-arm64": "4.30.1", - "@rollup/rollup-darwin-x64": "4.30.1", - "@rollup/rollup-freebsd-arm64": "4.30.1", - "@rollup/rollup-freebsd-x64": "4.30.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.30.1", - "@rollup/rollup-linux-arm-musleabihf": "4.30.1", - "@rollup/rollup-linux-arm64-gnu": "4.30.1", - "@rollup/rollup-linux-arm64-musl": "4.30.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.30.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.30.1", - "@rollup/rollup-linux-riscv64-gnu": "4.30.1", - "@rollup/rollup-linux-s390x-gnu": "4.30.1", - "@rollup/rollup-linux-x64-gnu": "4.30.1", - "@rollup/rollup-linux-x64-musl": "4.30.1", - "@rollup/rollup-win32-arm64-msvc": "4.30.1", - "@rollup/rollup-win32-ia32-msvc": "4.30.1", - "@rollup/rollup-win32-x64-msvc": "4.30.1", + "@rollup/rollup-android-arm-eabi": "4.31.0", + "@rollup/rollup-android-arm64": "4.31.0", + "@rollup/rollup-darwin-arm64": "4.31.0", + "@rollup/rollup-darwin-x64": "4.31.0", + "@rollup/rollup-freebsd-arm64": "4.31.0", + "@rollup/rollup-freebsd-x64": "4.31.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.31.0", + "@rollup/rollup-linux-arm-musleabihf": "4.31.0", + "@rollup/rollup-linux-arm64-gnu": "4.31.0", + "@rollup/rollup-linux-arm64-musl": "4.31.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.31.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0", + "@rollup/rollup-linux-riscv64-gnu": "4.31.0", + "@rollup/rollup-linux-s390x-gnu": "4.31.0", + "@rollup/rollup-linux-x64-gnu": "4.31.0", + "@rollup/rollup-linux-x64-musl": "4.31.0", + "@rollup/rollup-win32-arm64-msvc": "4.31.0", + "@rollup/rollup-win32-ia32-msvc": "4.31.0", + "@rollup/rollup-win32-x64-msvc": "4.31.0", "fsevents": "~2.3.2" } }, @@ -9482,15 +9213,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.20.0.tgz", - "integrity": "sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.21.0.tgz", + "integrity": "sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.20.0", - "@typescript-eslint/parser": "8.20.0", - "@typescript-eslint/utils": "8.20.0" + "@typescript-eslint/eslint-plugin": "8.21.0", + "@typescript-eslint/parser": "8.21.0", + "@typescript-eslint/utils": "8.21.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9681,9 +9412,9 @@ } }, "node_modules/vite-node": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.2.tgz", - "integrity": "sha512-hsEQerBAHvVAbv40m3TFQe/lTEbOp7yDpyqMJqr2Tnd+W58+DEYOt+fluQgekOePcsNBmR77lpVAnIU2Xu4SvQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.3.tgz", + "integrity": "sha512-0sQcwhwAEw/UJGojbhOrnq3HtiZ3tC7BzpAa0lx3QaTX0S3YX70iGcik25UBdB96pmdwjyY2uyKNYruxCDmiEg==", "dev": true, "license": "MIT", "dependencies": { @@ -9725,9 +9456,9 @@ "peer": true }, "node_modules/vite-node/node_modules/vite": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz", - "integrity": "sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", + "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 8a042d2251e6..e44503e5efed 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,11 @@ "@azure-tools/typespec-azure-portal-core": "0.50.0", "@azure-tools/typespec-azure-resource-manager": "0.50.0", "@azure-tools/typespec-azure-rulesets": "0.50.0", - "@azure-tools/typespec-client-generator-cli": "0.15.1", + "@azure-tools/typespec-client-generator-cli": "0.15.3", "@azure-tools/typespec-client-generator-core": "0.50.0", "@azure-tools/typespec-liftr-base": "0.7.0", "@azure/avocado": "^0.9.1", + "@autorest/openapi-to-typespec": "0.10.8", "@typespec/compiler": "0.64.0", "@typespec/http": "0.64.0", "@typespec/openapi": "0.64.0", diff --git a/specification/computeschedule/ComputeSchedule.Management/client.tsp b/specification/computeschedule/ComputeSchedule.Management/client.tsp index a235c1db02fa..d35b22a9778a 100644 --- a/specification/computeschedule/ComputeSchedule.Management/client.tsp +++ b/specification/computeschedule/ComputeSchedule.Management/client.tsp @@ -5,6 +5,11 @@ using Azure.ClientGenerator.Core; using Microsoft.ComputeSchedule; @@clientName(Microsoft.ComputeSchedule, "ComputeScheduleMgmt", "python"); +@@clientName(Microsoft.ComputeSchedule, "ComputeScheduleMgmtClient", "java"); +@@clientNamespace(Microsoft.ComputeSchedule, + "com.azure.resourcemanager.computeschedule", + "java" +); @@clientName(ScheduledActions.virtualMachinesSubmitDeallocate, "SubmitVirtualMachineDeallocate", diff --git a/specification/computeschedule/ComputeSchedule.Management/tspconfig.yaml b/specification/computeschedule/ComputeSchedule.Management/tspconfig.yaml index 2b59f7037aa0..156adb5dde26 100644 --- a/specification/computeschedule/ComputeSchedule.Management/tspconfig.yaml +++ b/specification/computeschedule/ComputeSchedule.Management/tspconfig.yaml @@ -34,7 +34,6 @@ options: "@azure-tools/typespec-java": package-dir: "azure-resourcemanager-computeschedule" flavor: "azure" - namespace: "com.azure.resourcemanager.computeschedule" service-name: "Compute Schedule" linter: extends: diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/EnterpriseDetails_Post.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/EnterpriseDetails_Post.json new file mode 100644 index 000000000000..98f5a8f95168 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/EnterpriseDetails_Post.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "saasSubscriptionDetails": { + "planId": "amg_globalplan", + "offerId": "amg_test", + "publisherId": "isvtestuklegacy", + "term": { + "termUnit": "P1M", + "startDate": "2022-10-04T00:00:00Z", + "endDate": "2022-11-03T00:00:00Z" + } + }, + "marketplaceTrialQuota": { + "availablePromotion": "None", + "grafanaResourceId": "/subscriptions/e1e3b30d-e7ec-4e25-8587-db037bcb9a4d/resourcegroups/amg-local-script-test-rg/providers/microsoft.dashboard/grafana/eus2-enterprise-1001-07", + "trialStartAt": "2022-10-04T01:06:00.447Z", + "trialEndAt": "2022-11-03T01:06:00.447Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Create.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Create.json new file mode 100644 index 000000000000..56721d690e6e --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Create.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "requestBodyParameters": { + "sku": { + "name": "Standard" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "password": "", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": {} + }, + "grafanaMajorVersion": "9" + }, + "identity": { + "type": "SystemAssigned" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "9.4.5", + "endpoint": "https://myworkspace-abcdefghijklmnop.wus.grafana.azure.com", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "outboundIPs": [ + "192.168.0.1", + "192.168.0.2" + ], + "publicNetworkAccess": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": { + "pluginId": "sample-plugin-id" + } + }, + "grafanaMajorVersion": "9" + }, + "identity": { + "type": "SystemAssigned" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Accepted", + "grafanaVersion": "9.4.5", + "endpoint": "https://myworkspace-abcdefghijklmnop.wus.grafana.azure.com", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "publicNetworkAccess": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "grafanaMajorVersion": "9" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Delete.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Delete.json new file mode 100644 index 000000000000..ba826286a526 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + } + }, + "204": {} + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_FetchAvailablePlugins.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_FetchAvailablePlugins.json new file mode 100644 index 000000000000..6b11c29ae486 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_FetchAvailablePlugins.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Plugin A", + "pluginId": "plugin-a" + }, + { + "name": "Plugin B", + "pluginId": "plugin-b" + } + ] + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Get.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Get.json new file mode 100644 index 000000000000..ac2fcf1a19e1 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Get.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "9.4.5", + "endpoint": "https://myworkspace-abcdefghijklmnop.wus.grafana.azure.com", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "outboundIPs": [ + "192.168.0.1", + "192.168.0.2" + ], + "publicNetworkAccess": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": { + "pluginId": "sample-plugin-id" + } + }, + "grafanaMajorVersion": "9" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_List.json new file mode 100644 index 000000000000..8eb88271bc77 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_List.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "9.4.5", + "endpoint": "https://myworkspace-abcdefghijklmnop.wus.grafana.azure.com", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "outboundIPs": [ + "192.168.0.1", + "192.168.0.2" + ], + "publicNetworkAccess": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": { + "pluginId": "sample-plugin-id" + } + }, + "grafanaMajorVersion": "9" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_ListByResourceGroup.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_ListByResourceGroup.json new file mode 100644 index 000000000000..8eb88271bc77 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_ListByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "9.4.5", + "endpoint": "https://myworkspace-abcdefghijklmnop.wus.grafana.azure.com", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "outboundIPs": [ + "192.168.0.1", + "192.168.0.2" + ], + "publicNetworkAccess": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": { + "pluginId": "sample-plugin-id" + } + }, + "grafanaMajorVersion": "9" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Update.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Update.json new file mode 100644 index 000000000000..8371a3164b00 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Grafana_Update.json @@ -0,0 +1,195 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "requestBodyParameters": { + "tags": { + "Environment": "Dev 2" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "password": "", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": {} + }, + "grafanaMajorVersion": "9" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "9.4.5", + "endpoint": "https://myworkspace-abcdefghijklmnop.wus.grafana.azure.com", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "outboundIPs": [ + "192.168.0.1", + "192.168.0.2" + ], + "publicNetworkAccess": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": { + "pluginId": "sample-plugin-id" + } + }, + "grafanaMajorVersion": "9" + }, + "tags": { + "Environment": "Dev 2" + }, + "location": "West US" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Accepted", + "grafanaVersion": "9.4.5", + "endpoint": "https://myworkspace-abcdefghijklmnop.wus.grafana.azure.com", + "zoneRedundancy": "Enabled", + "apiKey": "Enabled", + "deterministicOutboundIP": "Enabled", + "publicNetworkAccess": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse", + "grafanaConfigurations": { + "smtp": { + "enabled": true, + "host": "smtp.sendemail.com:587", + "user": "username", + "fromAddress": "test@sendemail.com", + "fromName": "emailsender", + "startTLSPolicy": "OpportunisticStartTLS", + "skipVerify": true + }, + "snapshots": { + "externalEnabled": true + }, + "users": { + "viewersCanEdit": true + }, + "security": { + "csrfAlwaysCheck": false + } + }, + "grafanaIntegrations": { + "azureMonitorWorkspaceIntegrations": [ + { + "azureMonitorWorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.monitor/accounts/myAzureMonitorWorkspace" + } + ] + }, + "enterpriseConfigurations": { + "marketplacePlanId": "myPlanId", + "marketplaceAutoRenew": "Enabled" + }, + "grafanaPlugins": { + "sample-plugin-id": { + "pluginId": "sample-plugin-id" + } + }, + "grafanaMajorVersion": "9" + }, + "tags": { + "Environment": "Dev 2" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Create.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Create.json new file mode 100644 index 000000000000..e87aeafa0fcf --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Create.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "integrationFabricName": "sampleIntegration", + "requestBodyParameters": { + "properties": { + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAks", + "dataSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Monitor/accounts/myAmw", + "scenarios": [ + "scenario1", + "scenario2" + ] + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Dashboard/grafana/myWorkspace/integrationFabrics/myIntegrationFabricName", + "name": "sampleIntegration", + "type": "Microsoft.Dashboard/grafana/integrationFabrics", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAks", + "dataSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Monitor/accounts/myAmw", + "scenarios": [ + "scenario1", + "scenario2" + ] + }, + "location": "West US" + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Dashboard/grafana/myWorkspace/integrationFabrics/myIntegrationFabricName", + "name": "sampleIntegration", + "type": "Microsoft.Dashboard/grafana/integrationFabrics", + "properties": { + "provisioningState": "Accepted", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAks", + "dataSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Monitor/accounts/myAmw", + "scenarios": [ + "scenario1", + "scenario2" + ] + }, + "location": "West US" + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Delete.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Delete.json new file mode 100644 index 000000000000..7535d5863fd8 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "integrationFabricName": "sampleIntegration" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + } + }, + "204": {} + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Get.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Get.json new file mode 100644 index 000000000000..5e6c4195746f --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "integrationFabricName": "sampleIntegration" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Dashboard/grafana/myWorkspace/integrationFabrics/myIntegrationFabricName", + "name": "sampleIntegration", + "type": "Microsoft.Dashboard/grafana/integrationFabrics", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAks", + "dataSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Monitor/accounts/myAmw", + "scenarios": [ + "scenario1", + "scenario2" + ] + }, + "location": "West US" + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_List.json new file mode 100644 index 000000000000..3cfa5c3dc862 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_List.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Dashboard/grafana/myWorkspace/integrationFabrics/myIntegrationFabricName", + "name": "sampleIntegration", + "type": "Microsoft.Dashboard/grafana/integrationFabrics", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAks1", + "dataSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Monitor/accounts/myAmw1", + "scenarios": [ + "scenario1", + "scenario2" + ] + }, + "location": "West US" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Dashboard/grafana/myWorkspace/integrationFabrics/myIntegrationFabricName", + "name": "sampleIntegration", + "type": "Microsoft.Dashboard/grafana/integrationFabrics", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAks2", + "dataSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Monitor/accounts/myAmw2", + "scenarios": [ + "scenario1", + "scenario2" + ] + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Update.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Update.json new file mode 100644 index 000000000000..66087ea81a69 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/IntegrationFabrics_Update.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "integrationFabricName": "sampleIntegration", + "requestBodyParameters": { + "tags": { + "Environment": "Dev 2" + }, + "properties": { + "scenarios": [ + "scenario1" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Dashboard/grafana/myWorkspace/integrationFabrics/myIntegrationFabricName", + "name": "sampleIntegration", + "type": "Microsoft.Dashboard/grafana/integrationFabrics", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAks", + "dataSourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Monitor/accounts/myAmw", + "scenarios": [ + "scenario1" + ] + }, + "location": "West US", + "tags": { + "Environment": "Dev 2" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Create.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Create.json new file mode 100644 index 000000000000..0826f2bc2f7a --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Create.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "managedPrivateEndpointName": "myMPEName", + "requestBodyParameters": { + "properties": { + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message", + "privateLinkServiceUrl": "my-self-hosted-influxdb.westus.mydomain.com" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/managedPrivateEndpoints/myPrivateEndpointName", + "name": "myMPEName", + "type": "Microsoft.Dashboard/grafana/managedPrivateEndpoint", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message", + "privateLinkServiceUrl": "my-self-hosted-influxdb.westus.mydomain.com" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/managedPrivateEndpoints/myPrivateEndpointName", + "name": "myMPEName", + "type": "Microsoft.Dashboard/grafana/managedPrivateEndpoint", + "properties": { + "provisioningState": "Accepted", + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message", + "privateLinkServiceUrl": "my-self-hosted-influxdb.westus.mydomain.com" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Delete.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Delete.json new file mode 100644 index 000000000000..324b134dd30a --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "managedPrivateEndpointName": "myMPEName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + } + }, + "204": {} + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Get.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Get.json new file mode 100644 index 000000000000..cb359ed34a9a --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "managedPrivateEndpointName": "myMPEName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/managedPrivateEndpoints/myPrivateEndpointName", + "name": "myMPEName", + "type": "Microsoft.Dashboard/grafana/managedPrivateEndpoint", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message", + "connectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_List.json new file mode 100644 index 000000000000..a5a48b197ee0 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/managedPrivateEndpoints/myPrivateEndpointName", + "name": "myMPEName", + "type": "Microsoft.Dashboard/grafana/managedPrivateEndpoint", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource1", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message", + "connectionState": { + "status": "Approved", + "description": "Auto-Approved" + }, + "privateLinkServiceUrl": "my-self-hosted-influxdb.westus.mydomain.com", + "privateLinkServicePrivateIP": "10.0.0.5" + }, + "location": "West US" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/managedPrivateEndpoints/myPrivateEndpointName2", + "name": "myMPEName2", + "type": "Microsoft.Dashboard/grafana/managedPrivateEndpoint", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource2", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message 2", + "connectionState": { + "status": "Rejected", + "description": "Example Reject Reason" + } + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Patch.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Patch.json new file mode 100644 index 000000000000..7dab7a8dac3f --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Patch.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "managedPrivateEndpointName": "myMPEName", + "requestBodyParameters": { + "tags": { + "Environment": "Dev 2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/managedPrivateEndpoints/myPrivateEndpointName", + "name": "myMPEName", + "type": "Microsoft.Dashboard/grafana/managedPrivateEndpoint", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message", + "privateLinkServiceUrl": "my-self-hosted-influxdb.westus.mydomain.com", + "privateLinkServicePrivateIP": "10.0.0.5" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/managedPrivateEndpoints/myPrivateEndpointName", + "name": "myMPEName", + "type": "Microsoft.Dashboard/grafana/managedPrivateEndpoint", + "properties": { + "provisioningState": "Accepted", + "privateLinkResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-000000000000/resourceGroups/xx-rg/providers/Microsoft.Kusto/Clusters/sampleKustoResource", + "privateLinkResourceRegion": "West US", + "groupIds": [ + "grafana" + ], + "requestMessage": "Example Request Message", + "privateLinkServiceUrl": "my-self-hosted-influxdb.westus.mydomain.com", + "privateLinkServicePrivateIP": "10.0.0.5" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Refresh.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Refresh.json new file mode 100644 index 000000000000..1a1b84a4a4ae --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/ManagedPrivateEndpoints_Refresh.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Operations_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Operations_List.json new file mode 100644 index 000000000000..a5c5219ae2e5 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Dashboard/grafana/write", + "display": { + "provider": "Microsoft.Dashboard", + "resource": "grafana", + "operation": "write", + "description": "Write grafana workspace resource" + }, + "origin": "user", + "actionType": "Internal" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Approve.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Approve.json new file mode 100644 index 000000000000..a2b032548429 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Approve.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "privateEndpointConnectionName": "myConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "test" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.Dashboard/grafana/privateEndpointConnections", + "properties": { + "provisioningState": "Accepted", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Network/privateEndpoint/myEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "test", + "actionsRequired": "None" + }, + "groupIds": [ + "grafana" + ] + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Delete.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..0ba6e0908b23 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard/locations/eastus2/operationStatuses/sample-op-status?api-version=2024-10-01" + } + }, + "204": {} + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Get.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..50ac6fb369de --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.Dashboard/grafana/privateEndpointConnections", + "properties": { + "provisioningState": "Accepted", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Network/privateEndpoint/myEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "string", + "actionsRequired": "None" + }, + "groupIds": [ + "grafana" + ] + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_List.json new file mode 100644 index 000000000000..ed1eabb41edd --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateEndpointConnections_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.Dashboard/grafana/privateEndpointConnections", + "properties": { + "provisioningState": "Accepted", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Network/privateEndpoint/myEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "string", + "actionsRequired": "None" + }, + "groupIds": [ + "grafana" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateLinkResources_Get.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateLinkResources_Get.json new file mode 100644 index 000000000000..1fa786d6deb8 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateLinkResources_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "privateLinkResourceName": "grafana" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/privateLinkResources/grafana", + "name": "grafana", + "type": "Microsoft.Dashboard/grafana/PrivateLinkResources", + "properties": { + "groupId": "grafana", + "requiredMembers": [ + "grafana" + ], + "requiredZoneNames": [ + "grafana-test.azure.com" + ] + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateLinkResources_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateLinkResources_List.json new file mode 100644 index 000000000000..e88ebab60e38 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/examples/PrivateLinkResources_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/Microsoft.Dashboard/grafana/myWorkspace/privateLinkResources/grafana", + "name": "grafana", + "type": "Microsoft.Dashboard/grafana/PrivateLinkResources", + "properties": { + "groupId": "grafana", + "requiredMembers": [ + "grafana" + ], + "requiredZoneNames": [ + "grafana-test.azure.com" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/grafana.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/grafana.json new file mode 100644 index 000000000000..fbc71bd7287f --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/stable/2024-10-01/grafana.json @@ -0,0 +1,2434 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Dashboard", + "description": "The Microsoft.Dashboard Rest API spec.", + "version": "2024-10-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Dashboard/operations": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "List all available API operations provided by Microsoft.Dashboard.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return all available API operations provided by Microsoft.Dashboard.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Dashboard/grafana": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "List all resources of workspaces for Grafana under the specified subscription.", + "operationId": "Grafana_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return all resources of workspaces for Grafana under the specified subscription.", + "schema": { + "$ref": "#/definitions/ManagedGrafanaListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Grafana_List": { + "$ref": "./examples/Grafana_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "List all resources of workspaces for Grafana under the specified resource group.", + "operationId": "Grafana_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return all resources of workspaces for Grafana under the given resource group.", + "schema": { + "$ref": "#/definitions/ManagedGrafanaListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Grafana_ListByResourceGroup": { + "$ref": "./examples/Grafana_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "Get the properties of a specific workspace for Grafana resource.", + "operationId": "Grafana_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return the properties of the required workspace for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Grafana_Get": { + "$ref": "./examples/Grafana_Get.json" + } + } + }, + "put": { + "tags": [ + "GrafanaResource" + ], + "summary": "Create or update a workspace for Grafana resource. This API is idempotent, so user can either create a new grafana or update an existing grafana.", + "operationId": "Grafana_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + } + ], + "responses": { + "200": { + "description": "OK. Successfully create a workspace for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "201": { + "description": "Creation started. The operation was successfully started and will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Grafana_Create": { + "$ref": "./examples/Grafana_Create.json" + } + } + }, + "patch": { + "tags": [ + "GrafanaResource" + ], + "summary": "Update a workspace for Grafana resource.", + "operationId": "Grafana_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedGrafanaUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. Successfully update the workspace for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "202": { + "description": "Accepted. The operation was successfully started and will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Grafana_Update": { + "$ref": "./examples/Grafana_Update.json" + } + } + }, + "delete": { + "tags": [ + "GrafanaResource" + ], + "summary": "Delete a workspace for Grafana resource.", + "operationId": "Grafana_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The workspace for Grafana resource is deleted." + }, + "202": { + "description": "Accepted. The operation is accepted and will be completed asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + } + }, + "204": { + "description": "No Content. The resource is not present or was already deleted." + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Grafana_Delete": { + "$ref": "./examples/Grafana_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Get private endpoint connections.", + "operationId": "PrivateEndpointConnections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return the list of the private endpoint connections for Grafana resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Manual approve private endpoint connection", + "operationId": "PrivateEndpointConnections_Approve", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "201": { + "description": "Creation started. The operation was successfully started and will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PrivateEndpointConnections_Approve": { + "$ref": "./examples/PrivateEndpointConnections_Approve.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Delete private endpoint connection", + "operationId": "PrivateEndpointConnections_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The operation is accepted and will be completed asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + } + }, + "204": { + "description": "No Content. The resource is not present or was already deleted." + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Get private endpoint connection", + "operationId": "PrivateEndpointConnections_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return the list of the private endpoint connections for Grafana resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/PrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "summary": "List all private link resources information for this grafana resource", + "operationId": "PrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return the list of the private link resources for Grafana resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/PrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "summary": "Get specific private link resource information for this grafana resource", + "operationId": "PrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "path", + "name": "privateLinkResourceName", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. Return the properties of the required private link resource for Grafana resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/PrivateLinkResources_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/checkEnterpriseDetails": { + "post": { + "tags": [ + "GrafanaResource" + ], + "summary": "Retrieve enterprise add-on details information", + "operationId": "Grafana_CheckEnterpriseDetails", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieve the enterprise details information of a workspace for a Grafana resource.", + "schema": { + "$ref": "#/definitions/EnterpriseDetails" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnterpriseDetails_Post": { + "$ref": "./examples/EnterpriseDetails_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/fetchAvailablePlugins": { + "post": { + "tags": [ + "GrafanaPlugin" + ], + "operationId": "Grafana_FetchAvailablePlugins", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/GrafanaAvailablePluginListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Grafana_FetchAvailablePlugins": { + "$ref": "./examples/Grafana_FetchAvailablePlugins.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/managedPrivateEndpoints": { + "get": { + "summary": "List all managed private endpoints of a grafana resource.", + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of managed private endpoints.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointModelListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ManagedPrivateEndpoint_List": { + "$ref": "./examples/ManagedPrivateEndpoints_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/refreshManagedPrivateEndpoints": { + "post": { + "summary": "Refresh and sync managed private endpoints of a grafana resource to latest state.", + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of managed private endpoints." + }, + "202": { + "description": "Accepted. The operation is accepted and will be completed asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ManagedPrivateEndpoint_Refresh": { + "$ref": "./examples/ManagedPrivateEndpoints_Refresh.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/managedPrivateEndpoints/{managedPrivateEndpointName}": { + "get": { + "summary": "Get a specific managed private endpoint of a grafana resource.", + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return the properties of the managed private endpoint resource.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointModel" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ManagedPrivateEndpoint_Get": { + "$ref": "./examples/ManagedPrivateEndpoints_Get.json" + } + } + }, + "put": { + "summary": "Create or update a managed private endpoint for a grafana resource.", + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "description": "The managed private endpoint to be created or updated.", + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointModel" + } + } + ], + "responses": { + "200": { + "description": "OK. Successfully created a managed private endpoint for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointModel" + } + }, + "201": { + "description": "Creation started. The operation was successfully started and will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointModel" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "ManagedPrivateEndpoint_Create": { + "$ref": "./examples/ManagedPrivateEndpoints_Create.json" + } + } + }, + "patch": { + "summary": "Update a managed private endpoint for an existing grafana resource.", + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "description": "Properties that can be updated to an existing managed private endpoint.", + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. Successfully update the managed private endpoint for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointModel" + } + }, + "202": { + "description": "Accepted. The operation was successfully started and will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointModel" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ManagedPrivateEndpoints_Patch": { + "$ref": "./examples/ManagedPrivateEndpoints_Patch.json" + } + } + }, + "delete": { + "summary": "Delete a managed private endpoint for a grafana resource.", + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The managed private endpoint is deleted." + }, + "202": { + "description": "Accepted. The operation is accepted and will be completed asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + } + }, + "204": { + "description": "No Content. The resource is not present or was already deleted." + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ManagedPrivateEndpoint_Delete": { + "$ref": "./examples/ManagedPrivateEndpoints_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/integrationFabrics": { + "get": { + "tags": [ + "integrationFabric" + ], + "operationId": "IntegrationFabrics_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/IntegrationFabricListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "IntegrationFabrics_List": { + "$ref": "./examples/IntegrationFabrics_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}/integrationFabrics/{integrationFabricName}": { + "get": { + "tags": [ + "integrationFabric" + ], + "operationId": "IntegrationFabrics_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/IntegrationFabricNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return the properties of the integration fabric resource.", + "schema": { + "$ref": "#/definitions/IntegrationFabric" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "IntegrationFabrics_Get": { + "$ref": "./examples/IntegrationFabrics_Get.json" + } + } + }, + "put": { + "tags": [ + "integrationFabric" + ], + "operationId": "IntegrationFabrics_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/IntegrationFabricNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationFabric" + } + } + ], + "responses": { + "200": { + "description": "OK. Successfully created an integration fabric for Grafana resource.", + "schema": { + "$ref": "#/definitions/IntegrationFabric" + } + }, + "201": { + "description": "Creation started. The operation was successfully started and will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation URI for long running operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/IntegrationFabric" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "IntegrationFabrics_Create": { + "$ref": "./examples/IntegrationFabrics_Create.json" + } + } + }, + "patch": { + "tags": [ + "IntegrationFabric" + ], + "operationId": "IntegrationFabrics_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/IntegrationFabricNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationFabricUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/IntegrationFabric" + } + }, + "202": { + "description": "Accepted. The operation is accepted and will be completed asynchronously.", + "headers": { + "Location": { + "description": "Operation URI for long running operation.", + "type": "string" + } + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "IntegrationFabrics_Update": { + "$ref": "./examples/IntegrationFabrics_Update.json" + } + } + }, + "delete": { + "tags": [ + "integrationFabric" + ], + "operationId": "IntegrationFabrics_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/IntegrationFabricNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The operation is accepted and will be completed asynchronously.", + "headers": { + "Location": { + "description": "Operation URI for long running operation.", + "type": "string" + } + } + }, + "204": { + "description": "No Content. The resource is not present or was already deleted." + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "IntegrationFabrics_Delete": { + "$ref": "./examples/IntegrationFabrics_Delete.json" + } + } + } + } + }, + "definitions": { + "ManagedGrafana": { + "type": "object", + "description": "The grafana resource type.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "ARM id of the grafana resource", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the grafana resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the grafana resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The Sku of the grafana resource.", + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "description": "Properties specific to the grafana resource.", + "$ref": "#/definitions/ManagedGrafanaProperties" + }, + "identity": { + "description": "The managed identity of the grafana resource.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "systemData": { + "description": "The system meta data relating to this grafana resource.", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "The tags for grafana resource." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the grafana resource lives" + } + } + }, + "ManagedGrafanaListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "ManagedGrafanaProperties": { + "type": "object", + "description": "Properties specific to the grafana resource.", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "grafanaVersion": { + "description": "The Grafana software version.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The endpoint of the Grafana instance.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Indicate the state for enable or disable traffic over the public interface.", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "zoneRedundancy": { + "description": "The zone redundancy setting of the Grafana instance.", + "$ref": "#/definitions/ZoneRedundancy" + }, + "apiKey": { + "description": "The api key setting of the Grafana instance.", + "$ref": "#/definitions/ApiKey" + }, + "deterministicOutboundIP": { + "description": "Whether a Grafana instance uses deterministic outbound IPs.", + "$ref": "#/definitions/DeterministicOutboundIP" + }, + "outboundIPs": { + "description": "List of outbound IPs if deterministicOutboundIP is enabled.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateEndpointConnections": { + "description": "The private endpoint connections of the Grafana instance.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "autoGeneratedDomainNameLabelScope": { + "description": "Scope for dns deterministic name hash calculation.", + "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope" + }, + "grafanaIntegrations": { + "$ref": "#/definitions/GrafanaIntegrations" + }, + "enterpriseConfigurations": { + "$ref": "#/definitions/EnterpriseConfigurations" + }, + "grafanaConfigurations": { + "$ref": "#/definitions/GrafanaConfigurations" + }, + "grafanaPlugins": { + "description": "Installed plugin list of the Grafana instance. Key is plugin id, value is plugin definition.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/GrafanaPlugin" + } + }, + "grafanaMajorVersion": { + "description": "The major Grafana software version to target.", + "type": "string" + } + } + }, + "ManagedGrafanaUpdateParameters": { + "type": "object", + "description": "The parameters for a PATCH request to a grafana resource.", + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku" + }, + "identity": { + "description": "The managed identity of the grafana resource.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "tags": { + "type": "object", + "description": "The new tags of the grafana resource.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "Properties specific to the managed grafana resource.", + "$ref": "#/definitions/ManagedGrafanaPropertiesUpdateParameters" + } + } + }, + "ManagedGrafanaPropertiesUpdateParameters": { + "type": "object", + "description": "The properties parameters for a PATCH request to a grafana resource.", + "properties": { + "zoneRedundancy": { + "description": "The zone redundancy setting of the Grafana instance.", + "$ref": "#/definitions/ZoneRedundancy" + }, + "apiKey": { + "description": "The api key setting of the Grafana instance.", + "$ref": "#/definitions/ApiKey" + }, + "deterministicOutboundIP": { + "description": "Whether a Grafana instance uses deterministic outbound IPs.", + "$ref": "#/definitions/DeterministicOutboundIP" + }, + "publicNetworkAccess": { + "description": "Indicate the state for enable or disable traffic over the public interface.", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "grafanaIntegrations": { + "$ref": "#/definitions/GrafanaIntegrations" + }, + "enterpriseConfigurations": { + "$ref": "#/definitions/EnterpriseConfigurations" + }, + "grafanaConfigurations": { + "$ref": "#/definitions/GrafanaConfigurations" + }, + "grafanaPlugins": { + "type": "object", + "description": "Update of Grafana plugin. Key is plugin id, value is plugin definition. If plugin definition is null, plugin with given plugin id will be removed. Otherwise, given plugin will be installed.", + "additionalProperties": { + "$ref": "#/definitions/GrafanaPlugin" + } + }, + "grafanaMajorVersion": { + "description": "The major Grafana software version to target.", + "type": "string" + } + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningState" + } + }, + "ResourceSku": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, + "ZoneRedundancy": { + "enum": [ + "Disabled", + "Enabled" + ], + "default": "Disabled", + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ZoneRedundancy" + } + }, + "ApiKey": { + "enum": [ + "Disabled", + "Enabled" + ], + "default": "Disabled", + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ApiKey" + } + }, + "DeterministicOutboundIP": { + "enum": [ + "Disabled", + "Enabled" + ], + "default": "Disabled", + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeterministicOutboundIP" + } + }, + "PublicNetworkAccess": { + "description": "Indicate the state for enable or disable traffic over the public interface.", + "enum": [ + "Enabled", + "Disabled" + ], + "default": "Enabled", + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "AutoGeneratedDomainNameLabelScope": { + "description": "Scope for dns deterministic name hash calculation", + "enum": [ + "TenantReuse" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AutoGeneratedDomainNameLabelScope" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "GrafanaConfigurations": { + "description": "Server configurations of a Grafana instance", + "type": "object", + "properties": { + "smtp": { + "$ref": "#/definitions/Smtp" + }, + "snapshots": { + "$ref": "#/definitions/Snapshots" + }, + "users": { + "$ref": "#/definitions/Users" + }, + "security": { + "$ref": "#/definitions/Security" + } + } + }, + "Smtp": { + "description": "Email server settings.\r\nhttps://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp", + "type": "object", + "properties": { + "enabled": { + "description": "Enable this to allow Grafana to send email. Default is false", + "type": "boolean", + "default": false + }, + "host": { + "description": "SMTP server hostname with port, e.g. test.email.net:587", + "type": "string" + }, + "user": { + "description": "User of SMTP auth", + "type": "string" + }, + "password": { + "description": "Password of SMTP auth. If the password contains # or ;, then you have to wrap it with triple quotes", + "type": "string", + "x-ms-secret": true + }, + "fromAddress": { + "description": "Address used when sending out emails\r\nhttps://pkg.go.dev/net/mail#Address", + "type": "string" + }, + "fromName": { + "description": "Name to be used when sending out emails. Default is \"Azure Managed Grafana Notification\"\r\nhttps://pkg.go.dev/net/mail#Address", + "type": "string" + }, + "startTLSPolicy": { + "$ref": "#/definitions/StartTLSPolicy" + }, + "skipVerify": { + "description": "Verify SSL for SMTP server. Default is false\r\nhttps://pkg.go.dev/crypto/tls#Config", + "type": "boolean" + } + } + }, + "Snapshots": { + "description": "Grafana Snapshots settings", + "type": "object", + "properties": { + "externalEnabled": { + "description": "Set to false to disable external snapshot publish endpoint", + "type": "boolean" + } + } + }, + "Users": { + "description": "Grafana users settings", + "type": "object", + "properties": { + "viewersCanEdit": { + "description": "Set to true so viewers can access and use explore and perform temporary edits on panels in dashboards they have access to. They cannot save their changes.", + "type": "boolean" + } + } + }, + "Security": { + "description": "Grafana security settings", + "type": "object", + "properties": { + "csrfAlwaysCheck": { + "description": "Set to true to execute the CSRF check even if the login cookie is not in a request (default false).", + "type": "boolean" + } + } + }, + "StartTLSPolicy": { + "description": "The StartTLSPolicy setting of the SMTP configuration\r\nhttps://pkg.go.dev/github.com/go-mail/mail#StartTLSPolicy", + "enum": [ + "OpportunisticStartTLS", + "MandatoryStartTLS", + "NoStartTLS" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "StartTLSPolicy" + } + }, + "GrafanaIntegrations": { + "description": "GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios.", + "type": "object", + "properties": { + "azureMonitorWorkspaceIntegrations": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/AzureMonitorWorkspaceIntegration" + } + } + } + }, + "AzureMonitorWorkspaceIntegration": { + "description": "Integrations for Azure Monitor Workspace.", + "type": "object", + "properties": { + "azureMonitorWorkspaceResourceId": { + "description": "The resource Id of the connected Azure Monitor Workspace.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private endpoint connection group ids." + }, + "provisioningState": { + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + }, + "description": "A list of private link resources" + }, + "EnterpriseConfigurations": { + "description": "Enterprise settings of a Grafana instance", + "type": "object", + "properties": { + "marketplacePlanId": { + "description": "The Plan Id of the Azure Marketplace subscription for the Enterprise plugins", + "type": "string" + }, + "marketplaceAutoRenew": { + "$ref": "#/definitions/MarketplaceAutoRenew" + } + } + }, + "MarketplaceAutoRenew": { + "description": "The AutoRenew setting of the Enterprise subscription", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MarketplaceAutoRenew" + } + }, + "EnterpriseDetails": { + "description": "Enterprise details of a Grafana instance", + "type": "object", + "properties": { + "saasSubscriptionDetails": { + "$ref": "#/definitions/SaasSubscriptionDetails" + }, + "marketplaceTrialQuota": { + "$ref": "#/definitions/MarketplaceTrialQuota" + } + } + }, + "GrafanaPlugin": { + "description": "Plugin of Grafana", + "type": "object", + "properties": { + "pluginId": { + "description": "Grafana plugin id", + "type": "string", + "readOnly": true + } + } + }, + "GrafanaAvailablePlugin": { + "description": "Available plugins of grafana", + "type": "object", + "properties": { + "pluginId": { + "description": "Grafana plugin id", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Grafana plugin display name", + "type": "string", + "readOnly": true + } + } + }, + "GrafanaAvailablePluginListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GrafanaAvailablePlugin" + }, + "x-ms-identifiers": [ + "pluginId" + ] + }, + "nextLink": { + "type": "string" + } + } + }, + "SaasSubscriptionDetails": { + "description": "SaaS subscription details of a Grafana instance", + "type": "object", + "properties": { + "planId": { + "description": "The plan Id of the SaaS subscription.", + "type": "string" + }, + "offerId": { + "description": "The offer Id of the SaaS subscription.", + "type": "string" + }, + "publisherId": { + "description": "The publisher Id of the SaaS subscription.", + "type": "string" + }, + "term": { + "description": "The billing term of the SaaS Subscription.", + "$ref": "#/definitions/SubscriptionTerm" + } + } + }, + "SubscriptionTerm": { + "description": "The current billing term of the SaaS Subscription.", + "type": "object", + "properties": { + "termUnit": { + "description": "The unit of the billing term.", + "type": "string" + }, + "startDate": { + "description": "The date and time in UTC of when the billing term starts.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The date and time in UTC of when the billing term ends.", + "type": "string", + "format": "date-time" + } + } + }, + "MarketplaceTrialQuota": { + "description": "The allocation details of the per subscription free trial slot of the subscription.", + "type": "object", + "properties": { + "availablePromotion": { + "description": "Available enterprise promotion for the subscription", + "$ref": "#/definitions/AvailablePromotion" + }, + "grafanaResourceId": { + "description": "Resource Id of the Grafana resource which is doing the trial.", + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Dashboard/grafana" + } + ] + } + }, + "trialStartAt": { + "description": "The date and time in UTC of when the trial starts.", + "type": "string", + "format": "date-time" + }, + "trialEndAt": { + "description": "The date and time in UTC of when the trial ends.", + "type": "string", + "format": "date-time" + } + } + }, + "AvailablePromotion": { + "enum": [ + "None", + "FreeTrial" + ], + "type": "string", + "default": "None", + "x-ms-enum": { + "modelAsString": true, + "name": "AvailablePromotion" + } + }, + "ManagedPrivateEndpointModel": { + "type": "object", + "description": "The managed private endpoint resource type.", + "x-ms-azure-resource": true, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Resource properties.", + "$ref": "#/definitions/ManagedPrivateEndpointModelProperties" + } + } + }, + "ManagedPrivateEndpointModelProperties": { + "type": "object", + "description": "Properties specific to the managed private endpoint.", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "privateLinkResourceId": { + "description": "The ARM resource ID of the resource for which the managed private endpoint is pointing to.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "privateLinkResourceRegion": { + "description": "The region of the resource to which the managed private endpoint is pointing to.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "groupIds": { + "description": "The group Ids of the managed private endpoint.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "requestMessage": { + "description": "User input request message of the managed private endpoint.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "connectionState": { + "$ref": "#/definitions/ManagedPrivateEndpointConnectionState", + "readOnly": true + }, + "privateLinkServiceUrl": { + "description": "The URL of the data store behind the private link service. It would be the URL in the Grafana data source configuration page without the protocol and port.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "privateLinkServicePrivateIP": { + "description": "The private IP of private endpoint after approval. This property is empty before connection is approved.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedPrivateEndpointModelListResponse": { + "description": "The list of managed private endpoints of a grafana resource", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedPrivateEndpointModel" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "ManagedPrivateEndpointConnectionState": { + "description": "The state of managed private endpoint connection.", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/ManagedPrivateEndpointConnectionStatus", + "readOnly": true + }, + "description": { + "description": "Gets or sets the reason for approval/rejection of the connection.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedPrivateEndpointConnectionStatus": { + "description": "The approval/rejection status of managed private endpoint connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ManagedPrivateEndpointConnectionStatus" + } + }, + "ManagedPrivateEndpointUpdateParameters": { + "description": "The parameters for a PATCH request to a managed private endpoint.", + "type": "object", + "properties": { + "tags": { + "description": "The new tags of the managed private endpoint.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "IntegrationFabric": { + "type": "object", + "description": "The integration fabric resource type.", + "x-ms-azure-resource": true, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IntegrationFabricProperties" + } + } + }, + "IntegrationFabricListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationFabric" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "IntegrationFabricProperties": { + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "targetResourceId": { + "description": "The resource Id of the Azure resource being integrated with Azure Managed Grafana. E.g., an Azure Kubernetes Service cluster.", + "type": "string", + "format": "arm-id" + }, + "dataSourceResourceId": { + "description": "The resource Id of the Azure resource which is used to configure Grafana data source. E.g., an Azure Monitor Workspace, an Azure Data Explorer cluster, etc.", + "type": "string", + "format": "arm-id" + }, + "scenarios": { + "description": "A list of integration scenarios covered by this integration fabric", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "IntegrationFabricUpdateParameters": { + "description": "The parameters for a PATCH request to a Integration Fabric resource.", + "type": "object", + "properties": { + "tags": { + "description": "The new tags of the Integration Fabric resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The new properties of this Integration Fabric resource", + "$ref": "#/definitions/IntegrationFabricPropertiesUpdateParameters" + } + } + }, + "IntegrationFabricPropertiesUpdateParameters": { + "type": "object", + "properties": { + "scenarios": { + "description": "The new integration scenarios covered by this integration fabric.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "parameters": { + "WorkspaceNameParameter": { + "in": "path", + "name": "workspaceName", + "description": "The workspace name of Azure Managed Grafana.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z][a-z0-9A-Z-]{0,28}[a-z0-9A-Z]$", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "The private endpoint connection name of Azure Managed Grafana.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedPrivateEndpointNameParameter": { + "in": "path", + "name": "managedPrivateEndpointName", + "description": "The managed private endpoint name of Azure Managed Grafana.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "IntegrationFabricNameParameter": { + "in": "path", + "name": "integrationFabricName", + "description": "The integration fabric name of Azure Managed Grafana.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z][a-z0-9A-Z-]{0,18}[a-z0-9A-Z]$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/dashboard/resource-manager/readme.md b/specification/dashboard/resource-manager/readme.md index 2f6d643653b0..e43a7b37dbcc 100644 --- a/specification/dashboard/resource-manager/readme.md +++ b/specification/dashboard/resource-manager/readme.md @@ -28,10 +28,19 @@ These are the global settings for the Dashboard API. title: DashboardManagementClient openapi-type: arm openapi-subtype: rpaas -tag: package-2023-10-01-preview +tag: package-2024-10-01 ``` +### Tag: package-2024-10-01 + +These settings apply only when `--tag=package-2024-10-01` is specified on the command line. + +```yaml $(tag) == 'package-2024-10-01' +input-file: + - Microsoft.Dashboard/stable/2024-10-01/grafana.json +``` + ### Tag: package-2023-10-01-preview These settings apply only when `--tag=package-2023-10-01-preview` is specified on the command line. diff --git a/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml b/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml index 1178a6c18d05..6bb38d6c5cdc 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml +++ b/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml @@ -1,3 +1,6 @@ +parameters: + "service-dir": + default: "sdk/databasewatcher" emit: - "@azure-tools/typespec-autorest" options: @@ -9,6 +12,45 @@ options: arm-resource-flattening: true output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/Watcher.json" use-read-only-status-schema: true + "@azure-tools/typespec-csharp": + clear-output-folder: true + flavor: azure + model-namespace: false + namespace: "Azure.ResourceManager.DatabaseWatcher" + package-dir: "Azure.ResourceManager.DatabaseWatcher" + "@azure-tools/typespec-python": + flavor: azure + generate-sample: true + generate-test: true + package-dir: "azure-mgmt-databasewatcher" + package-name: "azure-mgmt-databasewatcher" + "@azure-tools/typespec-java": + flavor: azure + namespace: "com.azure.resourcemanager.databasewatcher" + package-dir: "azure-resourcemanager-databasewatcher" + service-name: "Database Watcher" + "@azure-tools/typespec-ts": + azureSdkForJs: true + enableOperationGroup: true + experimentalExtensibleEnums: true + flavor: azure + generateMetadata: true + hierarchyClient: false + isModularLibrary: true + package-dir: "arm-databasewatcher" + packageDetails: + name: "@azure/arm-databasewatcher" + "@azure-tools/typespec-go": + fix-const-stuttering: true + flavor: azure + generate-examples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true + remove-unreferenced-types: true + service-dir: "sdk/resourcemanager/databasewatcher" + package-dir: "armdatabasewatcher" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/liftrpinecone/Pinecone.VectorDb.Management/tspconfig.yaml b/specification/liftrpinecone/Pinecone.VectorDb.Management/tspconfig.yaml index a40e43eb2b03..ccdbd5478fa9 100644 --- a/specification/liftrpinecone/Pinecone.VectorDb.Management/tspconfig.yaml +++ b/specification/liftrpinecone/Pinecone.VectorDb.Management/tspconfig.yaml @@ -11,7 +11,7 @@ options: output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" examples-dir: "{project-root}/examples" "@azure-tools/typespec-csharp": - package-dir: "Azure.ResourceManager.PineconeVectorDB" + package-dir: "Azure.ResourceManager.PineconeVectorDb" flavor: azure clear-output-folder: true use-write-core: true @@ -29,14 +29,17 @@ options: packageDetails: name: "@azure/arm-pineconevectordb" "@azure-tools/typespec-python": + service-dir: "sdk/pineconevectordb" package-dir: "azure-mgmt-pineconevectordb" package-name: "{package-dir}" flavor: "azure" generate-test: true generate-sample: true "@azure-tools/typespec-java": + service-dir: "sdk/pineconevectordb" package-dir: "azure-resourcemanager-pineconevectordb" flavor: "azure" + service-name: "Pinecone Vector Db" "@azure-tools/typespec-go": service-dir: "sdk/resourcemanager/pineconevectordb" package-dir: "armpineconevectordb" diff --git a/specification/servicenetworking/ServiceNetworking.Management/main.tsp b/specification/servicenetworking/ServiceNetworking.Management/main.tsp index 9c420b15e4a1..1d358a7928cb 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/main.tsp +++ b/specification/servicenetworking/ServiceNetworking.Management/main.tsp @@ -69,6 +69,32 @@ model Association is TrackedResource { name: string; } +/** The type used for update operations of the Association. */ +model AssociationUpdate { + /** Resource tags. */ + tags?: TrackedResource.tags; + + /** The resource-specific properties for this resource. */ + #suppress "@azure-tools/typespec-azure-core/no-private-usage" + @Azure.ResourceManager.Private.conditionalClientFlatten + properties?: AssociationUpdateProperties; +} + +/** The updatable properties of the Association. */ +model AssociationUpdateProperties { + /** Association Type */ + associationType?: AssociationType; + + /** Association Subnet */ + subnet?: AssociationSubnetUpdate; +} + +/** Association Subnet. */ +model AssociationSubnetUpdate { + /** Association ID. */ + id: string; +} + /** Association Properties. */ model AssociationProperties { /** Association Type */ @@ -232,13 +258,7 @@ interface AssociationsInterface { Association, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmCustomPatchSync< - Association, - Azure.ResourceManager.Foundations.ResourceUpdateModel< - Association, - AssociationProperties - > - >; + update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByTrafficController is ArmResourceListByParent; } diff --git a/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml b/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml index 35d5cb72156e..145f8a6cc3dd 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml +++ b/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml @@ -35,6 +35,16 @@ options: flavor: "azure" generate-test: true generate-sample: true + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/servicenetworking" + package-dir: "armservicenetworking" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" + fix-const-stuttering: true + flavor: "azure" + generate-examples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true "@azure-tools/typespec-java": package-dir: "azure-resourcemanager-servicenetworking" flavor: "azure"