diff --git a/package-lock.json b/package-lock.json index 22a0b9c4040d..50d17cbc3279 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,24 +8,24 @@ "devDependencies": { "@autorest/openapi-to-typespec": "0.10.11", "@azure-tools/typespec-apiview": "0.5.1", - "@azure-tools/typespec-autorest": "0.51.0", - "@azure-tools/typespec-azure-core": "0.51.0", - "@azure-tools/typespec-azure-portal-core": "0.51.0", - "@azure-tools/typespec-azure-resource-manager": "0.51.0", - "@azure-tools/typespec-azure-rulesets": "0.51.0", + "@azure-tools/typespec-autorest": "0.52.0", + "@azure-tools/typespec-azure-core": "0.52.0", + "@azure-tools/typespec-azure-portal-core": "0.52.0", + "@azure-tools/typespec-azure-resource-manager": "0.52.0", + "@azure-tools/typespec-azure-rulesets": "0.52.0", "@azure-tools/typespec-client-generator-cli": "0.15.3", - "@azure-tools/typespec-client-generator-core": "0.51.3", + "@azure-tools/typespec-client-generator-core": "0.52.0", "@azure-tools/typespec-liftr-base": "0.8.0", "@azure/avocado": "^0.9.1", - "@typespec/compiler": "0.65.3", - "@typespec/http": "0.65.0", - "@typespec/openapi": "0.65.0", - "@typespec/openapi3": "0.65.0", - "@typespec/prettier-plugin-typespec": "0.65.0", - "@typespec/rest": "0.65.0", - "@typespec/streams": "0.65.0", - "@typespec/versioning": "0.65.0", - "@typespec/xml": "0.65.0", + "@typespec/compiler": "0.66.0", + "@typespec/http": "0.66.0", + "@typespec/openapi": "0.66.0", + "@typespec/openapi3": "0.66.0", + "@typespec/prettier-plugin-typespec": "0.66.0", + "@typespec/rest": "0.66.0", + "@typespec/streams": "0.66.0", + "@typespec/versioning": "0.66.0", + "@typespec/xml": "0.66.0", "azure-rest-api-specs-eng-tools": "file:eng/tools", "oav": "^3.5.1", "prettier": "~3.3.3", @@ -536,6 +536,282 @@ "prettier": "~3.1.0" } }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-autorest": { + "version": "0.51.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.51.0.tgz", + "integrity": "sha512-PmhY5zxtsebTqNDRcssc1faaTuXyh284iwVY0Qn/mwNDczBOstqPbuBq/0j1LePnagRndvINowhqrePBmxCi6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@azure-tools/typespec-azure-core": "~0.51.0", + "@azure-tools/typespec-azure-resource-manager": "~0.51.0", + "@azure-tools/typespec-client-generator-core": "~0.51.0", + "@typespec/compiler": "~0.65.0", + "@typespec/http": "~0.65.0", + "@typespec/openapi": "~0.65.0", + "@typespec/rest": "~0.65.0", + "@typespec/versioning": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-azure-core": { + "version": "0.51.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.51.0.tgz", + "integrity": "sha512-ig27mvrxVEfyIzTPnWWk1ASkL0x8jKx5V3sanICv1p8iW6qXEcGZZHTmI2onfFcXSoEV52r0MWj9iu0yI4bxMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.0", + "@typespec/http": "~0.65.0", + "@typespec/rest": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-azure-resource-manager": { + "version": "0.51.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.51.0.tgz", + "integrity": "sha512-vqEwAsT8pkG90V3u1cPTKV3nZTuuyl6W+GMBeDfVLYmhQmJQBiJ78jTgFEqsGarAvp9KSRdY4+HUvaOGonONPA==", + "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.51.0", + "@typespec/compiler": "~0.65.0", + "@typespec/http": "~0.65.0", + "@typespec/openapi": "~0.65.0", + "@typespec/rest": "~0.65.0", + "@typespec/versioning": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@azure-tools/typespec-client-generator-core": { + "version": "0.51.3", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.51.3.tgz", + "integrity": "sha512-gwHpnZsUdfJAiJ3vlLzZeBQB/2Z/CKvL8144v9mOBuqrTnF4NVr+KWahFY6GrH+5/2gWxcVVKBYsGOS6eTdKuA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "change-case": "~5.4.4", + "pluralize": "^8.0.0", + "yaml": "~2.7.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@azure-tools/typespec-azure-core": "~0.51.0", + "@typespec/compiler": "~0.65.0", + "@typespec/http": "~0.65.0", + "@typespec/openapi": "~0.65.0", + "@typespec/rest": "~0.65.0", + "@typespec/versioning": "~0.65.0", + "@typespec/xml": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/compiler": { + "version": "0.65.3", + "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.65.3.tgz", + "integrity": "sha512-hPiTMyXYe1ips8o/1OcrzKkdrwFt3NinrD70AldhR6cPNz9O9y9r+TdE62c3VpPNknuamNVJn1jTkOWVhUczxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.26.2", + "@npmcli/arborist": "^8.0.0", + "ajv": "~8.17.1", + "change-case": "~5.4.4", + "globby": "~14.0.2", + "mustache": "~4.2.0", + "picocolors": "~1.1.1", + "prettier": "~3.4.2", + "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.7.0", + "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.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.65.0.tgz", + "integrity": "sha512-mSJUVmlBq4VO2Pv+mXNXccsuq+8AySWUwbJbbyNQTtpb2M9MIKh2+fbnyb8EMjskxpBWNP2DqABhfEMVesVUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.0", + "@typespec/streams": "~0.65.0" + }, + "peerDependenciesMeta": { + "@typespec/streams": { + "optional": true + } + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/openapi": { + "version": "0.65.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.65.0.tgz", + "integrity": "sha512-BMrdO2BOTo2Yiz/GMIwZuLSJbtodbKsYTAEOxbKTdrROs8Sgl2QLNitD3W48k3I9KQ69nx4RJt0kSbaAYb8L4Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.0", + "@typespec/http": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/openapi3": { + "version": "0.65.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.65.0.tgz", + "integrity": "sha512-TuOCW+TobY8ecWGP2bXduyVYUkjKrCcTKBykxuYHRVEwhs9XW2rpL5vN+V5JP4r/xV0TnADd9Nowi+iwHBFVuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@apidevtools/swagger-parser": "~10.1.1", + "openapi-types": "~12.1.3", + "yaml": "~2.7.0" + }, + "bin": { + "tsp-openapi3": "cmd/tsp-openapi3.js" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.0", + "@typespec/http": "~0.65.0", + "@typespec/json-schema": "~0.65.0", + "@typespec/openapi": "~0.65.0", + "@typespec/versioning": "~0.65.0" + }, + "peerDependenciesMeta": { + "@typespec/json-schema": { + "optional": true + }, + "@typespec/xml": { + "optional": true + } + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/prettier-plugin-typespec": { + "version": "0.65.0", + "resolved": "https://registry.npmjs.org/@typespec/prettier-plugin-typespec/-/prettier-plugin-typespec-0.65.0.tgz", + "integrity": "sha512-xk8RHulJiEEg61TEU2Bvwnq8V1C+2pilod1QvTtp23rFB4PqPPrX3f4MXwvVk+pI1M7Eqi1Ga759o8J4R9t6vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier": "~3.4.2" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/prettier-plugin-typespec/node_modules/prettier": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.65.0.tgz", + "integrity": "sha512-279qiO8wy5Ks2nZ/byoXhSey8Gk+leUFJVDMNkjxtxGIswN19EV/MwawUcFQF+gNvExM58RHTx+7BJuA22K6aQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.0", + "@typespec/http": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/streams": { + "version": "0.65.0", + "resolved": "https://registry.npmjs.org/@typespec/streams/-/streams-0.65.0.tgz", + "integrity": "sha512-lfHlIweg/zwRyj4RoCMNbNUjx0Lj/FSg+HkjP7yjuk4C3n9t/kA/uqYeVQJm/kIvTGnU+MNFUyPh47Gt93x6+Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/versioning": { + "version": "0.65.0", + "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.65.0.tgz", + "integrity": "sha512-ACNOSgWVpiBwLyA8UlDSDeby+xDYm6wnRCPmdtdoyUpEwgBV/DcJerYf/ujVSCF0jDHItLQ65pC3ydMJDsJWdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.0" + } + }, + "node_modules/@autorest/openapi-to-typespec/node_modules/@typespec/xml": { + "version": "0.65.0", + "resolved": "https://registry.npmjs.org/@typespec/xml/-/xml-0.65.0.tgz", + "integrity": "sha512-tBK0gJNonuxLL9A/ob546UR2AtJuv0yzZfV1tn/afwB+P+BJKuYUGNTuP8k11uqo3BGlEk1vLOYuhy8JUS33sw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@typespec/compiler": "~0.65.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", @@ -726,55 +1002,55 @@ } }, "node_modules/@azure-tools/typespec-autorest": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.51.0.tgz", - "integrity": "sha512-PmhY5zxtsebTqNDRcssc1faaTuXyh284iwVY0Qn/mwNDczBOstqPbuBq/0j1LePnagRndvINowhqrePBmxCi6A==", + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.52.0.tgz", + "integrity": "sha512-r08neSPfski9Q3Jvp6tardmS4KXHOML0wSdz5DZgVg0UN+yaVFgLIvMy7VwS636bjpNhwZj8gMT4jYyVM44hlw==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.51.0", - "@azure-tools/typespec-azure-resource-manager": "~0.51.0", - "@azure-tools/typespec-client-generator-core": "~0.51.0", - "@typespec/compiler": "~0.65.0", - "@typespec/http": "~0.65.0", - "@typespec/openapi": "~0.65.0", - "@typespec/rest": "~0.65.0", - "@typespec/versioning": "~0.65.0" + "@azure-tools/typespec-azure-core": "~0.52.0", + "@azure-tools/typespec-azure-resource-manager": "~0.52.0", + "@azure-tools/typespec-client-generator-core": "~0.52.0", + "@typespec/compiler": "~0.66.0", + "@typespec/http": "~0.66.0", + "@typespec/openapi": "~0.66.0", + "@typespec/rest": "~0.66.0", + "@typespec/versioning": "~0.66.0" } }, "node_modules/@azure-tools/typespec-azure-core": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.51.0.tgz", - "integrity": "sha512-ig27mvrxVEfyIzTPnWWk1ASkL0x8jKx5V3sanICv1p8iW6qXEcGZZHTmI2onfFcXSoEV52r0MWj9iu0yI4bxMA==", + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.52.0.tgz", + "integrity": "sha512-pZkzjQCIgnUdVY0e4YNAAD3vN3HaZim1MMZJRiQaD5vK7WuQQLKYfOf/y8W5zim0GLpvKLNg8mMMmPrRZlW0BQ==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0", - "@typespec/http": "~0.65.0", - "@typespec/rest": "~0.65.0" + "@typespec/compiler": "~0.66.0", + "@typespec/http": "~0.66.0", + "@typespec/rest": "~0.66.0" } }, "node_modules/@azure-tools/typespec-azure-portal-core": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-portal-core/-/typespec-azure-portal-core-0.51.0.tgz", - "integrity": "sha512-C4nflp/OLcY3YOK1VHy2PrkdH1NwvXOLfOt2KYgvAELbowbd4ahb4WpRsbBf2V8u0qpjoub6dDG07ysLp9Lmww==", + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-portal-core/-/typespec-azure-portal-core-0.52.0.tgz", + "integrity": "sha512-EnXxV9xJAiP53SY8Rs+Ne/IajdGanlu6onlX42zE7FkKOpzKGB+0Kr4G0LAuYl9bSB4X8pTtCZk0DtxPAmgzpQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@azure-tools/typespec-azure-resource-manager": "~0.51.0", - "@typespec/compiler": "~0.65.0" + "@azure-tools/typespec-azure-resource-manager": "~0.52.0", + "@typespec/compiler": "~0.66.0" } }, "node_modules/@azure-tools/typespec-azure-resource-manager": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.51.0.tgz", - "integrity": "sha512-vqEwAsT8pkG90V3u1cPTKV3nZTuuyl6W+GMBeDfVLYmhQmJQBiJ78jTgFEqsGarAvp9KSRdY4+HUvaOGonONPA==", + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.52.0.tgz", + "integrity": "sha512-A5nCTEWdAo1tpG5nwWHDMDqEAopp3K3CgbnOB0wwiAV8+zkr5qNC0/48WQvu7pmwlgMDgdvZpNty3bWdLRztQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -785,28 +1061,28 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.51.0", - "@typespec/compiler": "~0.65.0", - "@typespec/http": "~0.65.0", - "@typespec/openapi": "~0.65.0", - "@typespec/rest": "~0.65.0", - "@typespec/versioning": "~0.65.0" + "@azure-tools/typespec-azure-core": "~0.52.0", + "@typespec/compiler": "~0.66.0", + "@typespec/http": "~0.66.0", + "@typespec/openapi": "~0.66.0", + "@typespec/rest": "~0.66.0", + "@typespec/versioning": "~0.66.0" } }, "node_modules/@azure-tools/typespec-azure-rulesets": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-rulesets/-/typespec-azure-rulesets-0.51.0.tgz", - "integrity": "sha512-R20BCEjdN0KT1uAk6cWK44j3ELD9x1oJlYCiXOSY7A2g30nzBvr2E7BT3V09A9Og9ArP+Uwh0J5ZvD7dn/cLCQ==", + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-rulesets/-/typespec-azure-rulesets-0.52.0.tgz", + "integrity": "sha512-fvp2YffW55wSjDMaBA9H/kfxHN6pvPM3JWgUcD4QuC7lnTrBymJHpWIW19X8BbiVPwz9dKEcyY6iHyU/iOyehw==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.51.0", - "@azure-tools/typespec-azure-resource-manager": "~0.51.0", - "@azure-tools/typespec-client-generator-core": "~0.51.0", - "@typespec/compiler": "~0.65.0" + "@azure-tools/typespec-azure-core": "~0.52.0", + "@azure-tools/typespec-azure-resource-manager": "~0.52.0", + "@azure-tools/typespec-client-generator-core": "~0.52.0", + "@typespec/compiler": "~0.66.0" } }, "node_modules/@azure-tools/typespec-client-generator-cli": { @@ -841,9 +1117,9 @@ } }, "node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.51.3", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.51.3.tgz", - "integrity": "sha512-gwHpnZsUdfJAiJ3vlLzZeBQB/2Z/CKvL8144v9mOBuqrTnF4NVr+KWahFY6GrH+5/2gWxcVVKBYsGOS6eTdKuA==", + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.52.0.tgz", + "integrity": "sha512-P1kh4mkqPmZY0JsJAtnTRDjzynI05TybgRTsaEnQtFwnlbfUzu1KtKDF4midQDMT6Ao8JEt/S2Nd4nQ1/qrHyQ==", "dev": true, "license": "MIT", "dependencies": { @@ -853,15 +1129,15 @@ }, "engines": { "node": ">=18.0.0" - }, - "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.51.0", - "@typespec/compiler": "~0.65.0", - "@typespec/http": "~0.65.0", - "@typespec/openapi": "~0.65.0", - "@typespec/rest": "~0.65.0", - "@typespec/versioning": "~0.65.0", - "@typespec/xml": "~0.65.0" + }, + "peerDependencies": { + "@azure-tools/typespec-azure-core": "~0.52.0", + "@typespec/compiler": "~0.66.0", + "@typespec/http": "~0.66.0", + "@typespec/openapi": "~0.66.0", + "@typespec/rest": "~0.66.0", + "@typespec/versioning": "~0.66.0", + "@typespec/xml": "~0.66.0" } }, "node_modules/@azure-tools/typespec-liftr-base": { @@ -2151,6 +2427,16 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@inquirer/figures": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.10.tgz", + "integrity": "sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -3771,104 +4057,435 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", + "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/visitor-keys": "8.26.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", + "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.26.0", + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", + "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.0", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typespec/compiler": { + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.66.0.tgz", + "integrity": "sha512-JoaHQCc1Va48xuiws7UHFa9ix1bxxJrjTud69mrbu67HerqLN5meLwNkqVGrOlEfUnvMcnaXNQlHbMbixmshQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.26.2", + "@inquirer/prompts": "^7.3.1", + "@npmcli/arborist": "^8.0.0", + "ajv": "~8.17.1", + "change-case": "~5.4.4", + "globby": "~14.0.2", + "is-unicode-supported": "^2.1.0", + "mustache": "~4.2.0", + "picocolors": "~1.1.1", + "prettier": "~3.4.2", + "semver": "^7.6.3", + "temporal-polyfill": "^0.2.5", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.12", + "yaml": "~2.7.0", + "yargs": "~17.7.2" + }, + "bin": { + "tsp": "cmd/tsp.js", + "tsp-server": "cmd/tsp-server.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/checkbox": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.2.tgz", + "integrity": "sha512-PL9ixC5YsPXzXhAZFUPmkXGxfgjkdfZdPEPPmt4kFwQ4LBMDG9n/nHXYRGGZSKZJs+d1sGKWgS2GiPzVRKUdtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/confirm": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz", + "integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/core": { + "version": "10.1.7", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.7.tgz", + "integrity": "sha512-AA9CQhlrt6ZgiSy6qoAigiA1izOa751ugX6ioSjqgJ+/Gd+tEN/TORk5sUYNjXuHWfW0r1n/a6ak4u/NqHHrtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/editor": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.7.tgz", + "integrity": "sha512-gktCSQtnSZHaBytkJKMKEuswSk2cDBuXX5rxGFv306mwHfBPjg5UAldw9zWGoEyvA9KpRDkeM4jfrx0rXn0GyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/expand": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.9.tgz", + "integrity": "sha512-Xxt6nhomWTAmuSX61kVgglLjMEFGa+7+F6UUtdEUeg7fg4r9vaFttUUKrtkViYYrQBA5Ia1tkOJj2koP9BuLig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/input": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.6.tgz", + "integrity": "sha512-1f5AIsZuVjPT4ecA8AwaxDFNHny/tSershP/cTvTDxLdiIGTeILNcKozB0LaYt6mojJLUbOYhpIxicaYf7UKIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/number": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.9.tgz", + "integrity": "sha512-iN2xZvH3tyIYXLXBvlVh0npk1q/aVuKXZo5hj+K3W3D4ngAEq/DkLpofRzx6oebTUhBvOgryZ+rMV0yImKnG3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/password": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.9.tgz", + "integrity": "sha512-xBEoOw1XKb0rIN208YU7wM7oJEHhIYkfG7LpTJAEW913GZeaoQerzf5U/LSHI45EVvjAdgNXmXgH51cUXKZcJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/prompts": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", + "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.1.2", + "@inquirer/confirm": "^5.1.6", + "@inquirer/editor": "^4.2.7", + "@inquirer/expand": "^4.0.9", + "@inquirer/input": "^4.1.6", + "@inquirer/number": "^3.0.9", + "@inquirer/password": "^4.0.9", + "@inquirer/rawlist": "^4.0.9", + "@inquirer/search": "^3.0.9", + "@inquirer/select": "^4.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/rawlist": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.9.tgz", + "integrity": "sha512-+5t6ebehKqgoxV8fXwE49HkSF2Rc9ijNiVGEQZwvbMI61/Q5RcD+jWD6Gs1tKdz5lkI8GRBL31iO0HjGK1bv+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.7", + "@inquirer/type": "^3.0.4", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@typespec/compiler/node_modules/@inquirer/search": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.9.tgz", + "integrity": "sha512-DWmKztkYo9CvldGBaRMr0ETUHgR86zE6sPDVOHsqz4ISe9o1LuiWfgJk+2r75acFclA93J/lqzhT0dTjCzHuoA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" + "@inquirer/core": "^10.1.7", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", + "yoctocolors-cjs": "^2.1.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18" }, "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "node_modules/@typespec/compiler/node_modules/@inquirer/select": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.9.tgz", + "integrity": "sha512-BpJyJe7Dkhv2kz7yG7bPSbJLQuu/rqyNlF1CfiiFeFwouegfH+zh13KDyt6+d9DwucKo7hqM3wKLLyJxZMO+Xg==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@inquirer/core": "^10.1.7", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.4", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "node_modules/@typespec/compiler/node_modules/@inquirer/type": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz", + "integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.26.0", - "eslint-visitor-keys": "^4.2.0" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@typespec/compiler": { - "version": "0.65.3", - "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.65.3.tgz", - "integrity": "sha512-hPiTMyXYe1ips8o/1OcrzKkdrwFt3NinrD70AldhR6cPNz9O9y9r+TdE62c3VpPNknuamNVJn1jTkOWVhUczxA==", + "node_modules/@typespec/compiler/node_modules/@types/node": { + "version": "22.13.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.9.tgz", + "integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "@babel/code-frame": "~7.26.2", - "@npmcli/arborist": "^8.0.0", - "ajv": "~8.17.1", - "change-case": "~5.4.4", - "globby": "~14.0.2", - "mustache": "~4.2.0", - "picocolors": "~1.1.1", - "prettier": "~3.4.2", - "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.7.0", - "yargs": "~17.7.2" - }, - "bin": { - "tsp": "cmd/tsp.js", - "tsp-server": "cmd/tsp-server.js" - }, + "undici-types": "~6.20.0" + } + }, + "node_modules/@typespec/compiler/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=8" } }, "node_modules/@typespec/compiler/node_modules/prettier": { @@ -3887,18 +4504,55 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/@typespec/compiler/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@typespec/compiler/node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/@typespec/compiler/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@typespec/http": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.65.0.tgz", - "integrity": "sha512-mSJUVmlBq4VO2Pv+mXNXccsuq+8AySWUwbJbbyNQTtpb2M9MIKh2+fbnyb8EMjskxpBWNP2DqABhfEMVesVUkg==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.66.0.tgz", + "integrity": "sha512-IKD5FMvnjbZ5cdQ3wTXXAnnQgDcqFuPtVphpTdnYER87gGEa8YNLocgK44CLFB+GvVkTecDltG0CNKPSPQ0RMw==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0", - "@typespec/streams": "~0.65.0" + "@typespec/compiler": "~0.66.0", + "@typespec/streams": "~0.66.0" }, "peerDependenciesMeta": { "@typespec/streams": { @@ -3907,23 +4561,23 @@ } }, "node_modules/@typespec/openapi": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.65.0.tgz", - "integrity": "sha512-BMrdO2BOTo2Yiz/GMIwZuLSJbtodbKsYTAEOxbKTdrROs8Sgl2QLNitD3W48k3I9KQ69nx4RJt0kSbaAYb8L4Q==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.66.0.tgz", + "integrity": "sha512-Oiwx2glN5bET4C3cuU5DIhd7nL/wBi+tg1KGBx0bU4KogLaGf+BLW5ak0Epxnvhy8VYvPhCpTGbez0I6gkEOwA==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0", - "@typespec/http": "~0.65.0" + "@typespec/compiler": "~0.66.0", + "@typespec/http": "~0.66.0" } }, "node_modules/@typespec/openapi3": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.65.0.tgz", - "integrity": "sha512-TuOCW+TobY8ecWGP2bXduyVYUkjKrCcTKBykxuYHRVEwhs9XW2rpL5vN+V5JP4r/xV0TnADd9Nowi+iwHBFVuw==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.66.0.tgz", + "integrity": "sha512-tHZVF7pfHCiHVkNlnfcuh8xkXCJ9j1LDpwYAQCzuMa2uH1dg1G6UiuDDySFgqDCgBp6z1kkcgQ4G9FQEN4Iz8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -3938,11 +4592,11 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0", - "@typespec/http": "~0.65.0", - "@typespec/json-schema": "~0.65.0", - "@typespec/openapi": "~0.65.0", - "@typespec/versioning": "~0.65.0" + "@typespec/compiler": "~0.66.0", + "@typespec/http": "~0.66.0", + "@typespec/json-schema": "~0.66.0", + "@typespec/openapi": "~0.66.0", + "@typespec/versioning": "~0.66.0" }, "peerDependenciesMeta": { "@typespec/json-schema": { @@ -3954,9 +4608,9 @@ } }, "node_modules/@typespec/prettier-plugin-typespec": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/prettier-plugin-typespec/-/prettier-plugin-typespec-0.65.0.tgz", - "integrity": "sha512-xk8RHulJiEEg61TEU2Bvwnq8V1C+2pilod1QvTtp23rFB4PqPPrX3f4MXwvVk+pI1M7Eqi1Ga759o8J4R9t6vg==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/prettier-plugin-typespec/-/prettier-plugin-typespec-0.66.0.tgz", + "integrity": "sha512-6awOkkPyx9GKV/x9YGCE95rexKnPOIiHOCbDWCDs7A1gJEIwlzacSULFny2VrhnSSNmpx6Z3d21Z/2Nj0ic+Bg==", "dev": true, "license": "MIT", "dependencies": { @@ -3980,56 +4634,56 @@ } }, "node_modules/@typespec/rest": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.65.0.tgz", - "integrity": "sha512-279qiO8wy5Ks2nZ/byoXhSey8Gk+leUFJVDMNkjxtxGIswN19EV/MwawUcFQF+gNvExM58RHTx+7BJuA22K6aQ==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.66.0.tgz", + "integrity": "sha512-r/o1GXz/BB9lgMPzMkrLIhTUm4elx5JAD/t6QGWDdUptXntVSapCYmIwCV/Iv10+QnHrsB1/v152nz9nd4lOHg==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0", - "@typespec/http": "~0.65.0" + "@typespec/compiler": "~0.66.0", + "@typespec/http": "~0.66.0" } }, "node_modules/@typespec/streams": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/streams/-/streams-0.65.0.tgz", - "integrity": "sha512-lfHlIweg/zwRyj4RoCMNbNUjx0Lj/FSg+HkjP7yjuk4C3n9t/kA/uqYeVQJm/kIvTGnU+MNFUyPh47Gt93x6+Q==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/streams/-/streams-0.66.0.tgz", + "integrity": "sha512-W7qtcn+l6/eTkCS3ux7/BAjWBYebbCQ1K4dHtuhBYrjOJOkHWE27hzeTUWuNwY5YwKrIe0ln1Jmf9iPaUUw5tQ==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0" + "@typespec/compiler": "~0.66.0" } }, "node_modules/@typespec/versioning": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.65.0.tgz", - "integrity": "sha512-ACNOSgWVpiBwLyA8UlDSDeby+xDYm6wnRCPmdtdoyUpEwgBV/DcJerYf/ujVSCF0jDHItLQ65pC3ydMJDsJWdQ==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.66.0.tgz", + "integrity": "sha512-8AhTpo6jxcjwxZPAegI/sDEePoqXz5Si8XBw/x7jz+EkBvbgqT9GT0UUzJL1XgOwQaks2aMr4DdOn8n9kOCltg==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0" + "@typespec/compiler": "~0.66.0" } }, "node_modules/@typespec/xml": { - "version": "0.65.0", - "resolved": "https://registry.npmjs.org/@typespec/xml/-/xml-0.65.0.tgz", - "integrity": "sha512-tBK0gJNonuxLL9A/ob546UR2AtJuv0yzZfV1tn/afwB+P+BJKuYUGNTuP8k11uqo3BGlEk1vLOYuhy8JUS33sw==", + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/@typespec/xml/-/xml-0.66.0.tgz", + "integrity": "sha512-jbBRctPzroJK+ANxe1YNXwTsx99N6rLuaxbb/jVShgHPTzLAD1LckswEMO9HPfQWF8ld1+YB0yJQMoMjY1ZGjg==", "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.65.0" + "@typespec/compiler": "~0.66.0" } }, "node_modules/@vitest/expect": { @@ -4219,6 +4873,35 @@ } } }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -4788,6 +5471,16 @@ "@colors/colors": "1.5.0" } }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -5890,6 +6583,41 @@ "dev": true, "license": "MIT" }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/external-editor/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -7924,6 +8652,16 @@ "mustache": "bin/mustache" } }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/nanoid": { "version": "3.3.8", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", @@ -8741,6 +9479,16 @@ "node": ">= 0.8.0" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -10724,6 +11472,19 @@ "tslib": "^2.0.3" } }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -11648,6 +12409,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/z-schema": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", diff --git a/package.json b/package.json index 835b6a97dcbf..b39cfa432231 100644 --- a/package.json +++ b/package.json @@ -2,25 +2,25 @@ "name": "azure-rest-api-specs", "devDependencies": { "@azure-tools/typespec-apiview": "0.5.1", - "@azure-tools/typespec-autorest": "0.51.0", - "@azure-tools/typespec-azure-core": "0.51.0", - "@azure-tools/typespec-azure-portal-core": "0.51.0", - "@azure-tools/typespec-azure-resource-manager": "0.51.0", - "@azure-tools/typespec-azure-rulesets": "0.51.0", + "@azure-tools/typespec-autorest": "0.52.0", + "@azure-tools/typespec-azure-core": "0.52.0", + "@azure-tools/typespec-azure-portal-core": "0.52.0", + "@azure-tools/typespec-azure-resource-manager": "0.52.0", + "@azure-tools/typespec-azure-rulesets": "0.52.0", "@azure-tools/typespec-client-generator-cli": "0.15.3", - "@azure-tools/typespec-client-generator-core": "0.51.3", + "@azure-tools/typespec-client-generator-core": "0.52.0", "@azure-tools/typespec-liftr-base": "0.8.0", "@azure/avocado": "^0.9.1", "@autorest/openapi-to-typespec": "0.10.11", - "@typespec/compiler": "0.65.3", - "@typespec/http": "0.65.0", - "@typespec/openapi": "0.65.0", - "@typespec/openapi3": "0.65.0", - "@typespec/prettier-plugin-typespec": "0.65.0", - "@typespec/rest": "0.65.0", - "@typespec/streams": "0.65.0", - "@typespec/versioning": "0.65.0", - "@typespec/xml": "0.65.0", + "@typespec/compiler": "0.66.0", + "@typespec/http": "0.66.0", + "@typespec/openapi": "0.66.0", + "@typespec/openapi3": "0.66.0", + "@typespec/prettier-plugin-typespec": "0.66.0", + "@typespec/rest": "0.66.0", + "@typespec/streams": "0.66.0", + "@typespec/versioning": "0.66.0", + "@typespec/xml": "0.66.0", "azure-rest-api-specs-eng-tools": "file:eng/tools", "oav": "^3.5.1", "prettier": "~3.3.3", diff --git a/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp b/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp index f225f675cb32..b7ac14507511 100644 --- a/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp +++ b/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp @@ -7,13 +7,10 @@ import "@azure-tools/typespec-azure-resource-manager"; using TypeSpec.Http; using TypeSpec.Rest; using TypeSpec.Versioning; -using Azure.Core; using Azure.ResourceManager; @armProviderNamespace("Microsoft.AgriculturePlatform") -@service({ - title: "Microsoft.AgriculturePlatform", -}) +@service(#{ title: "Microsoft.AgriculturePlatform" }) @versioned(Microsoft.AgriculturePlatform.Versions) namespace Microsoft.AgriculturePlatform; @@ -35,7 +32,7 @@ model AgriServiceResource is TrackedResource { @pattern("^[a-zA-Z0-9-]{3,24}$") @key("agriServiceResourceName") @segment("agriServices") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; @@ -72,26 +69,26 @@ union ProvisioningState { @doc("Details of the Agriculture AgriDataManager.") model AgriServiceResourceProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; @doc("Config of the AgriService instance.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) config?: AgriServiceConfig; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Managed On Behalf Of Configuration.") managedOnBehalfOfConfiguration?: ManagedOnBehalfOfConfiguration; @doc("Data connector credentials of AgriService instance.") - @OpenAPI.extension("x-ms-identifiers", ["key"]) - @visibility("read", "create", "update") + @OpenAPI.extension("x-ms-identifiers", #["key"]) + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) dataConnectorCredentials?: DataConnectorCredentialMap[]; @doc("AgriService installed solutions.") - @OpenAPI.extension("x-ms-identifiers", ["key"]) - @visibility("read", "create", "update") + @OpenAPI.extension("x-ms-identifiers", #["key"]) + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) installedSolutions?: InstalledSolutionMap[]; } @@ -116,39 +113,39 @@ model InstalledSolutionMap { @doc("Config of the AgriService resource instance.") model AgriServiceConfig { @doc("Instance URI of the AgriService instance.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(2) @maxLength(256) instanceUri?: string; @doc("Version of AgriService instance.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(2) @maxLength(256) version?: string; @doc("App service resource Id.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(2) appServiceResourceId?: string; @doc("Cosmos Db resource Id.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(2) cosmosDbResourceId?: string; @doc("Storage account resource Id.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(2) storageAccountResourceId?: string; @doc("Key vault resource Id.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(2) keyVaultResourceId?: string; @doc("Redis cache resource Id.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(2) redisCacheResourceId?: string; } @@ -156,26 +153,26 @@ model AgriServiceConfig { @doc("The properties related to an AgriService data connector.") model DataConnectorCredentials { @doc("Type of credential.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) kind?: AuthCredentialsKind; @doc("Client Id associated with the provider, if type of credentials is OAuthClientCredentials.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) clientId?: string; @doc("Uri of the key vault") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) keyVaultUri?: string; @doc("Name of the key vault key.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) keyName?: string; @doc("Version of the key vault key.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) keyVersion?: string; } @@ -194,39 +191,39 @@ union AuthCredentialsKind { @doc("Installed data manager for Agriculture solution detail.") model Solution { @doc("Application name of the solution.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) applicationName?: string; @doc("Partner Id.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) partnerId?: string; @doc("Marketplace publisher Id.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) marketPlacePublisherId?: string; @doc("Saas subscription Id.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) saasSubscriptionId?: string; @doc("Saas subscription name.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) saasSubscriptionName?: string; @doc("Plan Id.") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @minLength(2) planId?: string; } @doc("Configuration of the managed on behalf of resource.") model ManagedOnBehalfOfConfiguration { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Associated MoboBrokerResources.") moboBrokerResources: MoboBrokerResource[]; } @@ -237,7 +234,7 @@ model MoboBrokerResource { * The fully qualified resource ID of the MoboBroker resource. * Example: `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}` */ - @visibility("read") + @visibility(Lifecycle.Read) id: string; } @@ -279,7 +276,7 @@ op ArmResourceListActionSync< @doc("The list of available agri solutions.") model AvailableAgriSolutionListResult { @doc("Agri solutions list.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) solutions: DataManagerForAgricultureSolution[]; } diff --git a/specification/ai/DocumentIntelligence/main.tsp b/specification/ai/DocumentIntelligence/main.tsp index e845a080c775..f04d985ed923 100644 --- a/specification/ai/DocumentIntelligence/main.tsp +++ b/specification/ai/DocumentIntelligence/main.tsp @@ -20,9 +20,7 @@ using TypeSpec.Http; } ]> ) -@service({ - title: "Document Intelligence (formerly Form Recognizer)", -}) +@service(#{ title: "Document Intelligence (formerly Form Recognizer)" }) @server( "{endpoint}/documentintelligence", "Extracts content, layout, and structured data from documents.", diff --git a/specification/ai/DocumentIntelligence/models.tsp b/specification/ai/DocumentIntelligence/models.tsp index 127bc6b5afed..a2cf02c8cea6 100644 --- a/specification/ai/DocumentIntelligence/models.tsp +++ b/specification/ai/DocumentIntelligence/models.tsp @@ -1321,7 +1321,7 @@ model ClassifierCopyAuthorization { model DocumentIntelligenceOperationDetails { @doc("Operation ID") @key - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) operationId: string; @doc("Operation status. notStarted, running, completed, or failed") @@ -1358,7 +1358,7 @@ model DocumentIntelligenceOperationDetails { @doc("Document model info.") model DocumentModelDetails { @key - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Unique document model name.") @pattern("^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$") modelId: string; @@ -1368,40 +1368,40 @@ model DocumentModelDetails { description?: string; @doc("Date and time (UTC) when the document model was created.") - @visibility("read") + @visibility(Lifecycle.Read) createdDateTime: utcDateTime; @doc("Date and time (UTC) when the document model will expire.") - @visibility("read") + @visibility(Lifecycle.Read) expirationDateTime?: utcDateTime; @doc("Date and time (UTC) when the document model was last modified.") - @visibility("read") + @visibility(Lifecycle.Read) modifiedDateTime?: utcDateTime; @doc("API version used to create this document model.") - @visibility("read") + @visibility(Lifecycle.Read) apiVersion?: string; @doc("List of key-value tag attributes associated with the document model.") tags?: Record; @doc("Custom document model build mode.") - @visibility("read") + @visibility(Lifecycle.Read) buildMode?: DocumentBuildMode; @doc(""" Azure Blob Storage location containing the training data. Either azureBlobSource or azureBlobFileListSource must be specified. """) - @visibility("read") + @visibility(Lifecycle.Read) azureBlobSource?: AzureBlobContentSource; @doc(""" Azure Blob Storage file list specifying the training data. Either azureBlobSource or azureBlobFileListSource must be specified. """) - @visibility("read") + @visibility(Lifecycle.Read) azureBlobFileListSource?: AzureBlobFileListContentSource; @doc("For composed models, the custom classifier to split and classify the input file.") @@ -1411,15 +1411,15 @@ model DocumentModelDetails { split?: SplitMode = SplitMode.none; @doc("Supported document types.") - @visibility("read") + @visibility(Lifecycle.Read) docTypes?: Record; @doc("List of warnings encountered while building the model.") - @visibility("read") + @visibility(Lifecycle.Read) warnings?: DocumentIntelligenceWarning[]; @doc("Number of V100-equivalent GPU hours consumed for model training.") - @visibility("read") + @visibility(Lifecycle.Read) trainingHours?: float32; } @@ -1520,7 +1520,7 @@ model ClassifierDocumentTypeDetails { @resource("documentClassifiers") model DocumentClassifierDetails { @key - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Unique document classifier name.") @pattern("^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$") @maxLength(64) @@ -1537,7 +1537,7 @@ model DocumentClassifierDetails { expirationDateTime?: utcDateTime; @doc("Date and time (UTC) when the document model was last modified.") - @visibility("read") + @visibility(Lifecycle.Read) modifiedDateTime?: utcDateTime; @doc("API version used to create this document classifier.") diff --git a/specification/ai/Face/main.tsp b/specification/ai/Face/main.tsp index e74fe99a47a7..8db754e34662 100644 --- a/specification/ai/Face/main.tsp +++ b/specification/ai/Face/main.tsp @@ -14,9 +14,7 @@ using TypeSpec.Rest; using TypeSpec.Versioning; @useAuth(KeyAuth | AADToken) -@service({ - title: "Azure AI Face API", -}) +@service(#{ title: "Azure AI Face API" }) @versioned(Versions) @server( "{endpoint}/face/{apiVersion}", diff --git a/specification/ai/Face/models.common.tsp b/specification/ai/Face/models.common.tsp index c9746b6a544a..5acf765d8c1d 100644 --- a/specification/ai/Face/models.common.tsp +++ b/specification/ai/Face/models.common.tsp @@ -117,7 +117,7 @@ model FaceUserData { @resource("persistedfaces") model BaseFace { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("Face ID of the face.") persistedFaceId: uuid; diff --git a/specification/ai/Face/models.facelist.tsp b/specification/ai/Face/models.facelist.tsp index f6ffdfb437d0..04bb155b2940 100644 --- a/specification/ai/Face/models.facelist.tsp +++ b/specification/ai/Face/models.facelist.tsp @@ -13,7 +13,7 @@ namespace Face; @resource("facelists") model FaceList is BaseCollection { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("Valid character is letter in lower case or digit or '-' or '_', maximum length is 64.") faceListId: collectionId; @@ -35,7 +35,7 @@ model FaceListFace is BaseFace; @resource("largefacelists") model LargeFaceList is BaseCollection { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("Valid character is letter in lower case or digit or '-' or '_', maximum length is 64.") largeFaceListId: collectionId; } diff --git a/specification/ai/Face/models.persondirectory.tsp b/specification/ai/Face/models.persondirectory.tsp index c67f66ad3d02..f2b0421c0051 100644 --- a/specification/ai/Face/models.persondirectory.tsp +++ b/specification/ai/Face/models.persondirectory.tsp @@ -13,7 +13,7 @@ namespace Face; @doc("Person resource for person directory") model PersonDirectoryPerson { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("Person ID of the person.") personId: uuid; @@ -24,7 +24,7 @@ model PersonDirectoryPerson { @doc("Long running operation resource for person directory.") model OperationResult { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("Operation ID of the operation.") operationId: uuid; @@ -50,7 +50,7 @@ model OperationResult { model PersonDirectoryRecognitionModel { @key @doc("The 'recognitionModel' associated with faces.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) recognitionModel: RecognitionModel; } @@ -63,7 +63,7 @@ model PersonDirectoryFace is BaseFace; @resource("dynamicpersongroups") model DynamicPersonGroup { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("ID of the dynamic person group.") dynamicPersonGroupId: collectionId; diff --git a/specification/ai/Face/models.persongroup.tsp b/specification/ai/Face/models.persongroup.tsp index 606329053a57..d48c4966d59d 100644 --- a/specification/ai/Face/models.persongroup.tsp +++ b/specification/ai/Face/models.persongroup.tsp @@ -13,7 +13,7 @@ namespace Face; @doc("Base model for person.") model BasePersonGroupPerson { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("ID of the person.") personId: uuid; @@ -27,7 +27,7 @@ model BasePersonGroupPerson { @doc("The container of the uploaded person data, including face recognition feature, and up to 10,000 persons. To handle larger scale face identification problem, please consider using Large Person Group.") model PersonGroup is BaseCollection { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("ID of the container.") personGroupId: collectionId; } @@ -44,7 +44,7 @@ model PersonGroupPersonFace is BaseFace; @resource("largepersongroups") model LargePersonGroup is BaseCollection { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("ID of the container.") largePersonGroupId: collectionId; } diff --git a/specification/ai/Face/models.session.tsp b/specification/ai/Face/models.session.tsp index 61f19b01983b..19b2098c1414 100644 --- a/specification/ai/Face/models.session.tsp +++ b/specification/ai/Face/models.session.tsp @@ -74,7 +74,7 @@ model LivenessSessionData { model LivenessSessionItem { @doc("The unique ID to reference this session.") @key("sessionId") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("DateTime when this session was created.") @@ -351,7 +351,7 @@ model SessionImageStream { model LivenessSessionCommonData { @doc("The unique ID to reference this session.") @key - @visibility("read") + @visibility(Lifecycle.Read) sessionId: string; @doc("Bearer token to provide authentication for the Vision SDK running on a client application. This Bearer token has limited permissions to perform only the required action and expires after the TTL time. It is also auditable.") diff --git a/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp b/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp index 319b626d457c..06cae03c68c8 100644 --- a/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp +++ b/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp @@ -8,31 +8,31 @@ namespace AzureHealthInsights; model HealthInsightsJobBase { @key("id") @doc("The unique ID of the job.") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(36) @minLength(3) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_]+[a-zA-Z0-9]$") id: string; @doc("The status of the job.") - @visibility("read") + @visibility(Lifecycle.Read) @lroStatus status: JobStatus; @doc("The date and time when the processing job was created.") - @visibility("read") + @visibility(Lifecycle.Read) createdAt?: utcDateTime; @doc("The date and time when the processing job is set to expire.") - @visibility("read") + @visibility(Lifecycle.Read) expiresAt?: utcDateTime; @doc("The date and time when the processing job was last updated.") - @visibility("read") + @visibility(Lifecycle.Read) updatedAt?: utcDateTime; @doc("Error object that describes the error when status is \"Failed\".") - @visibility("read") + @visibility(Lifecycle.Read) error?: Foundations.Error; } diff --git a/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp b/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp index 40e2c4379476..c12730c2b988 100644 --- a/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp +++ b/specification/ai/HealthInsights/HealthInsights.OpenAPI/service.tsp @@ -3,9 +3,7 @@ using TypeSpec.Rest; using TypeSpec.Http; using TypeSpec.Versioning; -@service({ - title: "Azure AI Health Insights", -}) +@service(#{ title: "Azure AI Health Insights" }) @versioned(ApiVersion) @doc("Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that perform analysis and provide inferences to be used by a human.") @server( diff --git a/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp b/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp index 73b450da44b1..98df2949306a 100644 --- a/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp +++ b/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp @@ -87,11 +87,11 @@ model QualityMeasureOptions { @resource("radiology-insights/jobs") model RadiologyInsightsJob { @doc("The request data for the operation.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) jobData?: RadiologyInsightsData; @doc("The result of the operation.") - @visibility("read") + @visibility(Lifecycle.Read) result?: RadiologyInsightsInferenceResult; ...HealthInsightsJobBase; diff --git a/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp b/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp index 439947c432b6..7dc07b1f5d61 100644 --- a/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp +++ b/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp @@ -35,11 +35,11 @@ model TrialMatcherModelConfiguration { @resource("trial-matcher/jobs") model TrialMatcherJob { @doc("The request data for the operation.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) jobData?: TrialMatcherData; @doc("The result of the operation.") - @visibility("read") + @visibility(Lifecycle.Read) result?: TrialMatcherInferenceResult; ...HealthInsightsJobBase; diff --git a/specification/ai/ImageAnalysis/main.tsp b/specification/ai/ImageAnalysis/main.tsp index 55a5bf9547a9..ef686095edef 100644 --- a/specification/ai/ImageAnalysis/main.tsp +++ b/specification/ai/ImageAnalysis/main.tsp @@ -10,9 +10,7 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.Core; -@service({ - title: "Image Analysis", -}) +@service(#{ title: "Image Analysis" }) @versioned(ImageAnalysis.Versions) @useAuth( ApiKeyAuth< diff --git a/specification/ai/ImageAnalysis/models.tsp b/specification/ai/ImageAnalysis/models.tsp index 61b804dff603..12feb65f937d 100644 --- a/specification/ai/ImageAnalysis/models.tsp +++ b/specification/ai/ImageAnalysis/models.tsp @@ -101,14 +101,14 @@ model DetectedObject { @doc("Represents a person detected in an image.") model DetectedPerson { @doc("A rectangular boundary where the person was detected.") - @visibility("read") + @visibility(Lifecycle.Read) boundingBox: ImageBoundingBox; @doc(""" A score, in the range of 0 to 1 (inclusive), representing the confidence that this detection was accurate. Higher values indicating higher confidence. """) - @visibility("read") + @visibility(Lifecycle.Read) @minValue(0.0) @maxValue(1.0) confidence: float32; diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelInference/main.tsp index 81f70ee4c43d..eeca875cfac2 100644 --- a/specification/ai/ModelInference/main.tsp +++ b/specification/ai/ModelInference/main.tsp @@ -18,9 +18,7 @@ using Azure.Core; } ]> ) -@service({ - title: "AI Model Inference", -}) +@service(#{ title: "AI Model Inference" }) @versioned(ModelInference.Versions) namespace ModelInference; diff --git a/specification/ai/OpenAI.Assistants/main.tsp b/specification/ai/OpenAI.Assistants/main.tsp index 13e94f3e49b4..cbba55aa7d25 100644 --- a/specification/ai/OpenAI.Assistants/main.tsp +++ b/specification/ai/OpenAI.Assistants/main.tsp @@ -35,9 +35,7 @@ namespace Azure.AI.OpenAI { } ]> ) -@service({ - title: "Azure OpenAI", -}) +@service(#{ title: "Azure OpenAI" }) @server( "{endpoint}", "Azure OpenAI APIs for Assistants.", diff --git a/specification/apicenter/ApiCenter.DataApi/main.tsp b/specification/apicenter/ApiCenter.DataApi/main.tsp index 11da8dec0c2a..bb3f8c5f0378 100644 --- a/specification/apicenter/ApiCenter.DataApi/main.tsp +++ b/specification/apicenter/ApiCenter.DataApi/main.tsp @@ -16,9 +16,7 @@ using TypeSpec.Versioning; using Azure.Core; @useAuth(AadOauth2Auth<["https://azure-apicenter.net/user_impersonation"]>) -@service({ - title: "Azure API Center Data API", -}) +@service(#{ title: "Azure API Center Data API" }) @server( "https://{serviceName}.data.{region}.azure-apicenter.ms", "Data API service endpoint", diff --git a/specification/apicenter/ApiCenter.DataApi/models/api.tsp b/specification/apicenter/ApiCenter.DataApi/models/api.tsp index dd0a78fd4084..a4819304b421 100644 --- a/specification/apicenter/ApiCenter.DataApi/models/api.tsp +++ b/specification/apicenter/ApiCenter.DataApi/models/api.tsp @@ -35,7 +35,7 @@ model Api { kind: ApiKind; @doc("Current lifecycle stage of the API.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleStage?: LifecycleStage; @doc("Terms of service for the API.") @@ -54,7 +54,7 @@ model Api { customProperties?: {}; @doc("Last updated date and time.") - @visibility("read") + @visibility(Lifecycle.Read) lastUpdated?: utcDateTime; } diff --git a/specification/apicenter/ApiCenter.DataApi/models/exportSpecification.tsp b/specification/apicenter/ApiCenter.DataApi/models/exportSpecification.tsp index ee92572363c9..e158880e690b 100644 --- a/specification/apicenter/ApiCenter.DataApi/models/exportSpecification.tsp +++ b/specification/apicenter/ApiCenter.DataApi/models/exportSpecification.tsp @@ -8,7 +8,7 @@ using TypeSpec.Rest; model ApiSpecExportResult { @doc("API definition identifier.") @key("definitionName") - @visibility("query") + @visibility(Lifecycle.Query) definitionName: string; @doc("The result of the specification export.") diff --git a/specification/apicenter/ApiCenter.Management/main.tsp b/specification/apicenter/ApiCenter.Management/main.tsp index 7940241fd371..532d7d411ef7 100644 --- a/specification/apicenter/ApiCenter.Management/main.tsp +++ b/specification/apicenter/ApiCenter.Management/main.tsp @@ -23,9 +23,7 @@ using Azure.ResourceManager; using TypeSpec.Versioning; using Azure.ClientGenerator.Core; @armProviderNamespace -@service({ - title: "Azure API Center", -}) +@service(#{ title: "Azure API Center" }) @versioned(Versions) @doc("Azure API Center Resource Provider.") @Azure.ResourceManager.armCommonTypesVersion("v5") @@ -126,8 +124,8 @@ enum Versions { @@clientName(Services.exportMetadataSchema::parameters.body, "payload"); -@@visibility(Azure.Core.Page.nextLink, "read"); -@@visibility(Azure.Core.Page.value, "read"); +@@visibility(Azure.Core.Page.nextLink, Lifecycle.Read); +@@visibility(Azure.Core.Page.value, Lifecycle.Read); /** * A resource list operation, at the scope of the resource's parent * @template TResource the resource being patched diff --git a/specification/apicenter/ApiCenter.Management/models.tsp b/specification/apicenter/ApiCenter.Management/models.tsp index 7ee15b1e4d77..5903f0c7fb97 100644 --- a/specification/apicenter/ApiCenter.Management/models.tsp +++ b/specification/apicenter/ApiCenter.Management/models.tsp @@ -233,7 +233,7 @@ union EnvironmentServerType { @doc("The properties of the service.") model ServiceProperties { @doc("Provisioning state of the service.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @added(Versions.v2024_03_15_preview) @@ -263,7 +263,7 @@ model MetadataSchemaProperties { schema: string; @doc("The assignees") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) assignedTo?: MetadataAssignment[]; } @@ -311,7 +311,7 @@ model ApiProperties { summary?: string; @doc("Current lifecycle stage of the API.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleStage?: LifecycleStage; @doc("Terms of service for the API.") @@ -319,11 +319,11 @@ model ApiProperties { @doc("The set of external documentation") @maxItems(20) - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) externalDocumentation?: ExternalDocumentation[]; @doc("The set of contacts") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) contacts?: Contact[]; @doc("The license information for the API.") @@ -416,7 +416,7 @@ model ApiDefinitionProperties { description?: string; @doc("API specification details.") - @visibility("read") + @visibility(Lifecycle.Read) specification?: ApiDefinitionPropertiesSpecification; } @@ -582,7 +582,7 @@ model ApiSourceProperties { /** * The state of the API source link */ - @visibility("read") + @visibility(Lifecycle.Read) linkState?: LinkState; } diff --git a/specification/app/Microsoft.App.DynamicSessions/main.tsp b/specification/app/Microsoft.App.DynamicSessions/main.tsp index 305be3bf5140..840c66187676 100644 --- a/specification/app/Microsoft.App.DynamicSessions/main.tsp +++ b/specification/app/Microsoft.App.DynamicSessions/main.tsp @@ -9,9 +9,7 @@ using TypeSpec.Versioning; using Azure.Core; @useAuth(AadOauth2Auth<["https://dynamicsessions.io/.default"]>) -@service({ - title: "Microsoft.App Dynamic Sessions service", -}) +@service(#{ title: "Microsoft.App Dynamic Sessions service" }) @server( "{endpoint}", "Session pool management endpoint.", diff --git a/specification/app/Microsoft.App.DynamicSessions/models/code-execution-file.tsp b/specification/app/Microsoft.App.DynamicSessions/models/code-execution-file.tsp index d17d1b5ad31c..b6bdbec67d14 100644 --- a/specification/app/Microsoft.App.DynamicSessions/models/code-execution-file.tsp +++ b/specification/app/Microsoft.App.DynamicSessions/models/code-execution-file.tsp @@ -16,7 +16,7 @@ model SessionResourceFile { @key("name") @segment("files") @doc("The name of the file.") - @visibility("read", "query", "create", "update", "delete") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) name: string; @doc("The type of the session resource file.") diff --git a/specification/app/Microsoft.App.DynamicSessions/models/code-execution.tsp b/specification/app/Microsoft.App.DynamicSessions/models/code-execution.tsp index e8ba600901b2..159b998edbd5 100644 --- a/specification/app/Microsoft.App.DynamicSessions/models/code-execution.tsp +++ b/specification/app/Microsoft.App.DynamicSessions/models/code-execution.tsp @@ -39,7 +39,7 @@ model SessionCodeExecutionResult { @doc("The session code execution resource.") @resource("executions") model SessionCodeExecutionResource { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Session code execution id.") @key("executionId") id: string; diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/main.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/main.tsp index 6e9ffc9b4780..2fd2ab5ec2a2 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/main.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/main.tsp @@ -19,9 +19,7 @@ using TypeSpec.Versioning; * App Compliance Automation Tool for Microsoft 365 API spec */ @armProviderNamespace -@service({ - title: "App Compliance Automation Tool for Microsoft 365", -}) +@service(#{ title: "App Compliance Automation Tool for Microsoft 365" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) namespace Microsoft.AppComplianceAutomation; diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp index b04607c54826..b05dfdc43ebf 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp @@ -544,7 +544,7 @@ model GetOverviewStatusResponse { /** * List of different status items. */ - @extension("x-ms-identifiers", ["statusName"]) + @identifiers(#["statusName"]) statusList?: StatusItem[]; } @@ -612,27 +612,26 @@ model TriggerEvaluationProperty { /** * The time when the evaluation is triggered. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. triggerTime?: utcDateTime; /** * The time when the evaluation is end. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. evaluationEndTime?: utcDateTime; /** * List of resource ids to be evaluated */ - @extension("x-ms-identifiers", ["resourceId"]) resourceIds?: string[]; /** * List of quick assessments */ - @extension("x-ms-identifiers", ["resourceId"]) + @identifiers(#["resourceId"]) quickAssessments?: QuickAssessment[]; } @@ -643,44 +642,44 @@ model QuickAssessment { /** * Resource id. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceId?: string; /** * Responsibility id. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityId?: string; /** * The timestamp of resource creation (UTC). */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. timestamp?: utcDateTime; /** * Quick assessment status. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceStatus?: ResourceStatus; /** * Quick assessment display name. */ - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; /** * Quick assessment display name. */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** * Link to remediation steps for this quick assessment. */ - @visibility("read") + @visibility(Lifecycle.Read) remediationLink?: string; } @@ -703,7 +702,7 @@ model ListInUseStorageAccountsResponse { /** * The storage account list which in use in related reports. */ - @extension("x-ms-identifiers", ["accountName"]) + @identifiers(#["accountName"]) storageAccountList?: StorageInfo[]; } @@ -739,19 +738,19 @@ alias ReportBaseProperties = { /** * Report status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: ReportStatus; /** * List of report error codes. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: string[]; /** * Report's tenant id. */ - @visibility("read") + @visibility(Lifecycle.Read) tenantId?: string; /** @@ -762,27 +761,27 @@ alias ReportBaseProperties = { /** * Report next collection trigger time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. nextTriggerTime?: utcDateTime; /** * Report last collection trigger time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastTriggerTime?: utcDateTime; /** * List of subscription Ids. */ - @visibility("read") + @visibility(Lifecycle.Read) subscriptions?: string[]; /** * Report compliance status. */ - @visibility("read") + @visibility(Lifecycle.Read) complianceStatus?: ReportComplianceStatus; /** @@ -793,14 +792,14 @@ alias ReportBaseProperties = { /** * List of synchronized certification records. */ - @visibility("read") - @extension("x-ms-identifiers", ["offerGuid"]) + @visibility(Lifecycle.Read) + @identifiers(#["offerGuid"]) certRecords?: CertSyncRecord[]; /** * Azure lifecycle management */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; }; @@ -823,7 +822,7 @@ model ReportProperties { /** * List of resource data. */ - @extension("x-ms-identifiers", ["resourceId"]) + @identifiers(#["resourceId"]) resources: ResourceMetadata[]; ...ReportBaseProperties; @@ -848,7 +847,7 @@ model ReportPatchProperties { /** * List of resource data. */ - @extension("x-ms-identifiers", ["resourceId"]) + @identifiers(#["resourceId"]) resources?: ResourceMetadata[]; ...ReportBaseProperties; @@ -891,7 +890,7 @@ model ReportComplianceStatus { /** * The Microsoft 365 certification name. */ - @visibility("read") + @visibility(Lifecycle.Read) m365?: OverviewStatus; } @@ -902,31 +901,31 @@ model OverviewStatus { /** * The count of all passed control. */ - @visibility("read") + @visibility(Lifecycle.Read) passedCount?: int32; /** * The count of all failed control. */ - @visibility("read") + @visibility(Lifecycle.Read) failedCount?: int32; /** * The count of all manual control. */ - @visibility("read") + @visibility(Lifecycle.Read) manualCount?: int32; /** * The count of all not applicable control. */ - @visibility("read") + @visibility(Lifecycle.Read) notApplicableCount?: int32; /** * The count of all pending for approval control. */ - @visibility("read") + @visibility(Lifecycle.Read) pendingCount?: int32; } @@ -953,7 +952,7 @@ model CertSyncRecord { /** * The control records list to be synchronized. */ - @extension("x-ms-identifiers", ["controlId"]) + @identifiers(#["controlId"]) controls?: ControlSyncRecord[]; } @@ -1009,7 +1008,7 @@ model WebhookProperties { /** * Webhook id in database. */ - @visibility("read") + @visibility(Lifecycle.Read) webhookId?: string; /** @@ -1020,7 +1019,7 @@ model WebhookProperties { /** * Tenant id. */ - @visibility("read") + @visibility(Lifecycle.Read) tenantId?: string; /** @@ -1058,7 +1057,7 @@ model WebhookProperties { /** * whether webhookKey is enabled. */ - @visibility("read") + @visibility(Lifecycle.Read) webhookKeyEnabled?: WebhookKeyEnabled; /** @@ -1069,13 +1068,13 @@ model WebhookProperties { /** * webhook deliveryStatus */ - @visibility("read") + @visibility(Lifecycle.Read) deliveryStatus?: DeliveryStatus; /** * Azure Resource Provisioning State */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -1096,39 +1095,39 @@ model SnapshotProperties { /** * Snapshot name. */ - @visibility("read") + @visibility(Lifecycle.Read) snapshotName?: string; /** * The timestamp of resource creation (UTC). */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. createdAt?: utcDateTime; /** * Azure lifecycle management */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * The report essential info. */ - @visibility("read") + @visibility(Lifecycle.Read) reportProperties?: ReportProperties; /** * Metadata pertaining to creation and last modification of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) reportSystemData?: SystemData; /** * List of compliance results. */ - @visibility("read") - @extension("x-ms-identifiers", ["complianceName"]) + @visibility(Lifecycle.Read) + @identifiers(#["complianceName"]) complianceResults?: ComplianceResult[]; } @@ -1139,14 +1138,14 @@ model ComplianceResult { /** * The name of the compliance. e.g. "M365" */ - @visibility("read") + @visibility(Lifecycle.Read) complianceName?: string; /** * List of categories. */ - @visibility("read") - @extension("x-ms-identifiers", ["categoryName"]) + @visibility(Lifecycle.Read) + @identifiers(#["categoryName"]) categories?: Category[]; } @@ -1157,20 +1156,20 @@ model Category { /** * The name of the compliance category. e.g. "Operational Security" */ - @visibility("read") + @visibility(Lifecycle.Read) categoryName?: string; /** * Category status. */ - @visibility("read") + @visibility(Lifecycle.Read) categoryStatus?: CategoryStatus; /** * List of control families. */ - @visibility("read") - @extension("x-ms-identifiers", ["controlFamilyName"]) + @visibility(Lifecycle.Read) + @identifiers(#["controlFamilyName"]) controlFamilies?: ControlFamily[]; } @@ -1181,20 +1180,20 @@ model ControlFamily { /** * The name of the control family. e.g. "Malware Protection - Anti-Virus" */ - @visibility("read") + @visibility(Lifecycle.Read) controlFamilyName?: string; /** * The control family status */ - @visibility("read") + @visibility(Lifecycle.Read) controlFamilyStatus?: ControlFamilyStatus; /** * List of controls. */ - @visibility("read") - @extension("x-ms-identifiers", ["controlId"]) + @visibility(Lifecycle.Read) + @identifiers(#["controlId"]) controls?: Control[]; } @@ -1205,44 +1204,44 @@ model Control { /** * The Id of the control. e.g. "Operational_Security_10" */ - @visibility("read") + @visibility(Lifecycle.Read) controlId?: string; /** * The name of the control. e.g. "Unsupported OS and Software." */ - @visibility("read") + @visibility(Lifecycle.Read) controlName?: string; /** * The full name of the control. e.g. "Validate that unsupported operating systems and software components are not in use." */ - @visibility("read") + @visibility(Lifecycle.Read) controlFullName?: string; /** * The control's description */ - @visibility("read") + @visibility(Lifecycle.Read) controlDescription?: string; /** * The hyper link to the control's description'. */ - @visibility("read") + @visibility(Lifecycle.Read) controlDescriptionHyperLink?: string; /** * Control status. */ - @visibility("read") + @visibility(Lifecycle.Read) controlStatus?: ControlStatus; /** * List of customer responsibility. */ - @visibility("read") - @extension("x-ms-identifiers", ["responsibilityId"]) + @visibility(Lifecycle.Read) + @identifiers(#["responsibilityId"]) responsibilities?: Responsibility[]; } @@ -1253,43 +1252,43 @@ model Responsibility { /** * The id of the customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityId?: string; /** * The title of the customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityTitle?: string; /** * The description of the customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityDescription?: string; /** * The type of customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityType?: ResponsibilityType; /** * The severity level of this customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilitySeverity?: ResponsibilitySeverity; /** * The status of this customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityStatus?: ResponsibilityStatus; /** * The supported cloud environment of this customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityEnvironment?: ResponsibilityEnvironment; /** @@ -1305,27 +1304,27 @@ model Responsibility { /** * List of resource. */ - @visibility("read") - @extension("x-ms-identifiers", ["resourceId"]) + @visibility(Lifecycle.Read) + @identifiers(#["resourceId"]) resourceList?: ResponsibilityResource[]; /** * List of recommendation. */ - @visibility("read") - @extension("x-ms-identifiers", ["recommendationId"]) + @visibility(Lifecycle.Read) + @identifiers(#["recommendationId"]) recommendationList?: Recommendation[]; /** * The evidence upload guidance description. */ - @visibility("read") + @visibility(Lifecycle.Read) guidance?: string; /** * The justification given by the user to clarify the reason. */ - @visibility("read") + @visibility(Lifecycle.Read) justification?: string; /** @@ -1341,37 +1340,37 @@ model ResponsibilityResource { /** * The Id of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceId?: string; /** * Account Id. For example - AWS account Id. */ - @visibility("read") + @visibility(Lifecycle.Read) accountId?: string; /** * The type of the resource. e.g. "Microsoft.SignalRService/SignalR" */ - @visibility("read") + @visibility(Lifecycle.Read) resourceType?: string; /** * Resource origin. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceOrigin?: ResourceOrigin; /** * Resource status. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceStatus?: ResourceStatus; /** * The status change date for the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. resourceStatusChangeDate?: utcDateTime; @@ -1388,20 +1387,20 @@ model Recommendation { /** * The Id of the recommendation. */ - @visibility("read") + @visibility(Lifecycle.Read) recommendationId?: string; /** * The short name of the recommendation. e.g. "Invalid TLS config" */ - @visibility("read") + @visibility(Lifecycle.Read) recommendationShortName?: string; /** * List of recommendation solutions. */ - @visibility("read") - @extension("x-ms-identifiers", ["recommendationSolutionIndex"]) + @visibility(Lifecycle.Read) + @identifiers(#["recommendationSolutionIndex"]) recommendationSolutions?: RecommendationSolution[]; } @@ -1412,19 +1411,19 @@ model RecommendationSolution { /** * The index of the recommendation solution. */ - @visibility("read") + @visibility(Lifecycle.Read) recommendationSolutionIndex?: string; /** * The detail steps of the recommendation solution. */ - @visibility("read") + @visibility(Lifecycle.Read) recommendationSolutionContent?: string; /** * Indicates whether this solution is the recommended. */ - @visibility("read") + @visibility(Lifecycle.Read) isRecommendSolution?: IsRecommendSolution; } @@ -1456,27 +1455,27 @@ model DownloadResponse { /** * Resource list of the report */ - @visibility("read") - @extension("x-ms-identifiers", ["resourceId"]) + @visibility(Lifecycle.Read) + @identifiers(#["resourceId"]) resourceList?: ResourceItem[]; /** * List of the compliance result */ - @visibility("read") - @extension("x-ms-identifiers", ["controlId"]) + @visibility(Lifecycle.Read) + @identifiers(#["controlId"]) complianceReport?: ComplianceReportItem[]; /** * Compliance pdf report */ - @visibility("read") + @visibility(Lifecycle.Read) compliancePdfReport?: DownloadResponseCompliancePdfReport; /** * The detailed compliance pdf report */ - @visibility("read") + @visibility(Lifecycle.Read) complianceDetailedPdfReport?: DownloadResponseComplianceDetailedPdfReport; } @@ -1487,25 +1486,25 @@ model ResourceItem { /** * The subscription Id of this resource. */ - @visibility("read") + @visibility(Lifecycle.Read) subscriptionId?: string; /** * The resource group name of this resource. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceGroup?: string; /** * The resource type of this resource. e.g. "Microsoft.SignalRService/SignalR" */ - @visibility("read") + @visibility(Lifecycle.Read) resourceType?: string; /** * The resource Id - e.g. "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1". */ - @visibility("read") + @visibility(Lifecycle.Read) resourceId?: string; } @@ -1516,73 +1515,73 @@ model ComplianceReportItem { /** * The category name. */ - @visibility("read") + @visibility(Lifecycle.Read) categoryName?: string; /** * The control family name. */ - @visibility("read") + @visibility(Lifecycle.Read) controlFamilyName?: string; /** * The control Id - e.g. "1". */ - @visibility("read") + @visibility(Lifecycle.Read) controlId?: string; /** * The control name. */ - @visibility("read") + @visibility(Lifecycle.Read) controlName?: string; /** * Control status. */ - @visibility("read") + @visibility(Lifecycle.Read) controlStatus?: ControlStatus; /** * The title of the customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityTitle?: string; /** * The description of the customer responsibility. */ - @visibility("read") + @visibility(Lifecycle.Read) responsibilityDescription?: string; /** * The Id of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceId?: string; /** * The type of the resource. e.g. "Microsoft.SignalRService/SignalR" */ - @visibility("read") + @visibility(Lifecycle.Read) resourceType?: string; /** * Resource origin. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceOrigin?: ResourceOrigin; /** * Resource status. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceStatus?: ResourceStatus; /** * The status change date for the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. resourceStatusChangeDate?: utcDateTime; } @@ -1594,7 +1593,7 @@ model DownloadResponseCompliancePdfReport { /** * The uri of compliance pdf report */ - @visibility("read") + @visibility(Lifecycle.Read) sasUri?: string; } @@ -1605,7 +1604,7 @@ model DownloadResponseComplianceDetailedPdfReport { /** * The uri of detailed compliance pdf report */ - @visibility("read") + @visibility(Lifecycle.Read) sasUri?: string; } @@ -1616,13 +1615,13 @@ model ScopingConfigurationProperties { /** * List of scoping question answers. */ - @extension("x-ms-identifiers", ["questionId"]) + @identifiers(#["questionId"]) answers?: ScopingAnswer[]; /** * Azure lifecycle management */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -1633,7 +1632,7 @@ model ScopingQuestions { /** * List of scoping questions. */ - @extension("x-ms-identifiers", ["questionId"]) + @identifiers(#["questionId"]) questions?: ScopingQuestion[]; } @@ -1644,37 +1643,37 @@ model ScopingQuestion { /** * Question id. */ - @visibility("read") + @visibility(Lifecycle.Read) questionId: string; /** * Superior question id. */ - @visibility("read") + @visibility(Lifecycle.Read) superiorQuestionId?: string; /** * Input type of the question answer. */ - @visibility("read") + @visibility(Lifecycle.Read) inputType: InputType; /** * Option id list. */ - @visibility("read") + @visibility(Lifecycle.Read) optionIds: string[]; /** * The rule of the question. */ - @visibility("read") + @visibility(Lifecycle.Read) rules: Rule[]; /** * The answer value to show the sub questions. */ - @visibility("read") + @visibility(Lifecycle.Read) showSubQuestionsValue?: string; } @@ -1726,7 +1725,7 @@ model EvidenceProperties { /** * Azure lifecycle management */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -1753,7 +1752,7 @@ model EvidenceFileDownloadResponse { /** * The uri of evidence file */ - @visibility("read") + @visibility(Lifecycle.Read) evidenceFile?: EvidenceFileDownloadResponseEvidenceFile; } @@ -1764,7 +1763,7 @@ model EvidenceFileDownloadResponseEvidenceFile { /** * The url of evidence file */ - @visibility("read") + @visibility(Lifecycle.Read) url?: string; } @@ -1775,13 +1774,13 @@ model ReportFixResult { /** * Indicates whether the fix action is Succeeded or Failed. */ - @visibility("read") + @visibility(Lifecycle.Read) result?: Result; /** * If the report fix action failed, to indicate the detailed failed reason. */ - @visibility("read") + @visibility(Lifecycle.Read) reason?: string; } @@ -1792,13 +1791,13 @@ model ReportVerificationResult { /** * Indicates whether the report verification action is Succeeded or Failed. */ - @visibility("read") + @visibility(Lifecycle.Read) result?: Result; /** * If the report verification action failed, to indicate the detailed failed reason. */ - @visibility("read") + @visibility(Lifecycle.Read) reason?: string; } diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/EvidenceResource.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/EvidenceResource.tsp index ffeae25ebb95..383b0b3952a2 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/EvidenceResource.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/EvidenceResource.tsp @@ -28,7 +28,7 @@ model EvidenceResource extends Azure.ResourceManager.Foundations.ProxyResource { */ @key("evidenceName") @segment("evidences") - @visibility("read") + @visibility(Lifecycle.Read) @pattern("^[a-zA-Z0-9-_.]+$") @path name: string; diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp index 2135d8d86b3a..112dc0e5d3a7 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp @@ -29,7 +29,7 @@ model ReportResource extends Azure.ResourceManager.Foundations.ProxyResource { @pattern("^[-a-zA-Z0-9_]{1,50}$") @key("reportName") @segment("reports") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; @@ -68,7 +68,7 @@ interface Report { * Update an exiting AppComplianceAutomation report. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @parameterVisibility + @patch(#{ implicitOptionality: false }) @operationId("Report_Update") update is ArmCustomPatchAsync< ReportResource, diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ScopingConfigurationResource.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ScopingConfigurationResource.tsp index 2442c2d51262..177817dd4cc5 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ScopingConfigurationResource.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ScopingConfigurationResource.tsp @@ -32,7 +32,7 @@ model ScopingConfigurationResource extends Azure.ResourceManager.Foundations.ProxyResource { @key("scopingConfigurationName") @segment("scopingConfigurations") - @visibility("read") + @visibility(Lifecycle.Read) @doc("The scoping configuration of the specific report.") @pattern("^[a-zA-Z0-9_]*$") @path diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/SnapshotResource.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/SnapshotResource.tsp index 4208639624f8..f32c1c40e759 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/SnapshotResource.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/SnapshotResource.tsp @@ -27,7 +27,7 @@ model SnapshotResource extends Azure.ResourceManager.Foundations.ProxyResource { @path @key("snapshotName") @segment("snapshots") - @visibility("read") + @visibility(Lifecycle.Read) @pattern("^[a-zA-Z0-9-_]{1,64}$") name: string; diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/WebhookResource.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/WebhookResource.tsp index 48c17b466b70..7bcd6a7d390c 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/WebhookResource.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/WebhookResource.tsp @@ -33,7 +33,7 @@ model WebhookResource extends Azure.ResourceManager.Foundations.ProxyResource { @pattern("^[-a-zA-Z0-9_]{1,50}$") @key("webhookName") @segment("webhooks") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; @@ -66,7 +66,7 @@ interface Webhook { * Update an exiting AppComplianceAutomation webhook. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @parameterVisibility + @patch(#{ implicitOptionality: false }) @operationId("Webhook_Update") update is ArmCustomPatchSync< WebhookResource, diff --git a/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json b/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json index 6d78941bf01b..fb5a5af6bbf5 100644 --- a/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json +++ b/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json @@ -4221,10 +4221,7 @@ "description": "List of resource ids to be evaluated", "items": { "type": "string" - }, - "x-ms-identifiers": [ - "resourceId" - ] + } }, "quickAssessments": { "type": "array", diff --git a/specification/appconfiguration/AppConfiguration/main.tsp b/specification/appconfiguration/AppConfiguration/main.tsp index 318d929f99f6..59fd7ef477f9 100644 --- a/specification/appconfiguration/AppConfiguration/main.tsp +++ b/specification/appconfiguration/AppConfiguration/main.tsp @@ -7,9 +7,7 @@ using TypeSpec.Rest; using TypeSpec.Http; using TypeSpec.Versioning; -@service({ - title: "Azure App Configuration", -}) +@service(#{ title: "Azure App Configuration" }) @versioned(Versions) @useAuth( ApiKeyAuth | OAuth2Auth<[ diff --git a/specification/appconfiguration/AppConfiguration/models.tsp b/specification/appconfiguration/AppConfiguration/models.tsp index e464f19c78bf..ee63648e40cc 100644 --- a/specification/appconfiguration/AppConfiguration/models.tsp +++ b/specification/appconfiguration/AppConfiguration/models.tsp @@ -128,7 +128,7 @@ model KeyListResult { model Key { @doc("The name of the key.") @key - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -170,7 +170,7 @@ model KeyValueListResult { @resource("kv") model KeyValue { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("The key of the key-value.") key: string; @@ -216,11 +216,11 @@ model SnapshotListResult { model Snapshot { @key @doc("The name of the snapshot.") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The current status of the snapshot.") - @visibility("read") + @visibility(Lifecycle.Read) status?: SnapshotStatus; @doc("A list of filters used to filter the key-values included in the snapshot.") @@ -239,12 +239,12 @@ model Snapshot { #suppress "@azure-tools/typespec-azure-core/no-offsetdatetime" "Pre-existing API contract." @doc("The time that the snapshot was created.") - @visibility("read") + @visibility(Lifecycle.Read) created?: offsetDateTime; #suppress "@azure-tools/typespec-azure-core/no-offsetdatetime" "Pre-existing API contract." @doc("The time that the snapshot will expire.") - @visibility("read") + @visibility(Lifecycle.Read) expires?: offsetDateTime; @doc(""" @@ -259,11 +259,11 @@ model Snapshot { retentionPeriod?: int64; @doc("The size in bytes of the snapshot.") - @visibility("read") + @visibility(Lifecycle.Read) size?: int64; @doc("The amount of key-values in the snapshot.") - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "items_count") itemsCount?: int64; @@ -271,7 +271,7 @@ model Snapshot { tags?: Record; @doc("A value representing the current state of the snapshot.") - @visibility("read") + @visibility(Lifecycle.Read) etag?: string; } diff --git a/specification/applicationinsights/ApplicationInsights.LiveMetrics/main.tsp b/specification/applicationinsights/ApplicationInsights.LiveMetrics/main.tsp index 441cc03ff6f5..8c5bbc1de93d 100644 --- a/specification/applicationinsights/ApplicationInsights.LiveMetrics/main.tsp +++ b/specification/applicationinsights/ApplicationInsights.LiveMetrics/main.tsp @@ -21,9 +21,7 @@ using Azure.Core.Traits; } ]> ) -@service({ - title: "Live Metrics REST APIs for client SDKs.", -}) +@service(#{ title: "Live Metrics REST APIs for client SDKs." }) @server( "{endpoint}", "Existing Live Metrics global endpoint.", diff --git a/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp b/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp index 9618fcfb5dac..a1a42ea89f9c 100644 --- a/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp +++ b/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -79,14 +77,14 @@ model AwsAccessAnalyzerAnalyzerProperties { analyzerName?: string; @doc("Property archiveRules") - @extension("x-ms-identifiers", []) + @identifiers(#[]) archiveRules?: ArchiveRule[]; @doc("Amazon Resource Name (ARN) of the analyzer") arn?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The type of the analyzer, must be one of ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS or ORGANIZATION_UNUSED_ACCESS") @@ -110,7 +108,7 @@ model UnusedAccessConfiguration { @doc("Definition of ArchiveRule") model ArchiveRule { @doc("Property filter") - @extension("x-ms-identifiers", []) + @identifiers(#[]) filter?: Filter[]; @doc("The archive rule name") @@ -137,18 +135,15 @@ model Tag { @doc("Definition of Filter") model Filter { @doc("Property contains") - @extension("x-ms-identifiers", []) contains?: string[]; @doc("Property eq") - @extension("x-ms-identifiers", []) eq?: string[]; @doc("Property exists") exists?: boolean; @doc("Property neq") - @extension("x-ms-identifiers", []) neq?: string[]; @doc("Property property") diff --git a/specification/awsconnector/AcmCertificateSummary.Management/main.tsp b/specification/awsconnector/AcmCertificateSummary.Management/main.tsp index 2f0b9773af7c..c8d9b3472c4e 100644 --- a/specification/awsconnector/AcmCertificateSummary.Management/main.tsp +++ b/specification/awsconnector/AcmCertificateSummary.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -85,7 +83,6 @@ model AwsAcmCertificateSummaryProperties { exported?: boolean; @doc("

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

") - @extension("x-ms-identifiers", []) extendedKeyUsages?: ExtendedKeyUsageName[]; @doc("

When called by ListCertificates, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

") @@ -104,7 +101,6 @@ model AwsAcmCertificateSummaryProperties { keyAlgorithm?: KeyAlgorithmEnumValue; @doc("

A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

") - @extension("x-ms-identifiers", []) keyUsages?: KeyUsageName[]; @doc("

The time after which the certificate is not valid.

") @@ -123,7 +119,6 @@ model AwsAcmCertificateSummaryProperties { status?: CertificateStatusEnumValue; @doc("

One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

When called by ListCertificates, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

") - @extension("x-ms-identifiers", []) subjectAlternativeNameSummaries?: string[]; @doc("

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the Certificate Manager User Guide.

") diff --git a/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp b/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp index f980f6ff7d63..eb4c2e19f3cf 100644 --- a/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp +++ b/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,6 @@ model AwsApiGatewayRestApiProperties { apiKeySourceType?: string; @doc("The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.") - @extension("x-ms-identifiers", []) binaryMediaTypes?: string[]; @doc("An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.") @@ -121,7 +118,7 @@ model AwsApiGatewayRestApiProperties { rootResourceId?: string; @doc("The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } @@ -151,11 +148,9 @@ model S3Location { @doc("Definition of EndpointConfiguration") model EndpointConfiguration { @doc("A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``'EDGE'``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.") - @extension("x-ms-identifiers", []) types?: string[]; @doc("A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.") - @extension("x-ms-identifiers", []) vpcEndpointIds?: string[]; } diff --git a/specification/awsconnector/ApiGatewayStage.Management/main.tsp b/specification/awsconnector/ApiGatewayStage.Management/main.tsp index e4c9494fdf22..83b70a42f950 100644 --- a/specification/awsconnector/ApiGatewayStage.Management/main.tsp +++ b/specification/awsconnector/ApiGatewayStage.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -96,7 +94,7 @@ model AwsApiGatewayStageProperties { documentationVersion?: string; @doc("A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) methodSettings?: MethodSetting[]; @doc("The string identifier of the associated RestApi.") @@ -106,7 +104,7 @@ model AwsApiGatewayStageProperties { stageName?: string; @doc("The collection of tags. Each tag element is associated with a given resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Specifies whether active tracing with X-ray is enabled for the Stage.") diff --git a/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp b/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp index 05ca261b565c..893f47974fe1 100644 --- a/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp +++ b/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,7 @@ model AppSyncGraphqlApiProperties { @doc("Definition of awsAppSyncGraphqlApi") model AwsAppSyncGraphqlApiProperties { @doc("

A list of additional authentication providers for the GraphqlApi API.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; @doc("

The API ID.

") diff --git a/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp b/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp index 975b9546fc53..30eea6a5b832 100644 --- a/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp +++ b/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -83,7 +81,6 @@ model AwsAutoScalingAutoScalingGroupProperties { autoScalingGroupName?: string; @doc("A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the ``VPCZoneIdentifier`` property, or for attaching a network interface when an existing network interface ID is specified in a launch template.") - @extension("x-ms-identifiers", []) availabilityZones?: string[]; @doc("Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. For more information, see [Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html) in the in the *Amazon EC2 Auto Scaling User Guide*.") @@ -123,11 +120,10 @@ model AwsAutoScalingAutoScalingGroupProperties { launchTemplate?: LaunchTemplateSpecification; @doc("One or more lifecycle hooks to add to the Auto Scaling group before instances are launched.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) lifecycleHookSpecificationList?: LifecycleHookSpecification[]; @doc("A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify the ``TargetGroupARNs`` property instead.") - @extension("x-ms-identifiers", []) loadBalancerNames?: string[]; @doc("The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see [Replacing Auto Scaling instances based on maximum instance lifetime](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) in the *Amazon EC2 Auto Scaling User Guide*.") @@ -137,7 +133,7 @@ model AwsAutoScalingAutoScalingGroupProperties { maxSize?: string; @doc("Enables the monitoring of group metrics of an Auto Scaling group. By default, these metrics are disabled.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) metricsCollection?: MetricsCollection[]; @doc("The minimum size of the group.") @@ -153,7 +149,7 @@ model AwsAutoScalingAutoScalingGroupProperties { notificationConfiguration?: NotificationConfiguration; @doc("Configures an Auto Scaling group to send notifications when specified events take place.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) notificationConfigurations?: NotificationConfiguration[]; @doc("The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*. A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.") @@ -163,19 +159,16 @@ model AwsAutoScalingAutoScalingGroupProperties { serviceLinkedRoleARN?: string; @doc("One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch template but use caution. If the launch template specifies an instance tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the value specified by the Auto Scaling group. For more information, see [Tag Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html) in the *Amazon EC2 Auto Scaling User Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: TagProperty[]; @doc("The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*.") - @extension("x-ms-identifiers", []) targetGroupARNs?: string[]; @doc("A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Work with Amazon EC2 Auto Scaling termination policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``") - @extension("x-ms-identifiers", []) terminationPolicies?: string[]; @doc("A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). Required to launch instances into a nondefault VPC. If you specify ``VPCZoneIdentifier`` with ``AvailabilityZones``, the subnets that you specify for this property must reside in those Availability Zones.") - @extension("x-ms-identifiers", []) vpcZoneIdentifier?: string[]; } @@ -246,7 +239,6 @@ model MetricsCollection { granularity?: string; @doc("Identifies the metrics to enable. You can specify one or more of the following metrics: + ``GroupMinSize`` + ``GroupMaxSize`` + ``GroupDesiredCapacity`` + ``GroupInServiceInstances`` + ``GroupPendingInstances`` + ``GroupStandbyInstances`` + ``GroupTerminatingInstances`` + ``GroupTotalInstances`` + ``GroupInServiceCapacity`` + ``GroupPendingCapacity`` + ``GroupStandbyCapacity`` + ``GroupTerminatingCapacity`` + ``GroupTotalCapacity`` + ``WarmPoolDesiredCapacity`` + ``WarmPoolWarmedCapacity`` + ``WarmPoolPendingCapacity`` + ``WarmPoolTerminatingCapacity`` + ``WarmPoolTotalCapacity`` + ``GroupAndWarmPoolDesiredCapacity`` + ``GroupAndWarmPoolTotalCapacity`` If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled. For more information, see [Auto Scaling group metrics](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics) in the *Amazon EC2 Auto Scaling User Guide*.") - @extension("x-ms-identifiers", []) metrics?: string[]; } @@ -270,7 +262,6 @@ model MixedInstancesPolicy { @doc("Definition of NotificationConfiguration") model NotificationConfiguration { @doc("A list of event types that send a notification. Event types can include any of the following types. *Allowed values*: + ``autoscaling:EC2_INSTANCE_LAUNCH`` + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` + ``autoscaling:EC2_INSTANCE_TERMINATE`` + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` + ``autoscaling:TEST_NOTIFICATION``") - @extension("x-ms-identifiers", []) notificationTypes?: string[]; @doc("The Amazon Resource Name (ARN) of the Amazon SNS topic.") @@ -328,7 +319,7 @@ model LaunchTemplate { launchTemplateSpecification?: LaunchTemplateSpecification; @doc("Any properties that you specify override the same properties in the launch template.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) overrides?: LaunchTemplateOverrides[]; } @@ -361,22 +352,18 @@ model InstanceRequirements { acceleratorCount?: AcceleratorCountRequest; @doc("Indicates whether instance types must have accelerators by specific manufacturers. + For instance types with NVIDIA devices, specify ``nvidia``. + For instance types with AMD devices, specify ``amd``. + For instance types with AWS devices, specify ``amazon-web-services``. + For instance types with Xilinx devices, specify ``xilinx``. Default: Any manufacturer") - @extension("x-ms-identifiers", []) acceleratorManufacturers?: string[]; @doc("Lists the accelerators that must be on an instance type. + For instance types with NVIDIA A100 GPUs, specify ``a100``. + For instance types with NVIDIA V100 GPUs, specify ``v100``. + For instance types with NVIDIA K80 GPUs, specify ``k80``. + For instance types with NVIDIA T4 GPUs, specify ``t4``. + For instance types with NVIDIA M60 GPUs, specify ``m60``. + For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520``. + For instance types with Xilinx VU9P FPGAs, specify ``vu9p``. Default: Any accelerator") - @extension("x-ms-identifiers", []) acceleratorNames?: string[]; @doc("The minimum and maximum total memory size for the accelerators on an instance type, in MiB. Default: No minimum or maximum limits ``AcceleratorTotalMemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total memory size for the accelerators for an instance type, in MiB.") acceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest; @doc("Lists the accelerator types that must be on an instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type") - @extension("x-ms-identifiers", []) acceleratorTypes?: string[]; @doc("The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types. If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``. Default: All instance types") - @extension("x-ms-identifiers", []) allowedInstanceTypes?: string[]; @doc("Indicates whether bare metal instance types are included, excluded, or required. Default: ``excluded``") @@ -389,22 +376,18 @@ model InstanceRequirements { burstablePerformance?: string; @doc("Lists which specific CPU manufacturers to include. + For instance types with Intel CPUs, specify ``intel``. + For instance types with AMD CPUs, specify ``amd``. + For instance types with AWS CPUs, specify ``amazon-web-services``. Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer") - @extension("x-ms-identifiers", []) cpuManufacturers?: string[]; @doc("The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types. If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``. Default: No excluded instance types") - @extension("x-ms-identifiers", []) excludedInstanceTypes?: string[]; @doc("Indicates whether current or previous generation instance types are included. + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*. + For previous generation instance types, specify ``previous``. Default: Any current or previous generation") - @extension("x-ms-identifiers", []) instanceGenerations?: string[]; @doc("Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide for Linux Instances*. Default: ``included``") localStorage?: string; @doc("Indicates the type of local storage that is required. + For instance types with hard disk drive (HDD) storage, specify ``hdd``. + For instance types with solid state drive (SSD) storage, specify ``ssd``. Default: Any local storage type") - @extension("x-ms-identifiers", []) localStorageTypes?: string[]; @doc("[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999``. If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100``.") diff --git a/specification/awsconnector/Awsconnector.Management/main.tsp b/specification/awsconnector/Awsconnector.Management/main.tsp index 6228ba1e599b..61df3f4d08c8 100644 --- a/specification/awsconnector/Awsconnector.Management/main.tsp +++ b/specification/awsconnector/Awsconnector.Management/main.tsp @@ -15,9 +15,7 @@ using Azure.ClientGenerator.Core; using Azure.ResourceManager; @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/CloudFormationStack.Management/main.tsp b/specification/awsconnector/CloudFormationStack.Management/main.tsp index dfff9ff8f8f9..f3ca3d799edf 100644 --- a/specification/awsconnector/CloudFormationStack.Management/main.tsp +++ b/specification/awsconnector/CloudFormationStack.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,6 @@ model CloudFormationStackProperties { @doc("Definition of awsCloudFormationStack") model AwsCloudFormationStackProperties { @doc("Property capabilities") - @extension("x-ms-identifiers", []) capabilities?: Capabilities[]; @doc("Property changeSetId") @@ -94,11 +91,10 @@ model AwsCloudFormationStackProperties { lastUpdateTime?: string; @doc("Property notificationARNs") - @extension("x-ms-identifiers", []) notificationARNs?: string[]; @doc("Property outputs") - @extension("x-ms-identifiers", []) + @identifiers(#[]) outputs?: Output[]; @doc("Property parameters") @@ -132,7 +128,7 @@ model AwsCloudFormationStackProperties { stackStatusReason?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property templateBody") diff --git a/specification/awsconnector/CloudFormationStackSet.Management/main.tsp b/specification/awsconnector/CloudFormationStackSet.Management/main.tsp index ed0b0105f1fd..fe75d9bb7ebc 100644 --- a/specification/awsconnector/CloudFormationStackSet.Management/main.tsp +++ b/specification/awsconnector/CloudFormationStackSet.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -82,7 +80,6 @@ model AwsCloudFormationStackSetProperties { callAs?: CallAs; @doc("In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for AWS CloudFormation to create the stack set and related stack instances.") - @extension("x-ms-identifiers", []) capabilities?: string[]; @doc("A description of the stack set. You can use the description to identify the stack set's purpose or other important information.") @@ -98,14 +95,14 @@ model AwsCloudFormationStackSetProperties { operationPreferences?: OperationPreferences; @doc("The input parameters for the stack set template.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) parameters?: Parameter[]; @doc("Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.") permissionModel?: PermissionModel; @doc("A group of stack instances with parameters in some specific accounts and regions.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) stackInstancesGroup?: StackInstances[]; @doc("The ID of the stack set that you're creating.") @@ -115,7 +112,7 @@ model AwsCloudFormationStackSetProperties { stackSetName?: string; @doc("The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.") @@ -193,7 +190,6 @@ model OperationPreferences { regionConcurrencyType?: OperationPreferencesRegionConcurrencyType; @doc("Property regionOrder") - @extension("x-ms-identifiers", []) regionOrder?: string[]; } @@ -231,11 +227,10 @@ model StackInstances { deploymentTargets?: DeploymentTargets; @doc("A list of stack set parameters whose values you want to override in the selected stack instances.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) parameterOverrides?: Parameter[]; @doc("The names of one or more Regions where you want to create stack instances using the specified AWS account(s).") - @extension("x-ms-identifiers", []) regions?: string[]; } @@ -262,14 +257,12 @@ model DeploymentTargets { accountFilterType?: DeploymentTargetsAccountFilterType; @doc("AWS accounts that you want to create stack instances in the specified Region(s) for.") - @extension("x-ms-identifiers", []) accounts?: string[]; @doc("Returns the value of the AccountsUrl property.") accountsUrl?: string; @doc("The organization root ID or organizational unit (OU) IDs to which StackSets deploys.") - @extension("x-ms-identifiers", []) organizationalUnitIds?: string[]; } diff --git a/specification/awsconnector/CloudFrontDistribution.Management/main.tsp b/specification/awsconnector/CloudFrontDistribution.Management/main.tsp index ee64d62043c5..9ac183f01c4d 100644 --- a/specification/awsconnector/CloudFrontDistribution.Management/main.tsp +++ b/specification/awsconnector/CloudFrontDistribution.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -82,7 +80,7 @@ model AwsCloudFrontDistributionProperties { id?: string; @doc("A complex type that contains zero or more ``Tag`` elements.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } @@ -93,15 +91,13 @@ model AwsCloudFrontDistributionProperties { @doc("Definition of DistributionConfig") model DistributionConfig { @doc("A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.") - @extension("x-ms-identifiers", []) aliases?: string[]; @doc("Property cnamEs") - @extension("x-ms-identifiers", []) cnamEs?: string[]; @doc("A complex type that contains zero or more ``CacheBehavior`` elements.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) cacheBehaviors?: CacheBehavior[]; @doc("A comment to describe the distribution. The comment cannot be longer than 128 characters.") @@ -111,7 +107,7 @@ model DistributionConfig { continuousDeploymentPolicyId?: string; @doc("A complex type that controls the following: + Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer. + How long CloudFront caches HTTP status codes in the 4xx and 5xx range. For more information about custom error pages, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) customErrorResponses?: CustomErrorResponse[]; @doc("Property customOrigin") @@ -139,7 +135,7 @@ model DistributionConfig { originGroups?: OriginGroups; @doc("A complex type that contains information about origins for this distribution.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) origins?: Origin[]; @doc("The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify ``PriceClass_All``, CloudFront responds to requests for your objects from all CloudFront edge locations. If you specify a price class other than ``PriceClass_All``, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance. For more information about price classes, see [Choosing the Price Class for a CloudFront Distribution](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) in the *Amazon CloudFront Developer Guide*. For information about CloudFront pricing, including how price classes (such as Price Class 100) map to CloudFront regions, see [Amazon CloudFront Pricing](https://docs.aws.amazon.com/cloudfront/pricing/).") @@ -181,14 +177,12 @@ model Tag { @doc("Definition of CacheBehavior") model CacheBehavior { @doc("A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.") - @extension("x-ms-identifiers", []) allowedMethods?: string[]; @doc("The unique identifier of the cache policy that is attached to this cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. A ``CacheBehavior`` must include either a ``CachePolicyId`` or ``ForwardedValues``. We recommend that you use a ``CachePolicyId``.") cachePolicyId?: string; @doc("A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.") - @extension("x-ms-identifiers", []) cachedMethods?: string[]; @doc("Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide*.") @@ -204,11 +198,11 @@ model CacheBehavior { forwardedValues?: ForwardedValues; @doc("A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) functionAssociations?: FunctionAssociation[]; @doc("A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) lambdaFunctionAssociations?: LambdaFunctionAssociation[]; @doc("This field is deprecated. We recommend that you use the ``MaxTTL`` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as ``Cache-Control max-age``, ``Cache-Control s-maxage``, and ``Expires`` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -236,11 +230,9 @@ model CacheBehavior { targetOriginId?: string; @doc("A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) trustedKeyGroups?: string[]; @doc("We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) trustedSigners?: string[]; @doc("The protocol that viewers can use to access the files in the origin specified by ``TargetOriginId`` when a request matches the path pattern in ``PathPattern``. You can specify the following options: + ``allow-all``: Viewers can use HTTP or HTTPS. + ``redirect-to-https``: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL. + ``https-only``: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden). For more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide*. The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -285,7 +277,6 @@ model LegacyCustomOrigin { originProtocolPolicy?: string; @doc("Property originSSLProtocols") - @extension("x-ms-identifiers", []) originSSLProtocols?: string[]; } @@ -296,14 +287,12 @@ model LegacyCustomOrigin { @doc("Definition of DefaultCacheBehavior") model DefaultCacheBehavior { @doc("A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.") - @extension("x-ms-identifiers", []) allowedMethods?: string[]; @doc("The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. A ``DefaultCacheBehavior`` must include either a ``CachePolicyId`` or ``ForwardedValues``. We recommend that you use a ``CachePolicyId``.") cachePolicyId?: string; @doc("A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.") - @extension("x-ms-identifiers", []) cachedMethods?: string[]; @doc("Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify ``true``; if not, specify ``false``. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide*.") @@ -319,11 +308,11 @@ model DefaultCacheBehavior { forwardedValues?: ForwardedValues; @doc("A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) functionAssociations?: FunctionAssociation[]; @doc("A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) lambdaFunctionAssociations?: LambdaFunctionAssociation[]; @doc("This field is deprecated. We recommend that you use the ``MaxTTL`` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as ``Cache-Control max-age``, ``Cache-Control s-maxage``, and ``Expires`` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -348,11 +337,9 @@ model DefaultCacheBehavior { targetOriginId?: string; @doc("A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) trustedKeyGroups?: string[]; @doc("We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) trustedSigners?: string[]; @doc("The protocol that viewers can use to access the files in the origin specified by ``TargetOriginId`` when a request matches the path pattern in ``PathPattern``. You can specify the following options: + ``allow-all``: Viewers can use HTTP or HTTPS. + ``redirect-to-https``: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL. + ``https-only``: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden). For more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide*. The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -382,7 +369,7 @@ model Logging { @doc("Definition of OriginGroups") model OriginGroups { @doc("The items (origin groups) in a distribution.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) items?: OriginGroup[]; @doc("The number of origin groups.") @@ -414,7 +401,7 @@ model Origin { originAccessControlId?: string; @doc("A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin. For more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) originCustomHeaders?: OriginCustomHeader[]; @doc("An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. For more information, see [Origin Path](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) in the *Amazon CloudFront Developer Guide*.") @@ -482,14 +469,12 @@ model ForwardedValues { cookies?: Cookies; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that specifies the ``Headers``, if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests. For more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) headers?: string[]; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of ``QueryString`` and on the values that you specify for ``QueryStringCacheKeys``, if any: If you specify true for ``QueryString`` and you don't specify any values for ``QueryStringCacheKeys``, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin. If you specify true for ``QueryString`` and you specify one or more values for ``QueryStringCacheKeys``, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify. If you specify false for ``QueryString``, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters. For more information, see [Configuring CloudFront to Cache Based on Query String Parameters](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) in the *Amazon CloudFront Developer Guide*.") queryString?: boolean; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.") - @extension("x-ms-identifiers", []) queryStringCacheKeys?: string[]; } @@ -560,7 +545,6 @@ model CustomOriginConfig { originReadTimeout?: int32 = 30; @doc("Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include ``SSLv3``, ``TLSv1``, ``TLSv1.1``, and ``TLSv1.2``. For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) originSSLProtocols?: string[]; } @@ -607,7 +591,6 @@ model S3OriginConfig { @doc("Definition of GeoRestriction") model GeoRestriction { @doc("A complex type that contains a ``Location`` element for each country in which you want CloudFront either to distribute your content or not distribute your content.") - @extension("x-ms-identifiers", []) locations?: string[]; @doc("The method that you want to use to restrict distribution of your content by country.") @@ -624,7 +607,6 @@ model Cookies { forward?: string; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", []) whitelistedNames?: string[]; } @@ -645,7 +627,7 @@ model OriginGroupFailoverCriteria { @doc("Definition of OriginGroupMembers") model OriginGroupMembers { @doc("Items (origins) in an origin group.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) items?: OriginGroupMember[]; @doc("The number of origins in an origin group.") @@ -659,7 +641,6 @@ model OriginGroupMembers { @doc("Definition of StatusCodes") model StatusCodes { @doc("The items (status codes) for an origin group.") - @extension("x-ms-identifiers", []) items?: int32[]; @doc("The number of status codes.") diff --git a/specification/awsconnector/CloudTrailTrail.Management/main.tsp b/specification/awsconnector/CloudTrailTrail.Management/main.tsp index 074163457f41..bb229c176a0d 100644 --- a/specification/awsconnector/CloudTrailTrail.Management/main.tsp +++ b/specification/awsconnector/CloudTrailTrail.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,7 @@ model CloudTrailTrailProperties { @doc("Definition of awsCloudTrailTrail") model AwsCloudTrailTrailProperties { @doc("The advanced event selectors that were used to select events for the data store.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) advancedEventSelectors?: AdvancedEventSelector[]; @doc("Property arn") @@ -88,14 +86,14 @@ model AwsCloudTrailTrailProperties { enableLogFileValidation?: boolean; @doc("Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event. You can configure up to five event selectors for a trail.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) eventSelectors?: EventSelector[]; @doc("Specifies whether the trail is publishing events from global services such as IAM to the log files.") includeGlobalServiceEvents?: boolean; @doc("Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) insightSelectors?: InsightSelector[]; @doc("Whether the CloudTrail is currently logging AWS API calls.") @@ -123,7 +121,7 @@ model AwsCloudTrailTrailProperties { snsTopicName?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property trailName") @@ -137,7 +135,7 @@ model AwsCloudTrailTrailProperties { @doc("Definition of AdvancedEventSelector") model AdvancedEventSelector { @doc("Contains all selector statements in an advanced event selector.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) fieldSelectors?: AdvancedFieldSelector[]; @doc("An optional, descriptive name for an advanced event selector, such as 'Log data events for only two S3 buckets'.") @@ -151,11 +149,10 @@ model AdvancedEventSelector { @doc("Definition of EventSelector") model EventSelector { @doc("Property dataResources") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dataResources?: DataResource[]; @doc("An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing 'kms.amazonaws.com'. By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.") - @extension("x-ms-identifiers", []) excludeManagementEventSources?: string[]; @doc("Specify if you want your event selector to include management events for your trail.") @@ -209,30 +206,24 @@ model Tag { @doc("Definition of AdvancedFieldSelector") model AdvancedFieldSelector { @doc("An operator that includes events that match the last few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", []) endsWith?: string[]; @doc("An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.") - @extension("x-ms-identifiers", []) equals?: string[]; @doc("A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.") field?: string; @doc("An operator that excludes events that match the last few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", []) notEndsWith?: string[]; @doc("An operator that excludes events that match the exact value of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", []) notEquals?: string[]; @doc("An operator that excludes events that match the first few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", []) notStartsWith?: string[]; @doc("An operator that includes events that match the first few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", []) startsWith?: string[]; } @@ -246,7 +237,6 @@ model DataResource { type?: string; @doc("An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.") - @extension("x-ms-identifiers", []) values?: string[]; } diff --git a/specification/awsconnector/CloudWatchAlarm.Management/main.tsp b/specification/awsconnector/CloudWatchAlarm.Management/main.tsp index d678904d66d9..4a559c338b29 100644 --- a/specification/awsconnector/CloudWatchAlarm.Management/main.tsp +++ b/specification/awsconnector/CloudWatchAlarm.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,6 @@ model AwsCloudWatchAlarmProperties { actionsEnabled?: boolean = true; @doc("The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *API Reference*.") - @extension("x-ms-identifiers", []) alarmActions?: string[]; @doc("The description of the alarm.") @@ -94,7 +91,7 @@ model AwsCloudWatchAlarmProperties { datapointsToAlarm?: int32; @doc("The dimensions for the metric associated with the alarm. For an alarm based on a math expression, you can't specify ``Dimensions``. Instead, you use ``Metrics``.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dimensions?: Dimension[]; @doc("Used only for alarms based on percentiles. If ``ignore``, the alarm state does not change during periods with too few data points to be statistically significant. If ``evaluate`` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.") @@ -107,21 +104,19 @@ model AwsCloudWatchAlarmProperties { extendedStatistic?: string; @doc("The actions to execute when this alarm transitions to the ``INSUFFICIENT_DATA`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).") - @extension("x-ms-identifiers", []) insufficientDataActions?: string[]; @doc("The name of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you use ``Metrics`` instead and you can't specify ``MetricName``.") metricName?: string; @doc("An array that enables you to create an alarm based on the result of a metric math expression. Each item in the array either retrieves a metric or performs a math expression. If you specify the ``Metrics`` parameter, you cannot specify ``MetricName``, ``Dimensions``, ``Period``, ``Namespace``, ``Statistic``, ``ExtendedStatistic``, or ``Unit``.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) metrics?: MetricDataQuery[]; @doc("The namespace of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you can't specify ``Namespace`` and you use ``Metrics`` instead. For a list of namespaces for metrics from AWS services, see [Services That Publish Metrics.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)") `namespace`?: string; @doc("The actions to execute when this alarm transitions to the ``OK`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).") - @extension("x-ms-identifiers", []) okActions?: string[]; @doc("The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60. For an alarm based on a math expression, you can't specify ``Period``, and instead you use the ``Metrics`` parameter. *Minimum:* 10") @@ -131,7 +126,7 @@ model AwsCloudWatchAlarmProperties { statistic?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The value to compare with the specified statistic.") @@ -227,7 +222,7 @@ model MetricStat { @doc("Definition of Metric") model Metric { @doc("The metric dimensions that you want to be used for the metric that the alarm will watch.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dimensions?: Dimension[]; @doc("The name of the metric that you want the alarm to watch. This is a required field.") diff --git a/specification/awsconnector/CodeBuildProject.Management/main.tsp b/specification/awsconnector/CodeBuildProject.Management/main.tsp index 804e518a4d08..992a9f7c6641 100644 --- a/specification/awsconnector/CodeBuildProject.Management/main.tsp +++ b/specification/awsconnector/CodeBuildProject.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -102,7 +100,7 @@ model AwsCodeBuildProjectProperties { environment?: ProjectEnvironment; @doc("

An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) fileSystemLocations?: ProjectFileSystemLocation[]; @doc("

When the build project's settings were last modified, expressed in Unix time format.

") @@ -127,15 +125,15 @@ model AwsCodeBuildProjectProperties { resourceAccessRole?: string; @doc("

An array of ProjectArtifacts objects.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) secondaryArtifacts?: ProjectArtifacts[]; @doc("

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) secondarySourceVersions?: ProjectSourceVersion[]; @doc("

An array of ProjectSource objects.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) secondarySources?: ProjectSource[]; @doc("

The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.

") @@ -148,7 +146,7 @@ model AwsCodeBuildProjectProperties { sourceVersion?: string; @doc("

A list of tag key and value pairs associated with this build project.

These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("

How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.

") @@ -354,7 +352,6 @@ model ProjectCache { location?: string; @doc("

An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for LOCAL cache types.

Possible values are:

LOCAL_SOURCE_CACHE

Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.

LOCAL_DOCKER_LAYER_CACHE

Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.

  • You can use a Docker layer cache in the Linux environment only.

  • The privileged flag must be set so that your project has the required Docker permissions.

  • You should consider the security implications before you use a Docker layer cache.

LOCAL_CUSTOM_CACHE

Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:

  • Only directories can be specified for caching. You cannot specify individual files.

  • Symlinks are used to reference cached directories.

  • Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.

") - @extension("x-ms-identifiers", []) modes?: CacheMode[]; @doc("

The type of cache used by the build project. Valid values include:

  • NO_CACHE: The build project does not use any cache.

  • S3: The build project reads and writes from and to S3.

  • LOCAL: The build project stores a cache locally on a build host that is only available to that build host.

") @@ -419,7 +416,7 @@ model ProjectEnvironment { computeType?: ComputeTypeEnumValue; @doc("

A set of environment variables to make available to builds for this build project.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) environmentVariables?: EnvironmentVariable[]; @doc("

A ProjectFleet object to use for this build project.

") @@ -732,11 +729,9 @@ model Tag { @doc("Definition of VpcConfig") model VpcConfig { @doc("

A list of one or more security groups IDs in your Amazon VPC.

") - @extension("x-ms-identifiers", []) securityGroupIds?: string[]; @doc("

A list of one or more subnet IDs in your Amazon VPC.

") - @extension("x-ms-identifiers", []) subnets?: string[]; @doc("

The ID of the Amazon VPC.

") @@ -756,7 +751,7 @@ model Webhook { buildType?: WebhookBuildTypeEnumValue; @doc("

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) filterGroups?: FilterGroup[]; @doc("

A timestamp that indicates the last time a repository's secret token was modified.

") @@ -800,7 +795,6 @@ model WebhookBuildTypeEnumValue { @doc("Definition of BatchRestrictions") model BatchRestrictions { @doc("

An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the CodeBuild User Guide for these values.

") - @extension("x-ms-identifiers", []) computeTypesAllowed?: string[]; @doc("

Specifies the maximum number of builds allowed.

") diff --git a/specification/awsconnector/CodeBuildSourceCredentialsInfo.Management/main.tsp b/specification/awsconnector/CodeBuildSourceCredentialsInfo.Management/main.tsp index 7c71f7bd0edc..3b9c4da4bedb 100644 --- a/specification/awsconnector/CodeBuildSourceCredentialsInfo.Management/main.tsp +++ b/specification/awsconnector/CodeBuildSourceCredentialsInfo.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp b/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp index b4a8825fcb8e..a0ead6bf5918 100644 --- a/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp +++ b/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -110,7 +108,6 @@ model RecordingGroup { recordingStrategy?: RecordingStrategy; @doc("

A comma-separated list that specifies which resource types Config records.

For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.

Required and optional fields

Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

Region availability

Before specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

") - @extension("x-ms-identifiers", []) resourceTypes?: ResourceType[]; } @@ -1360,7 +1357,7 @@ model RecordingMode { recordingFrequency?: RecordingFrequencyEnumValue; @doc("

An array of recordingModeOverride objects for you to specify your overrides for the recording mode. The recordingModeOverride object in the recordingModeOverrides array consists of three fields: a description, the new recordingFrequency, and an array of resourceTypes to override.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) recordingModeOverrides?: RecordingModeOverride[]; } @@ -1392,7 +1389,6 @@ model RecordingFrequencyEnumValue { @doc("Definition of ExclusionByResourceTypes") model ExclusionByResourceTypes { @doc("

A comma-separated list of resource types to exclude from recording by the configuration recorder.

") - @extension("x-ms-identifiers", []) resourceTypes?: ResourceType[]; } @@ -1443,7 +1439,6 @@ model RecordingModeOverride { recordingFrequency?: RecordingFrequencyEnumValue; @doc("

A comma-separated list that specifies which resource types Config includes in the override.

Daily recording is not supported for the following resource types:

  • AWS::Config::ResourceCompliance

  • AWS::Config::ConformancePackCompliance

  • AWS::Config::ConfigurationRecorder

") - @extension("x-ms-identifiers", []) resourceTypes?: ResourceType[]; } diff --git a/specification/awsconnector/ConfigServiceConfigurationRecorderStatus.Management/main.tsp b/specification/awsconnector/ConfigServiceConfigurationRecorderStatus.Management/main.tsp index 32df7da4ec25..24fd3e219c00 100644 --- a/specification/awsconnector/ConfigServiceConfigurationRecorderStatus.Management/main.tsp +++ b/specification/awsconnector/ConfigServiceConfigurationRecorderStatus.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/ConfigServiceDeliveryChannel.Management/main.tsp b/specification/awsconnector/ConfigServiceDeliveryChannel.Management/main.tsp index f964910925d3..c42dd054b669 100644 --- a/specification/awsconnector/ConfigServiceDeliveryChannel.Management/main.tsp +++ b/specification/awsconnector/ConfigServiceDeliveryChannel.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp b/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp index 53e881a7d18c..fe9cbfc4e9ef 100644 --- a/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp +++ b/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -128,21 +126,18 @@ model AwsDatabaseMigrationServiceReplicationInstanceProperties { replicationInstanceIdentifier?: string; @doc("

One or more IPv6 addresses for the replication instance.

") - @extension("x-ms-identifiers", []) replicationInstanceIpv6Addresses?: string[]; @doc("

The private IP address of the replication instance.

") replicationInstancePrivateIpAddress?: string; @doc("

One or more private IP addresses for the replication instance.

") - @extension("x-ms-identifiers", []) replicationInstancePrivateIpAddresses?: string[]; @doc("

The public IP address of the replication instance.

") replicationInstancePublicIpAddress?: string; @doc("

One or more public IP addresses for the replication instance.

") - @extension("x-ms-identifiers", []) replicationInstancePublicIpAddresses?: string[]; @doc("

The status of the replication instance. The possible return values include:

  • 'available'

  • 'creating'

  • 'deleted'

  • 'deleting'

  • 'failed'

  • 'modifying'

  • 'upgrading'

  • 'rebooting'

  • 'resetting-master-credentials'

  • 'storage-full'

  • 'incompatible-credentials'

  • 'incompatible-network'

  • 'maintenance'

") @@ -155,7 +150,7 @@ model AwsDatabaseMigrationServiceReplicationInstanceProperties { secondaryAvailabilityZone?: string; @doc("

The VPC security group for the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) vpcSecurityGroups?: VpcSecurityGroupMembership[]; } @@ -197,11 +192,10 @@ model ReplicationSubnetGroup { subnetGroupStatus?: string; @doc("

The subnets that are in the subnet group.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) subnets?: Subnet[]; @doc("

The IP addressing protocol supported by the subnet group. This is used by a replication instance with values such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

") - @extension("x-ms-identifiers", []) supportedNetworkTypes?: string[]; @doc("

The ID of the VPC.

") diff --git a/specification/awsconnector/DaxCluster.Management/main.tsp b/specification/awsconnector/DaxCluster.Management/main.tsp index 7110a7636352..ea31415f3aef 100644 --- a/specification/awsconnector/DaxCluster.Management/main.tsp +++ b/specification/awsconnector/DaxCluster.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -93,14 +91,13 @@ model AwsDaxClusterProperties { iamRoleArn?: string; @doc("

A list of nodes to be removed from the cluster.

") - @extension("x-ms-identifiers", []) nodeIdsToRemove?: string[]; @doc("

The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)

") nodeType?: string; @doc("

A list of nodes that are currently in the cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) nodes?: Node[]; @doc("

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

") @@ -116,7 +113,7 @@ model AwsDaxClusterProperties { sseDescription?: SSEDescription; @doc("

A list of security groups, and the status of each, for the nodes in the cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) securityGroups?: SecurityGroupMembership[]; @doc("

The current status of the cluster.

") @@ -211,7 +208,6 @@ model NotificationConfiguration { @doc("Definition of ParameterGroupStatus") model ParameterGroupStatus { @doc("

The node IDs of one or more nodes to be rebooted.

") - @extension("x-ms-identifiers", []) nodeIdsToReboot?: string[]; @doc("

The status of parameter updates.

") diff --git a/specification/awsconnector/DynamoDBContinuousBackupsDescription.Management/main.tsp b/specification/awsconnector/DynamoDBContinuousBackupsDescription.Management/main.tsp index a54579653fe5..7ab05816bb51 100644 --- a/specification/awsconnector/DynamoDBContinuousBackupsDescription.Management/main.tsp +++ b/specification/awsconnector/DynamoDBContinuousBackupsDescription.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/DynamoDBTable.Management/main.tsp b/specification/awsconnector/DynamoDBTable.Management/main.tsp index 46932c1b7b60..aafe3fe3eccc 100644 --- a/specification/awsconnector/DynamoDBTable.Management/main.tsp +++ b/specification/awsconnector/DynamoDBTable.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsDynamoDBTableProperties { arn?: string; @doc("A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt). Replacement if you edit an existing AttributeDefinition.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) attributeDefinitions?: AttributeDefinition[]; @doc("Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: + ``PROVISIONED`` - We recommend using ``PROVISIONED`` for predictable workloads. ``PROVISIONED`` sets the billing mode to [Provisioned Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). + ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for unpredictable workloads. ``PAY_PER_REQUEST`` sets the billing mode to [On-Demand Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand). If not specified, the default is ``PROVISIONED``.") @@ -88,21 +86,21 @@ model AwsDynamoDBTableProperties { deletionProtectionEnabled?: boolean; @doc("Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes. If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ``ACTIVE``. You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions: + If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. + You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) globalSecondaryIndexes?: GlobalSecondaryIndex[]; @doc("Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification``, the ``TableClass`` property, or the ``DeletionProtectionEnabled`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission. Specifies the properties of data being imported from the S3 bucket source to the table.") importSourceSpecification?: ImportSourceSpecification; @doc("Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) keySchema?: KeySchema[]; @doc("The Kinesis Data Streams configuration for the specified table. The Kinesis Data Streams configuration for the specified table.") kinesisStreamSpecification?: KinesisStreamSpecification; @doc("Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) localSecondaryIndexes?: LocalSecondaryIndex[]; @doc("The settings used to enable point in time recovery. The settings used to enable point in time recovery.") @@ -130,7 +128,7 @@ model AwsDynamoDBTableProperties { tableName?: string; @doc("An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide. Represents the settings used to enable or disable Time to Live (TTL) for the specified table.") @@ -173,7 +171,7 @@ model GlobalSecondaryIndex { indexName?: string; @doc("The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: + ``HASH`` - partition key + ``RANGE`` - sort key The partition key of an item is also known as its *hash attribute*. The term 'hash attribute' derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its *range attribute*. The term 'range attribute' derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) keySchema?: KeySchema[]; @doc("Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.") @@ -249,7 +247,7 @@ model LocalSecondaryIndex { indexName?: string; @doc("The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: + ``HASH`` - partition key + ``RANGE`` - sort key The partition key of an item is also known as its *hash attribute*. The term 'hash attribute' derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its *range attribute*. The term 'range attribute' derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) keySchema?: KeySchema[]; @doc("Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.") @@ -351,7 +349,6 @@ model TimeToLiveSpecification { @doc("Definition of Projection") model Projection { @doc("Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.") - @extension("x-ms-identifiers", []) nonKeyAttributes?: string[]; @doc("The set of attributes that are projected into the index: + ``KEYS_ONLY`` - Only the index and primary keys are projected into the index. + ``INCLUDE`` - In addition to the attributes described in ``KEYS_ONLY``, the secondary index will include other non-key attributes that you specify. + ``ALL`` - All of the table attributes are projected into the index. When using the DynamoDB console, ``ALL`` is selected by default.") @@ -394,7 +391,6 @@ model Csv { delimiter?: string; @doc("List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.") - @extension("x-ms-identifiers", []) headerList?: string[]; } diff --git a/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp b/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp index 37beac955a55..f8ac3e5fd200 100644 --- a/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp +++ b/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsEc2AccountAttributeProperties { attributeName?: string; @doc("

The values for the account attribute.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) attributeValues?: AccountAttributeValue[]; } diff --git a/specification/awsconnector/Ec2Address.Management/main.tsp b/specification/awsconnector/Ec2Address.Management/main.tsp index 0673feb1f7d2..912cb257703b 100644 --- a/specification/awsconnector/Ec2Address.Management/main.tsp +++ b/specification/awsconnector/Ec2Address.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -111,7 +109,7 @@ model AwsEc2AddressProperties { publicIpv4Pool?: string; @doc("

Any tags assigned to the Elastic IP address.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/Ec2FlowLog.Management/main.tsp b/specification/awsconnector/Ec2FlowLog.Management/main.tsp index f8df95105df2..bdc087fd0b5c 100644 --- a/specification/awsconnector/Ec2FlowLog.Management/main.tsp +++ b/specification/awsconnector/Ec2FlowLog.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -105,7 +103,7 @@ model AwsEc2FlowLogProperties { resourceType?: ResourceType; @doc("The tags to apply to the flow logs.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.") diff --git a/specification/awsconnector/Ec2Image.Management/main.tsp b/specification/awsconnector/Ec2Image.Management/main.tsp index fed84f567671..d45923f3d069 100644 --- a/specification/awsconnector/Ec2Image.Management/main.tsp +++ b/specification/awsconnector/Ec2Image.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsEc2ImageProperties { architecture?: ArchitectureValuesEnumValue; @doc("

Any block device mapping entries.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) blockDeviceMappings?: BlockDeviceMapping[]; @doc("

The boot mode of the image. For more information, see Boot modes in the Amazon EC2 User Guide.

") @@ -133,7 +131,7 @@ model AwsEc2ImageProperties { platformDetails?: string; @doc("

Any product codes associated with the AMI.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) productCodes?: ProductCode[]; @doc("

Indicates whether the image has public launch permissions. The value is true if this image has public launch permissions or false if it has only implicit and explicit launch permissions.

") @@ -161,7 +159,7 @@ model AwsEc2ImageProperties { stateReason?: StateReason; @doc("

Any tags assigned to the image.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("

If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon EC2 User Guide.

") diff --git a/specification/awsconnector/Ec2Instance.Management/main.tsp b/specification/awsconnector/Ec2Instance.Management/main.tsp index fa2479e72aa9..6a415d86a4dc 100644 --- a/specification/awsconnector/Ec2Instance.Management/main.tsp +++ b/specification/awsconnector/Ec2Instance.Management/main.tsp @@ -17,9 +17,7 @@ using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -70,7 +68,7 @@ model AwsEc2InstanceProperties { architecture?: ArchitectureValuesEnumValue; @doc("

Any block device mapping entries for the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) blockDeviceMappings?: InstanceBlockDeviceMapping[]; @doc("

The boot mode that was specified by the AMI. If the value is uefi-preferred, the AMI supports both UEFI and Legacy BIOS. The currentInstanceBootMode parameter is the boot mode that is used to boot the instance at launch or start.

The operating system contained in the AMI must be configured to support the specified boot mode.

For more information, see Boot modes in the Amazon EC2 User Guide.

") @@ -95,11 +93,11 @@ model AwsEc2InstanceProperties { ebsOptimized?: boolean; @doc("

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) elasticGpuAssociations?: ElasticGpuAssociation[]; @doc("

The elastic inference accelerator associated with the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) elasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; @doc("

Specifies whether enhanced networking with ENA is enabled.

") @@ -142,7 +140,7 @@ model AwsEc2InstanceProperties { launchTime?: utcDateTime; @doc("

The license configurations for the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) licenses?: LicenseConfiguration[]; @doc("

Provides information on the recovery and maintenance options of your instance.

") @@ -155,7 +153,7 @@ model AwsEc2InstanceProperties { monitoring?: Monitoring; @doc("

The network interfaces for the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) networkInterfaces?: InstanceNetworkInterface[]; @doc("

The Amazon Resource Name (ARN) of the Outpost.

") @@ -180,7 +178,7 @@ model AwsEc2InstanceProperties { privateIpAddress?: string; @doc("

The product codes attached to this instance, if applicable.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) productCodes?: ProductCode[]; @doc("

[IPv4 only] The public DNS name assigned to the instance. This name is not available until the instance enters the running state. This name is only available if you've enabled DNS hostnames for your VPC.

") @@ -199,7 +197,7 @@ model AwsEc2InstanceProperties { rootDeviceType?: DeviceTypeEnumValue; @doc("

The security groups for the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) securityGroups?: GroupIdentifier[]; @doc("

Indicates whether source/destination checking is enabled.

") @@ -224,7 +222,7 @@ model AwsEc2InstanceProperties { subnetId?: string; @doc("

Any tags assigned to the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("

If the instance is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon EC2 User Guide.

") @@ -3187,22 +3185,22 @@ model InstanceNetworkInterface { description?: string; @doc("

The security groups.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) groups?: GroupIdentifier[]; @doc("

The type of network interface.

Valid values: interface | efa | trunk

") interfaceType?: string; @doc("

The IPv4 delegated prefixes that are assigned to the network interface.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipv4Prefixes?: InstanceIpv4Prefix[]; @doc("

The IPv6 addresses associated with the network interface.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipv6Addresses?: InstanceIpv6Address[]; @doc("

The IPv6 delegated prefixes that are assigned to the network interface.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipv6Prefixes?: InstanceIpv6Prefix[]; @doc("

The MAC address.

") @@ -3221,7 +3219,7 @@ model InstanceNetworkInterface { privateIpAddress?: string; @doc("

The private IPv4 addresses associated with the network interface.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) privateIpAddresses?: InstancePrivateIpAddress[]; @doc("

Indicates whether source/destination checking is enabled.

") diff --git a/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp b/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp index 40b0bc6127bc..3e744d40737f 100644 --- a/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp +++ b/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsEc2InstanceStatusProperties { availabilityZone?: string; @doc("

Any scheduled events associated with the instance.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) events?: InstanceStatusEvent[]; @doc("

The ID of the instance.

") @@ -202,7 +200,7 @@ model InstanceStateNameEnumValue { @doc("Definition of InstanceStatusSummary") model InstanceStatusSummary { @doc("

The system instance health or application instance health.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) details?: InstanceStatusDetails[]; @doc("

The status.

") diff --git a/specification/awsconnector/Ec2Ipam.Management/main.tsp b/specification/awsconnector/Ec2Ipam.Management/main.tsp index ec12381a57bc..af54110c7bf6 100644 --- a/specification/awsconnector/Ec2Ipam.Management/main.tsp +++ b/specification/awsconnector/Ec2Ipam.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -90,7 +88,7 @@ model AwsEc2IpamProperties { ipamRegion?: string; @doc("

The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) operatingRegions?: IpamOperatingRegion[]; @doc("

The Amazon Web Services account ID of the owner of the IPAM.

") @@ -115,7 +113,7 @@ model AwsEc2IpamProperties { stateMessage?: string; @doc("

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

") diff --git a/specification/awsconnector/Ec2KeyPair.Management/main.tsp b/specification/awsconnector/Ec2KeyPair.Management/main.tsp index 2d2c570c8f54..a84a1d5e2293 100644 --- a/specification/awsconnector/Ec2KeyPair.Management/main.tsp +++ b/specification/awsconnector/Ec2KeyPair.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -90,7 +88,7 @@ model AwsEc2KeyPairProperties { publicKeyMaterial?: string; @doc("The tags to apply to the key pair.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp b/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp index a8fd1046a302..95eeafdd393f 100644 --- a/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp +++ b/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsEc2NetworkAclProperties { id?: string; @doc("The tags for the network ACL.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC for the network ACL.") diff --git a/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp b/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp index 3dfee6aa2d72..b35331ed3720 100644 --- a/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp +++ b/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -81,7 +79,6 @@ model AwsEc2NetworkInterfaceProperties { enablePrimaryIpv6?: boolean; @doc("A list of security group IDs associated with this network interface.") - @extension("x-ms-identifiers", []) groupSet?: string[]; @doc("Network interface id.") @@ -94,21 +91,21 @@ model AwsEc2NetworkInterfaceProperties { ipv4PrefixCount?: int32; @doc("Assigns a list of IPv4 prefixes to the network interface. If you want EC2 to automatically assign IPv4 prefixes, use the Ipv4PrefixCount property and do not specify this property. Presently, only /28 prefixes are supported. You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipv4Prefixes?: Ipv4PrefixSpecification[]; @doc("The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the Ipv6Addresses property and don't specify this property.") ipv6AddressCount?: int32; @doc("One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. If you're specifying a number of IPv6 addresses, use the Ipv6AddressCount property and don't specify this property.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipv6Addresses?: InstanceIpv6Address[]; @doc("The number of IPv6 prefixes to assign to a network interface. When you specify a number of IPv6 prefixes, Amazon EC2 selects these prefixes from your existing subnet CIDR reservations, if available, or from free spaces in the subnet. By default, these will be /80 prefixes. You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.") ipv6PrefixCount?: int32; @doc("Assigns a list of IPv6 prefixes to the network interface. If you want EC2 to automatically assign IPv6 prefixes, use the Ipv6PrefixCount property and do not specify this property. Presently, only /80 prefixes are supported. You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipv6Prefixes?: Ipv6PrefixSpecification[]; @doc("The primary IPv6 address") @@ -121,14 +118,13 @@ model AwsEc2NetworkInterfaceProperties { privateIpAddress?: string; @doc("Assigns a list of private IP addresses to the network interface. You can specify a primary private IP address by setting the value of the Primary property to true in the PrivateIpAddressSpecification property. If you want EC2 to automatically assign private IP addresses, use the SecondaryPrivateIpAddressCount property and do not specify this property.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) privateIpAddresses?: PrivateIpAddressSpecification[]; @doc("The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses") secondaryPrivateIpAddressCount?: int32; @doc("Returns the secondary private IP addresses of the network interface.") - @extension("x-ms-identifiers", []) secondaryPrivateIpAddresses?: string[]; @doc("Indicates whether traffic to or from the instance is validated.") @@ -138,7 +134,7 @@ model AwsEc2NetworkInterfaceProperties { subnetId?: string; @doc("An arbitrary set of tags (key-value pairs) for this network interface.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC") diff --git a/specification/awsconnector/Ec2RouteTable.Management/main.tsp b/specification/awsconnector/Ec2RouteTable.Management/main.tsp index c219291bad8d..f5146034eb38 100644 --- a/specification/awsconnector/Ec2RouteTable.Management/main.tsp +++ b/specification/awsconnector/Ec2RouteTable.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsEc2RouteTableProperties { routeTableId?: string; @doc("Any tags assigned to the route table.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC.") diff --git a/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp b/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp index 384bab4a70cb..6fc766368888 100644 --- a/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp +++ b/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -81,18 +79,18 @@ model AwsEc2SecurityGroupProperties { groupName?: string; @doc("

The inbound rules associated with the security group.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipPermissions?: IpPermission[]; @doc("

The outbound rules associated with the security group.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipPermissionsEgress?: IpPermission[]; @doc("

The Amazon Web Services account ID of the owner of the security group.

") ownerId?: string; @doc("

Any tags assigned to the security group.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("

The ID of the VPC for the security group.

") @@ -112,22 +110,22 @@ model IpPermission { ipProtocol?: string; @doc("

The IPv4 address ranges.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipRanges?: IpRange[]; @doc("

The IPv6 address ranges.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipv6Ranges?: Ipv6Range[]; @doc("

The prefix list IDs.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) prefixListIds?: PrefixListId[]; @doc("

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

") toPort?: int32; @doc("

The security group and Amazon Web Services account ID pairs.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) userIdGroupPairs?: UserIdGroupPair[]; } diff --git a/specification/awsconnector/Ec2Snapshot.Management/main.tsp b/specification/awsconnector/Ec2Snapshot.Management/main.tsp index 431082114e4f..02996e255d74 100644 --- a/specification/awsconnector/Ec2Snapshot.Management/main.tsp +++ b/specification/awsconnector/Ec2Snapshot.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -117,7 +115,7 @@ model AwsEc2SnapshotProperties { storageTier?: StorageTierEnumValue; @doc("

Any tags assigned to the snapshot.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

") diff --git a/specification/awsconnector/Ec2Subnet.Management/main.tsp b/specification/awsconnector/Ec2Subnet.Management/main.tsp index 5cfc25c08cbc..8a9c5630e631 100644 --- a/specification/awsconnector/Ec2Subnet.Management/main.tsp +++ b/specification/awsconnector/Ec2Subnet.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -99,7 +97,6 @@ model AwsEc2SubnetProperties { ipv6CidrBlock?: string; @doc("The IPv6 network ranges for the subnet, in CIDR notation.") - @extension("x-ms-identifiers", []) ipv6CidrBlocks?: string[]; @doc("An IPv6 IPAM pool ID for the subnet.") @@ -127,7 +124,7 @@ model AwsEc2SubnetProperties { subnetId?: string; @doc("Any tags assigned to the subnet.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC the subnet is in. If you update this property, you must also update the ``CidrBlock`` property.") diff --git a/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp b/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp index e5153723f145..85770f0dd017 100644 --- a/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp +++ b/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,14 +73,12 @@ model AwsEc2VPCEndpointProperties { creationTimestamp?: string; @doc("Property dnsEntries") - @extension("x-ms-identifiers", []) dnsEntries?: string[]; @doc("Property id") id?: string; @doc("Property networkInterfaceIds") - @extension("x-ms-identifiers", []) networkInterfaceIds?: string[]; @doc("An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints. For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. CFNlong converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint.") @@ -92,18 +88,15 @@ model AwsEc2VPCEndpointProperties { privateDnsEnabled?: boolean; @doc("The IDs of the route tables. Routing is supported only for gateway endpoints.") - @extension("x-ms-identifiers", []) routeTableIds?: string[]; @doc("The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.") - @extension("x-ms-identifiers", []) securityGroupIds?: string[]; @doc("The name of the endpoint service.") serviceName?: string; @doc("The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.") - @extension("x-ms-identifiers", []) subnetIds?: string[]; @doc("The type of endpoint. Default: Gateway") diff --git a/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp b/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp index bded966e2bcb..4c6003bf505e 100644 --- a/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp +++ b/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -88,7 +86,7 @@ model AwsEc2VPCPeeringConnectionProperties { peerVpcId?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC.") diff --git a/specification/awsconnector/Ec2Volume.Management/main.tsp b/specification/awsconnector/Ec2Volume.Management/main.tsp index 321e06dc527b..9e59eaade743 100644 --- a/specification/awsconnector/Ec2Volume.Management/main.tsp +++ b/specification/awsconnector/Ec2Volume.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -99,7 +97,7 @@ model AwsEc2VolumeProperties { snapshotId?: string; @doc("The tags to apply to the volume during creation.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.") diff --git a/specification/awsconnector/Ec2Vpc.Management/main.tsp b/specification/awsconnector/Ec2Vpc.Management/main.tsp index 02558f3375cf..22021b954cea 100644 --- a/specification/awsconnector/Ec2Vpc.Management/main.tsp +++ b/specification/awsconnector/Ec2Vpc.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,6 @@ model AwsEc2VpcProperties { cidrBlock?: string; @doc("Property cidrBlockAssociations") - @extension("x-ms-identifiers", []) cidrBlockAssociations?: string[]; @doc("Property defaultNetworkAcl") @@ -100,11 +97,10 @@ model AwsEc2VpcProperties { ipv4NetmaskLength?: int32; @doc("Property ipv6CidrBlocks") - @extension("x-ms-identifiers", []) ipv6CidrBlocks?: string[]; @doc("The tags for the VPC.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property vpcId") diff --git a/specification/awsconnector/EcrImageDetail.Management/main.tsp b/specification/awsconnector/EcrImageDetail.Management/main.tsp index 59ec1d722c19..a538ccc0b26e 100644 --- a/specification/awsconnector/EcrImageDetail.Management/main.tsp +++ b/specification/awsconnector/EcrImageDetail.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -93,7 +91,6 @@ model AwsEcrImageDetailProperties { imageSizeInBytes?: int64; @doc("

The list of tags associated with this image.

") - @extension("x-ms-identifiers", []) imageTags?: string[]; @doc("

The date and time, expressed in standard JavaScript date format, when Amazon ECR recorded the last image pull.

Amazon ECR refreshes the last image pull timestamp at least once every 24 hours. For example, if you pull an image once a day then the lastRecordedPullTime timestamp will indicate the exact time that the image was last pulled. However, if you pull an image once an hour, because Amazon ECR refreshes the lastRecordedPullTime timestamp at least once every 24 hours, the result may not be the exact time that the image was last pulled.

") diff --git a/specification/awsconnector/EcrRepository.Management/main.tsp b/specification/awsconnector/EcrRepository.Management/main.tsp index 86779e73f43c..ac32350f5325 100644 --- a/specification/awsconnector/EcrRepository.Management/main.tsp +++ b/specification/awsconnector/EcrRepository.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -99,7 +97,7 @@ model AwsEcrRepositoryProperties { repositoryUri?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } @@ -157,7 +155,7 @@ model LifecyclePolicy { @doc("The JSON repository policy text to apply to the repository. The JSON repository policy text to apply to the repository.") lifecyclePolicyText?: string; - @doc("The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.") + @doc("The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.") registryId?: string; } diff --git a/specification/awsconnector/EcsCluster.Management/main.tsp b/specification/awsconnector/EcsCluster.Management/main.tsp index a384e29e46aa..8e2a1f6bdd52 100644 --- a/specification/awsconnector/EcsCluster.Management/main.tsp +++ b/specification/awsconnector/EcsCluster.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,28 +73,27 @@ model AwsEcsClusterProperties { arn?: string; @doc("The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation. To use a FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used. The [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.") - @extension("x-ms-identifiers", []) capacityProviders?: string[]; @doc("A user-generated string that you use to identify your cluster. If you don't specify a name, CFNlong generates a unique physical ID for the name.") clusterName?: string; @doc("The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) clusterSettings?: ClusterSettings[]; @doc("The execute command configuration for the cluster. The execute command configuration for the cluster.") configuration?: ClusterConfiguration; @doc("The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; @doc("Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the ``enabled`` parameter to ``true`` in the ``ServiceConnectConfiguration``. You can set the namespace of each service individually in the ``ServiceConnectConfiguration`` to override this default parameter. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*. Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the ``enabled`` parameter to ``true`` in the ``ServiceConnectConfiguration``. You can set the namespace of each service individually in the ``ServiceConnectConfiguration`` to override this default parameter. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.") serviceConnectDefaults?: ServiceConnectDefaults; @doc("The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both. The following basic restrictions apply to tags: + Maximum number of tags per resource - 50 + For each resource, each tag key must be unique, and each tag key can have only one value. + Maximum key length - 128 Unicode characters in UTF-8 + Maximum value length - 256 Unicode characters in UTF-8 + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. + Tag keys and values are case-sensitive. + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/EcsService.Management/main.tsp b/specification/awsconnector/EcsService.Management/main.tsp index 146a59c22fb4..a733e43db574 100644 --- a/specification/awsconnector/EcsService.Management/main.tsp +++ b/specification/awsconnector/EcsService.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,7 @@ model EcsServiceProperties { @doc("Definition of awsEcsService") model AwsEcsServiceProperties { @doc("The capacity provider strategy to use for the service. If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy may contain a maximum of 6 capacity providers.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) capacityProviderStrategy?: CapacityProviderStrategyItem[]; @doc("The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.") @@ -100,7 +98,7 @@ model AwsEcsServiceProperties { launchType?: LaunchType; @doc("A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) loadBalancers?: LoadBalancer[]; @doc("Property name") @@ -110,11 +108,11 @@ model AwsEcsServiceProperties { networkConfiguration?: NetworkConfiguration; @doc("An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) placementConstraints?: PlacementConstraint[]; @doc("The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) placementStrategies?: PlacementStrategy[]; @doc("The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*.") @@ -139,18 +137,18 @@ model AwsEcsServiceProperties { serviceName?: string; @doc("The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). Each service may be associated with one service registry. Multiple service registries for each service isn't supported.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) serviceRegistries?: ServiceRegistry[]; @doc("The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: + Maximum number of tags per resource - 50 + For each resource, each tag key must be unique, and each tag key can have only one value. + Maximum key length - 128 Unicode characters in UTF-8 + Maximum value length - 256 Unicode characters in UTF-8 + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. + Tag keys and values are case-sensitive. + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The ``family`` and ``revision`` (``family:revision``) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers. For more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html).") taskDefinition?: string; @doc("The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) volumeConfigurations?: ServiceVolumeConfiguration[]; } @@ -345,7 +343,7 @@ model ServiceConnectConfiguration { `namespace`?: string; @doc("The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service. This field is not required for a 'client' Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means. An object selects a port from the task definition, assigns a name for the CMAPlong service, and a list of aliases (endpoints) and ports for client applications to refer to this service.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) services?: ServiceConnectService[]; } @@ -401,7 +399,6 @@ model ServiceVolumeConfiguration { @doc("Definition of DeploymentAlarms") model DeploymentAlarms { @doc("One or more CloudWatch alarm names. Use a ',' to separate the alarms.") - @extension("x-ms-identifiers", []) alarmNames?: string[]; @doc("Determines whether to use the CloudWatch alarm option in the service deployment process.") @@ -434,11 +431,9 @@ model AwsVpcConfiguration { assignPublicIp?: AwsVpcConfigurationAssignPublicIp; @doc("The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. All specified security groups must be from the same VPC.") - @extension("x-ms-identifiers", []) securityGroups?: string[]; @doc("The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. All specified subnets must be from the same VPC.") - @extension("x-ms-identifiers", []) subnets?: string[]; } @@ -466,7 +461,7 @@ model LogConfiguration { options?: unknown; @doc("The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) secretOptions?: Secret[]; } @@ -477,7 +472,7 @@ model LogConfiguration { @doc("Definition of ServiceConnectService") model ServiceConnectService { @doc("The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. Each alias ('endpoint') is a fully-qualified name and port number that other Amazon ECS tasks ('clients') can use to connect to this service. Each name and port mapping must be unique within the namespace. For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) clientAliases?: ServiceConnectClientAlias[]; @doc("The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.") @@ -505,7 +500,7 @@ model ServiceManagedEBSVolumeConfiguration { @doc("Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.") encrypted?: boolean; - @doc("The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are
 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.") + @doc("The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.") filesystemType?: string; @doc("The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type. + ``gp3``: 3,000 - 16,000 IOPS + ``io1``: 100 - 64,000 IOPS + ``io2``: 100 - 256,000 IOPS This parameter is required for ``io1`` and ``io2`` volume types. The default for ``gp3`` volumes is ``3,000 IOPS``. This parameter is not supported for ``st1``, ``sc1``, or ``standard`` volume types. This parameter maps 1:1 with the ``Iops`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.") @@ -524,7 +519,7 @@ model ServiceManagedEBSVolumeConfiguration { snapshotId?: string; @doc("The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagSpecifications?: EBSTagSpecification[]; @doc("The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the ``Throughput`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. This parameter is only supported for the ``gp3`` volume type.") @@ -595,14 +590,14 @@ model ServiceConnectTlsConfiguration { #suppress "@azure-tools/typespec-azure-core/property-name-conflict" "AWSConnector will not generate SDK. So, supressing this error" @doc("Definition of EBSTagSpecification") model EBSTagSpecification { - @doc("Determines whether to propagate the tags from the task definition to 
the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in 
``ServiceVolumeConfiguration``. If no value is specified, the tags aren't 
propagated.") + @doc("Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in ``ServiceVolumeConfiguration``. If no value is specified, the tags aren't propagated.") propagateTags?: EBSTagSpecificationPropagateTags; @doc("The type of volume resource.") resourceType?: string; @doc("The tags applied to this Amazon EBS volume. ``AmazonECSCreated`` and ``AmazonECSManaged`` are reserved tags that can't be used.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/EcsTaskDefinition.Management/main.tsp b/specification/awsconnector/EcsTaskDefinition.Management/main.tsp index 40a8433a9a6d..acb61d9580b6 100644 --- a/specification/awsconnector/EcsTaskDefinition.Management/main.tsp +++ b/specification/awsconnector/EcsTaskDefinition.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,7 @@ model EcsTaskDefinitionProperties { @doc("Definition of awsEcsTaskDefinition") model AwsEcsTaskDefinitionProperties { @doc("A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) containerDefinitions?: ContainerDefinition[]; @doc("The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter. The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate. + 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) + 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) + 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) + 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) + 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) + 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments This option requires Linux platform ``1.4.0`` or later. + 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments This option requires Linux platform ``1.4.0`` or later.") @@ -88,7 +86,7 @@ model AwsEcsTaskDefinitionProperties { family?: string; @doc("The Elastic Inference accelerators to use for the containers in the task.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) inferenceAccelerators?: InferenceAccelerator[]; @doc("The IPC resource namespace to use for the containers in the task. The valid values are ``host``, ``task``, or ``none``. If ``host`` is specified, then all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same IPC resources. If ``none`` is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see [IPC settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) in the *Docker run reference*. If the ``host`` IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/). If you are setting namespaced kernel parameters using ``systemControls`` for the containers in the task, the following will apply to your IPC resource namespace. For more information, see [System Controls](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that use the ``host`` IPC mode, IPC namespace related ``systemControls`` are not supported. + For tasks that use the ``task`` IPC mode, IPC namespace related ``systemControls`` will apply to all containers within a task. This parameter is not supported for Windows containers or tasks run on FARGATElong.") @@ -104,21 +102,20 @@ model AwsEcsTaskDefinitionProperties { pidMode?: string; @doc("An array of placement constraint objects to use for tasks. This parameter isn't supported for tasks run on FARGATElong.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) placementConstraints?: TaskDefinitionPlacementConstraint[]; @doc("The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. The configuration details for the App Mesh proxy. For tasks that use the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html)") proxyConfiguration?: ProxyConfiguration; @doc("The task launch types the task definition was validated against. The valid values are ``EC2``, ``FARGATE``, and ``EXTERNAL``. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", []) requiresCompatibilities?: string[]; @doc("The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service. Information about the platform for the Amazon ECS service or task. For more information about ``RuntimePlatform``, see [RuntimePlatform](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform) in the *Amazon Elastic Container Service Developer Guide*.") runtimePlatform?: RuntimePlatform; @doc("The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: + Maximum number of tags per resource - 50 + For each resource, each tag key must be unique, and each tag key can have only one value. + Maximum key length - 128 Unicode characters in UTF-8 + Maximum value length - 256 Unicode characters in UTF-8 + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. + Tag keys and values are case-sensitive. + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property taskDefinitionArn") @@ -128,7 +125,7 @@ model AwsEcsTaskDefinitionProperties { taskRoleArn?: string; @doc("The list of data volume definitions for the task. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) in the *Amazon Elastic Container Service Developer Guide*. The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on FARGATElong.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) volumes?: Volume[]; } @@ -139,55 +136,49 @@ model AwsEcsTaskDefinitionProperties { @doc("Definition of ContainerDefinition") model ContainerDefinition { @doc("The command that's passed to the container. This parameter maps to ``Cmd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.") - @extension("x-ms-identifiers", []) command?: string[]; @doc("The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cpu-shares`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see [CPU share constraint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#cpu-share-constraint) in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2. However, the CPU parameter isn't required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version: + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares. + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2. On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.") cpu?: int32; @doc("A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1. There are two formats for each ARN. + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3. If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html).") - @extension("x-ms-identifiers", []) credentialSpecs?: string[]; @doc("The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed. For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. For tasks using the Fargate launch type, the task or service requires the following platforms: + Linux platform version ``1.3.0`` or later. + Windows platform version ``1.0.0`` or later. If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dependsOn?: ContainerDependency[]; @doc("When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/). This parameter is not supported for Windows containers.") disableNetworking?: boolean; @doc("A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.") - @extension("x-ms-identifiers", []) dnsSearchDomains?: string[]; @doc("A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.") - @extension("x-ms-identifiers", []) dnsServers?: string[]; @doc("A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``") dockerLabels?: unknown; @doc("A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. This parameter maps to ``SecurityOpt`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: 'no-new-privileges' | 'apparmor:PROFILE' | 'label:value' | 'credentialspec:CredentialSpecFilePath'") - @extension("x-ms-identifiers", []) dockerSecurityOptions?: string[]; @doc("Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).") - @extension("x-ms-identifiers", []) entryPoint?: string[]; @doc("The environment variables to pass to a container. This parameter maps to ``Env`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--env`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) environment?: KeyValuePair[]; @doc("A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored. For more information about the environment variable file syntax, see [Declare default environment variables in file](https://docs.aws.amazon.com/https://docs.docker.com/compose/env-file/). If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see [Specifying Environment Variables](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) environmentFiles?: EnvironmentFile[]; @doc("If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*.") essential?: boolean; @doc("A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--add-host`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) extraHosts?: HostEntry[]; @doc("The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.") @@ -206,7 +197,6 @@ model ContainerDefinition { interactive?: boolean; @doc("The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.") - @extension("x-ms-identifiers", []) links?: string[]; @doc("Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html). This parameter is not supported for Windows containers. The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).") @@ -222,14 +212,14 @@ model ContainerDefinition { memoryReservation?: int32; @doc("The mount points for data volumes in your container. This parameter maps to ``Volumes`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--volume`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) mountPoints?: MountPoint[]; @doc("The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--name`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).") name?: string; @doc("The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``. Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. This parameter maps to ``PortBindings`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping. After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) portMappings?: PortMapping[]; @doc("When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--privileged`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers or tasks run on FARGATElong.") @@ -245,11 +235,11 @@ model ContainerDefinition { repositoryCredentials?: RepositoryCredentials; @doc("The type and amount of a resource to assign to a container. The only supported resource is a GPU.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) resourceRequirements?: ResourceRequirement[]; @doc("The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) secrets?: Secret[]; @doc("Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state. When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value. For tasks using the Fargate launch type, the task or service requires the following platforms: + Linux platform version ``1.3.0`` or later. + Windows platform version ``1.0.0`` or later. For tasks using the EC2 launch type, your container instances require at least version ``1.26.0`` of the container agent to use a container start timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version ``1.26.0-1`` of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. The valid values are 2-120 seconds.") @@ -259,18 +249,18 @@ model ContainerDefinition { stopTimeout?: int32; @doc("A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) systemControls?: SystemControl[]; @doc("A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` This parameter is not supported for Windows containers.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ulimits?: Ulimit[]; @doc("The user to use inside the container. This parameter maps to ``User`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--user`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. + ``user`` + ``user:group`` + ``uid`` + ``uid:gid`` + ``user:gid`` + ``uid:group`` This parameter is not supported for Windows containers.") user?: string; @doc("Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--volumes-from`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) volumesFrom?: VolumeFrom[]; @doc("The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--workdir`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).") @@ -323,7 +313,7 @@ model ProxyConfiguration { containerName?: string; @doc("The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs. + ``IgnoredUID`` - (Required) The user ID (UID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredGID`` is specified, this field can be empty. + ``IgnoredGID`` - (Required) The group ID (GID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredUID`` is specified, this field can be empty. + ``AppPorts`` - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ``ProxyIngressPort`` and ``ProxyEgressPort``. + ``ProxyIngressPort`` - (Required) Specifies the port that incoming traffic to the ``AppPorts`` is directed to. + ``ProxyEgressPort`` - (Required) Specifies the port that outgoing traffic from the ``AppPorts`` is directed to. + ``EgressIgnoredPorts`` - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list. + ``EgressIgnoredIPs`` - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) proxyConfigurationProperties?: KeyValuePair[]; @doc("The proxy type. The only supported value is ``APPMESH``.") @@ -453,7 +443,6 @@ model FirelensConfiguration { @doc("Definition of HealthCheck") model HealthCheck { @doc("A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets. ``[ 'CMD-SHELL', 'curl -f http://localhost/ || exit 1' ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/).") - @extension("x-ms-identifiers", []) command?: string[]; @doc("The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.") @@ -479,7 +468,7 @@ model LinuxParameters { capabilities?: KernelCapabilities; @doc("Any host devices to expose to the container. This parameter maps to ``Devices`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--device`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) devices?: Device[]; @doc("Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``") @@ -495,7 +484,7 @@ model LinuxParameters { swappiness?: int32; @doc("The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the ``--tmpfs`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). If you're using tasks that use the Fargate launch type, the ``tmpfs`` parameter isn't supported.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tmpfs?: Tmpfs[]; } @@ -512,7 +501,7 @@ model LogConfiguration { options?: unknown; @doc("The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) secretOptions?: Secret[]; } @@ -737,11 +726,9 @@ model HostVolumeProperties { @doc("Definition of KernelCapabilities") model KernelCapabilities { @doc("The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``") - @extension("x-ms-identifiers", []) add?: string[]; @doc("The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``") - @extension("x-ms-identifiers", []) drop?: string[]; } @@ -758,7 +745,6 @@ model Device { hostPath?: string; @doc("The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.") - @extension("x-ms-identifiers", []) permissions?: string[]; } @@ -772,7 +758,6 @@ model Tmpfs { containerPath?: string; @doc("The list of tmpfs volume mount options.") - @extension("x-ms-identifiers", []) mountOptions?: string[]; @doc("The maximum size (in MiB) of the tmpfs volume.") diff --git a/specification/awsconnector/EfsFileSystem.Management/main.tsp b/specification/awsconnector/EfsFileSystem.Management/main.tsp index 027a9482f364..9316b70c45d7 100644 --- a/specification/awsconnector/EfsFileSystem.Management/main.tsp +++ b/specification/awsconnector/EfsFileSystem.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -96,14 +94,14 @@ model AwsEfsFileSystemProperties { fileSystemProtection?: FileSystemProtection; @doc("Use to create one or more tags associated with the file system. Each tag is a user-defined key-value pair. Name your file system on creation by including a ``'Key':'Name','Value':'{value}'`` key-value pair. Each key must be unique. For more information, see [Tagging resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *General Reference Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) fileSystemTags?: ElasticFileSystemTag[]; @doc("The ID of the kms-key-long to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault kms-key. If this parameter is not specified, the default kms-key for EFS is used. This ID can be in one of the following formats: + Key ID - A unique identifier of the key, for example ``1234abcd-12ab-34cd-56ef-1234567890ab``. + ARN - An Amazon Resource Name (ARN) for the key, for example ``arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab``. + Key alias - A previously created display name for a key, for example ``alias/projectKey1``. + Key alias ARN - An ARN for a key alias, for example ``arn:aws:kms:us-west-2:444455556666:alias/projectKey1``. If ``KmsKeyId`` is specified, the ``Encrypted`` parameter must be set to true.") kmsKeyId?: string; @doc("An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following: + When to move files in the file system from primary storage to IA storage. + When to move files in the file system from primary storage or IA storage to Archive storage. + When to move files that are in IA or Archive storage to primary storage. EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) lifecyclePolicies?: LifecyclePolicy[]; @doc("The Performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems. Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems. Default is ``generalPurpose``.") @@ -197,7 +195,7 @@ model LifecyclePolicy { @doc("Definition of ReplicationConfiguration") model ReplicationConfiguration { @doc("An array of destination objects. Only one destination object is supported.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) destinations?: ReplicationDestination[]; } diff --git a/specification/awsconnector/EfsMountTarget.Management/main.tsp b/specification/awsconnector/EfsMountTarget.Management/main.tsp index b51cf3f8b0b5..11b7fad07426 100644 --- a/specification/awsconnector/EfsMountTarget.Management/main.tsp +++ b/specification/awsconnector/EfsMountTarget.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -81,7 +79,6 @@ model AwsEfsMountTargetProperties { ipAddress?: string; @doc("Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.") - @extension("x-ms-identifiers", []) securityGroups?: string[]; @doc("The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.") diff --git a/specification/awsconnector/EksCluster.Management/main.tsp b/specification/awsconnector/EksCluster.Management/main.tsp index 8b3497376352..15ac2c232583 100644 --- a/specification/awsconnector/EksCluster.Management/main.tsp +++ b/specification/awsconnector/EksCluster.Management/main.tsp @@ -17,9 +17,7 @@ using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -82,7 +80,7 @@ model AwsEksClusterProperties { createdAt?: utcDateTime; @doc("

The encryption configuration for the cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) encryptionConfig?: EncryptionConfig[]; @doc("

The endpoint for your Kubernetes API server.

") @@ -240,7 +238,6 @@ model EncryptionConfig { provider?: Provider; @doc("

Specifies the resources to be encrypted. The only supported value is secrets.

") - @extension("x-ms-identifiers", []) resources?: string[]; } @@ -251,7 +248,7 @@ model EncryptionConfig { @doc("Definition of ClusterHealth") model ClusterHealth { @doc("

An object representing the health issues of your local Amazon EKS cluster on an Amazon Web Services Outpost.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) issues?: ClusterIssue[]; } @@ -309,7 +306,7 @@ model IpFamilyEnumValue { @doc("Definition of Logging") model Logging { @doc("

The cluster control plane logging configuration for your cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) clusterLogging?: LogSetup[]; } @@ -326,7 +323,6 @@ model OutpostConfigResponse { controlPlanePlacement?: ControlPlanePlacementResponse; @doc("

The ARN of the Outpost that you specified for use with your local Amazon EKS cluster on Outposts.

") - @extension("x-ms-identifiers", []) outpostArns?: string[]; } @@ -346,15 +342,12 @@ model VpcConfigResponse { endpointPublicAccess?: boolean; @doc("

The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint.

") - @extension("x-ms-identifiers", []) publicAccessCidrs?: string[]; @doc("

The security groups associated with the cross-account elastic network interfaces that are used to allow communication between your nodes and the Kubernetes control plane.

") - @extension("x-ms-identifiers", []) securityGroupIds?: string[]; @doc("

The subnets associated with your cluster.

") - @extension("x-ms-identifiers", []) subnetIds?: string[]; @doc("

The VPC associated with your cluster.

") @@ -384,7 +377,6 @@ model ClusterIssue { message?: string; @doc("

The resource IDs that the issue relates to.

") - @extension("x-ms-identifiers", []) resourceIds?: string[]; } @@ -480,7 +472,6 @@ model LogSetup { enabled?: boolean; @doc("

The available cluster control plane log types.

") - @extension("x-ms-identifiers", []) types?: LogType[]; } diff --git a/specification/awsconnector/EksNodegroup.Management/main.tsp b/specification/awsconnector/EksNodegroup.Management/main.tsp index 583768cc1476..78003152f608 100644 --- a/specification/awsconnector/EksNodegroup.Management/main.tsp +++ b/specification/awsconnector/EksNodegroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -93,7 +91,6 @@ model AwsEksNodegroupProperties { id?: string; @doc("Specify the instance types for a node group.") - @extension("x-ms-identifiers", []) instanceTypes?: string[]; @doc("The Kubernetes labels to be applied to the nodes in the node group when they are created.") @@ -118,14 +115,13 @@ model AwsEksNodegroupProperties { scalingConfig?: ScalingConfig; @doc("The subnets to use for the Auto Scaling group that is created for your node group.") - @extension("x-ms-identifiers", []) subnets?: string[]; @doc("The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.") tags?: Record; @doc("The Kubernetes taints to be applied to the nodes in the node group when they are created.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) taints?: Taint[]; @doc("The node group update configuration. The node group update configuration.") @@ -161,7 +157,6 @@ model RemoteAccess { ec2SshKey?: string; @doc("Property sourceSecurityGroups") - @extension("x-ms-identifiers", []) sourceSecurityGroups?: string[]; } diff --git a/specification/awsconnector/ElasticBeanstalkApplication.Management/main.tsp b/specification/awsconnector/ElasticBeanstalkApplication.Management/main.tsp index edfb9e5ec6a8..236c7faf2665 100644 --- a/specification/awsconnector/ElasticBeanstalkApplication.Management/main.tsp +++ b/specification/awsconnector/ElasticBeanstalkApplication.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp b/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp index b31fe0b172c6..6500cfd53106 100644 --- a/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp +++ b/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -88,7 +86,7 @@ model AwsElasticBeanstalkConfigurationTemplateProperties { environmentId?: string; @doc("Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these values override the values obtained from the solution stack or the source configuration template. For a complete list of Elastic Beanstalk configuration options, see [Option Values](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html) in the AWS Elastic Beanstalk Developer Guide.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) optionSettings?: ConfigurationOptionSetting[]; @doc("The Amazon Resource Name (ARN) of the custom platform. For more information, see [Custom Platforms](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html) in the AWS Elastic Beanstalk Developer Guide.") diff --git a/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp b/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp index 662b31895245..e23dd36a96d5 100644 --- a/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp +++ b/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -91,7 +89,7 @@ model AwsElasticBeanstalkEnvironmentProperties { operationsRole?: string; @doc("Key-value pairs defining configuration options for this environment, such as the instance type.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) optionSettings?: OptionSetting[]; @doc("The Amazon Resource Name (ARN) of the custom platform to use with the environment.") @@ -101,7 +99,7 @@ model AwsElasticBeanstalkEnvironmentProperties { solutionStackName?: string; @doc("Specifies the tags applied to resources in the environment.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The name of the Elastic Beanstalk configuration template to use with the environment.") diff --git a/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp b/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp index ab2713eafbcc..3a2f23bb9088 100644 --- a/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp +++ b/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -80,15 +78,14 @@ model ElasticLoadBalancingV2ListenerProperties { @doc("Definition of awsElasticLoadBalancingV2Listener") model AwsElasticLoadBalancingV2ListenerProperties { @doc("[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.") - @extension("x-ms-identifiers", []) alpnPolicy?: string[]; @doc("The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. To create a certificate list for a secure listener, use [AWS::ElasticLoadBalancingV2::ListenerCertificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) certificates?: Certificate[]; @doc("The actions for the default rule. You cannot define a condition for a default rule. To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) defaultActions?: Action[]; @doc("Property listenerArn") @@ -267,7 +264,7 @@ model ForwardConfig { targetGroupStickinessConfig?: TargetGroupStickinessConfig; @doc("Information about how traffic will be distributed between multiple target groups in a forward rule.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) targetGroups?: TargetGroupTuple[]; } diff --git a/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp b/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp index 338bec04a160..c9aa387b3bb7 100644 --- a/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp +++ b/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -96,7 +94,7 @@ model AwsElasticLoadBalancingV2LoadBalancerProperties { loadBalancerArn?: string; @doc("The load balancer attributes.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) loadBalancerAttributes?: LoadBalancerAttribute[]; @doc("Property loadBalancerFullName") @@ -112,19 +110,17 @@ model AwsElasticLoadBalancingV2LoadBalancerProperties { scheme?: string; @doc("[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.") - @extension("x-ms-identifiers", []) securityGroups?: string[]; @doc("The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) subnetMappings?: SubnetMapping[]; @doc("The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.") - @extension("x-ms-identifiers", []) subnets?: string[]; @doc("The tags to assign to the load balancer.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The type of load balancer. The default is ``application``.") diff --git a/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp b/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp index 0c91ace4466a..d77181be9c33 100644 --- a/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp +++ b/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -105,7 +103,6 @@ model AwsElasticLoadBalancingV2TargetGroupProperties { ipAddressType?: string; @doc("The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.") - @extension("x-ms-identifiers", []) loadBalancerArns?: string[]; @doc("[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.") @@ -124,14 +121,14 @@ model AwsElasticLoadBalancingV2TargetGroupProperties { protocolVersion?: string; @doc("The tags.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The ARN of the Target Group") targetGroupArn?: string; @doc("The attributes.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) targetGroupAttributes?: TargetGroupAttribute[]; @doc("The full name of the target group.") @@ -144,7 +141,7 @@ model AwsElasticLoadBalancingV2TargetGroupProperties { targetType?: string; @doc("The targets.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) targets?: TargetDescription[]; @doc("The number of consecutive health check failures required before considering a target unhealthy.") diff --git a/specification/awsconnector/ElasticLoadBalancingv2TargetHealthDescription.Management/main.tsp b/specification/awsconnector/ElasticLoadBalancingv2TargetHealthDescription.Management/main.tsp index ce73f2fc7bb8..6c9c18a8d362 100644 --- a/specification/awsconnector/ElasticLoadBalancingv2TargetHealthDescription.Management/main.tsp +++ b/specification/awsconnector/ElasticLoadBalancingv2TargetHealthDescription.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/EmrCluster.Management/main.tsp b/specification/awsconnector/EmrCluster.Management/main.tsp index 15e3087f6e67..47cd77ae7d5f 100644 --- a/specification/awsconnector/EmrCluster.Management/main.tsp +++ b/specification/awsconnector/EmrCluster.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,7 @@ model EmrClusterProperties { @doc("Definition of awsEmrCluster") model AwsEmrClusterProperties { @doc("

The applications installed on this cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) applications?: Application[]; @doc("

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.

") @@ -85,7 +83,7 @@ model AwsEmrClusterProperties { clusterArn?: string; @doc("

Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) configurations?: Configuration[]; @doc("

Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

") @@ -134,7 +132,7 @@ model AwsEmrClusterProperties { outpostArn?: string; @doc("

Placement group configured for an Amazon EMR cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) placementGroups?: PlacementGroupConfig[]; @doc("

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

") @@ -165,7 +163,7 @@ model AwsEmrClusterProperties { stepConcurrencyLevel?: int32; @doc("

A list of tags associated with a cluster.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("

Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

") @@ -230,7 +228,6 @@ model Application { additionalInfo?: Record; @doc("

Arguments for Amazon EMR to pass to the application.

") - @extension("x-ms-identifiers", []) args?: string[]; @doc("

The name of the application.

") @@ -271,7 +268,7 @@ model Configuration { classification?: string; @doc("

A list of additional configurations to apply within a configuration object.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) configurations?: Configuration[]; @doc("

A set of properties specified within a configuration classification.

") @@ -285,11 +282,9 @@ model Configuration { @doc("Definition of Ec2InstanceAttributes") model Ec2InstanceAttributes { @doc("

A list of additional Amazon EC2 security group IDs for the master node.

") - @extension("x-ms-identifiers", []) additionalMasterSecurityGroups?: string[]; @doc("

A list of additional Amazon EC2 security group IDs for the core and task nodes.

") - @extension("x-ms-identifiers", []) additionalSlaveSecurityGroups?: string[]; @doc("

The Availability Zone in which the cluster will run.

") @@ -311,11 +306,9 @@ model Ec2InstanceAttributes { iamInstanceProfile?: string; @doc("

Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch Amazon EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

") - @extension("x-ms-identifiers", []) requestedEc2AvailabilityZones?: string[]; @doc("

Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch Amazon EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the Amazon EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

") - @extension("x-ms-identifiers", []) requestedEc2SubnetIds?: string[]; @doc("

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

") @@ -388,7 +381,7 @@ model InstanceRoleTypeEnumValue { @doc("Definition of ClusterStatus") model ClusterStatus { @doc("

A list of tuples that provides information about the errors that caused a cluster to terminate. This structure can contain up to 10 different ErrorDetail tuples.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) errorDetails?: ErrorDetail[]; @doc("

The current state of the cluster.

") @@ -487,7 +480,7 @@ model ErrorDetail { errorCode?: string; @doc("

A list of key value pairs that provides contextual information about why an error occured.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) errorData?: StringMap[]; @doc("

A message that describes the error.

") diff --git a/specification/awsconnector/GuardDutyDetector.Management/main.tsp b/specification/awsconnector/GuardDutyDetector.Management/main.tsp index 58acba76cf5d..b23a03442efb 100644 --- a/specification/awsconnector/GuardDutyDetector.Management/main.tsp +++ b/specification/awsconnector/GuardDutyDetector.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -78,7 +76,7 @@ model AwsGuardDutyDetectorProperties { enable?: boolean; @doc("Property features") - @extension("x-ms-identifiers", []) + @identifiers(#[]) features?: CFNFeatureConfiguration[]; @doc("Property findingPublishingFrequency") @@ -88,7 +86,7 @@ model AwsGuardDutyDetectorProperties { id?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: TagItem[]; } @@ -115,7 +113,7 @@ model CFNDataSourceConfigurations { @doc("Definition of CFNFeatureConfiguration") model CFNFeatureConfiguration { @doc("Property additionalConfiguration") - @extension("x-ms-identifiers", []) + @identifiers(#[]) additionalConfiguration?: CFNFeatureAdditionalConfiguration[]; @doc("Property name") diff --git a/specification/awsconnector/IamAccessKeyLastUsed.Management/main.tsp b/specification/awsconnector/IamAccessKeyLastUsed.Management/main.tsp index ed8fe9da46f0..4391920fe976 100644 --- a/specification/awsconnector/IamAccessKeyLastUsed.Management/main.tsp +++ b/specification/awsconnector/IamAccessKeyLastUsed.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/IamAccessKeyMetadata.Management/main.tsp b/specification/awsconnector/IamAccessKeyMetadata.Management/main.tsp index 177356ec0b81..710e8670290c 100644 --- a/specification/awsconnector/IamAccessKeyMetadata.Management/main.tsp +++ b/specification/awsconnector/IamAccessKeyMetadata.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/IamGroup.Management/main.tsp b/specification/awsconnector/IamGroup.Management/main.tsp index 42abc70eea34..8968f7a9b90d 100644 --- a/specification/awsconnector/IamGroup.Management/main.tsp +++ b/specification/awsconnector/IamGroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -78,14 +76,13 @@ model AwsIamGroupProperties { groupName?: string; @doc("The Amazon Resource Name (ARN) of the IAM policy you want to attach. For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.") - @extension("x-ms-identifiers", []) managedPolicyArns?: string[]; @doc("The path to the group. For more information about paths, see [IAM identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the *IAM User Guide*. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (``\\u0021``) through the DEL character (``\\u007F``), including most punctuation characters, digits, and upper and lowercased letters.") path?: string; @doc("Adds or updates an inline policy document that is embedded in the specified IAM group. To view AWS::IAM::Group snippets, see [Declaring an Group Resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-iam-group). The name of each inline policy for a role, user, or group must be unique. If you don't choose unique names, updates to the IAM identity will fail. For information about limits on the number of inline policies that you can embed in a group, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) policies?: Policy[]; } diff --git a/specification/awsconnector/IamInstanceProfile.Management/main.tsp b/specification/awsconnector/IamInstanceProfile.Management/main.tsp index 87bae73d2c03..384227d4fa66 100644 --- a/specification/awsconnector/IamInstanceProfile.Management/main.tsp +++ b/specification/awsconnector/IamInstanceProfile.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -81,7 +79,6 @@ model AwsIamInstanceProfileProperties { path?: string; @doc("The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.") - @extension("x-ms-identifiers", []) roles?: string[]; } diff --git a/specification/awsconnector/IamMFADevice.Management/main.tsp b/specification/awsconnector/IamMFADevice.Management/main.tsp index aa438b6f6849..e7f44f35d404 100644 --- a/specification/awsconnector/IamMFADevice.Management/main.tsp +++ b/specification/awsconnector/IamMFADevice.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/IamPasswordPolicy.Management/main.tsp b/specification/awsconnector/IamPasswordPolicy.Management/main.tsp index 7a2281d3e2b8..c9ce5250061c 100644 --- a/specification/awsconnector/IamPasswordPolicy.Management/main.tsp +++ b/specification/awsconnector/IamPasswordPolicy.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/IamPolicyVersion.Management/main.tsp b/specification/awsconnector/IamPolicyVersion.Management/main.tsp index c394f801760b..eeaef9cb2211 100644 --- a/specification/awsconnector/IamPolicyVersion.Management/main.tsp +++ b/specification/awsconnector/IamPolicyVersion.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/IamRole.Management/main.tsp b/specification/awsconnector/IamRole.Management/main.tsp index 08bcac87a719..678fa4dc5bbe 100644 --- a/specification/awsconnector/IamRole.Management/main.tsp +++ b/specification/awsconnector/IamRole.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -81,7 +79,6 @@ model AwsIamRoleProperties { description?: string; @doc("A list of Amazon Resource Names (ARNs) of the IAM managed policies that you want to attach to the role. For more information about ARNs, see [Amazon Resource Names (ARNs) and Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.") - @extension("x-ms-identifiers", []) managedPolicyArns?: string[]; @doc("The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default value of one hour is applied. This setting can have a value from 1 hour to 12 hours. Anyone who assumes the role from the CLI or API can use the ``DurationSeconds`` API parameter or the ``duration-seconds`` CLI parameter to request a longer session. The ``MaxSessionDuration`` setting determines the maximum duration that can be requested using the ``DurationSeconds`` parameter. If users don't specify a value for the ``DurationSeconds`` parameter, their security credentials are valid for one hour by default. This applies when you use the ``AssumeRole*`` API operations or the ``assume-role*`` CLI operations but does not apply when you use those operations to create a console URL. For more information, see [Using IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) in the *IAM User Guide*.") @@ -94,7 +91,7 @@ model AwsIamRoleProperties { permissionsBoundary?: string; @doc("Adds or updates an inline policy document that is embedded in the specified IAM role. When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role. You can update a role's trust policy later. For more information about IAM roles, go to [Using Roles to Delegate Permissions and Federate Identities](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). A role can also have an attached managed policy. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*. For information about limits on the number of inline policies that you can embed with a role, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. If an external policy (such as ``AWS::IAM::Policy`` or") - @extension("x-ms-identifiers", []) + @identifiers(#[]) policies?: Policy[]; @doc("Property roleId") @@ -104,7 +101,7 @@ model AwsIamRoleProperties { roleName?: string; @doc("A list of tags that are attached to the role. For more information about tagging, see [Tagging IAM resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) in the *IAM User Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/IamServerCertificate.Management/main.tsp b/specification/awsconnector/IamServerCertificate.Management/main.tsp index 77f4a6de8608..73e4cecc9ef2 100644 --- a/specification/awsconnector/IamServerCertificate.Management/main.tsp +++ b/specification/awsconnector/IamServerCertificate.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -90,7 +88,7 @@ model AwsIamServerCertificateProperties { serverCertificateName?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp b/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp index 7ee7bfc75827..ed88baa841d8 100644 --- a/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp +++ b/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -78,11 +76,10 @@ model AwsIamVirtualMFADeviceProperties { serialNumber?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property users") - @extension("x-ms-identifiers", []) users?: string[]; @doc("Property virtualMfaDeviceName") diff --git a/specification/awsconnector/KmsAlias.Management/main.tsp b/specification/awsconnector/KmsAlias.Management/main.tsp index 42d2c7ec8e80..c5ed206ca6ce 100644 --- a/specification/awsconnector/KmsAlias.Management/main.tsp +++ b/specification/awsconnector/KmsAlias.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/KmsKey.Management/main.tsp b/specification/awsconnector/KmsKey.Management/main.tsp index 9174682a8d2d..7f4f676581cb 100644 --- a/specification/awsconnector/KmsKey.Management/main.tsp +++ b/specification/awsconnector/KmsKey.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -111,7 +109,7 @@ model AwsKmsKeyProperties { rotationPeriodInDays?: int32 = 365; @doc("Assigns one or more tags to the replica key. Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*. For information about tags in KMS, see [Tagging keys](https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html) in the *Developer Guide*. For information about tags in CloudFormation, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/LambdaFunction.Management/main.tsp b/specification/awsconnector/LambdaFunction.Management/main.tsp index 392b01323a97..157402688181 100644 --- a/specification/awsconnector/LambdaFunction.Management/main.tsp +++ b/specification/awsconnector/LambdaFunction.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,6 @@ model LambdaFunctionProperties { @doc("Definition of awsLambdaFunction") model AwsLambdaFunctionProperties { @doc("The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.") - @extension("x-ms-identifiers", []) architectures?: Architectures[]; @doc("Property arn") @@ -97,7 +94,7 @@ model AwsLambdaFunctionProperties { ephemeralStorage?: EphemeralStorage; @doc("Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an [AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html) resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) fileSystemConfigs?: FileSystemConfig[]; @doc("The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.") @@ -113,7 +110,6 @@ model AwsLambdaFunctionProperties { kmsKeyArn?: string; @doc("A list of [function layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version.") - @extension("x-ms-identifiers", []) layers?: string[]; @doc("The function's Amazon CloudWatch Logs configuration settings. The function's Amazon CloudWatch Logs configuration settings.") @@ -144,7 +140,7 @@ model AwsLambdaFunctionProperties { snapStartResponse?: SnapStartResponse; @doc("A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see [Lambda execution environment](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html).") @@ -251,11 +247,9 @@ model FileSystemConfig { @doc("Definition of ImageConfig") model ImageConfig { @doc("Specifies parameters that you want to pass in with ENTRYPOINT. You can specify a maximum of 1,500 parameters in the list.") - @extension("x-ms-identifiers", []) command?: string[]; @doc("Specifies the entry point to their application, which is typically the location of the runtime executable. You can specify a maximum of 1,500 string entries in the list.") - @extension("x-ms-identifiers", []) entryPoint?: string[]; @doc("Specifies the working directory. The length of the directory string cannot exceed 1,000 characters.") @@ -456,11 +450,9 @@ model VpcConfig { ipv6AllowedForDualStack?: boolean; @doc("A list of VPC security group IDs.") - @extension("x-ms-identifiers", []) securityGroupIds?: string[]; @doc("A list of VPC subnet IDs.") - @extension("x-ms-identifiers", []) subnetIds?: string[]; } diff --git a/specification/awsconnector/LambdaFunctionCodeLocation.Management/main.tsp b/specification/awsconnector/LambdaFunctionCodeLocation.Management/main.tsp index a9cb703f0cf6..f33bf3f4537e 100644 --- a/specification/awsconnector/LambdaFunctionCodeLocation.Management/main.tsp +++ b/specification/awsconnector/LambdaFunctionCodeLocation.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/LightsailBucket.Management/main.tsp b/specification/awsconnector/LightsailBucket.Management/main.tsp index ef8cb8347c29..fea894941ef7 100644 --- a/specification/awsconnector/LightsailBucket.Management/main.tsp +++ b/specification/awsconnector/LightsailBucket.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -90,15 +88,13 @@ model AwsLightsailBucketProperties { objectVersioning?: boolean; @doc("An array of strings to specify the AWS account IDs that can access the bucket.") - @extension("x-ms-identifiers", []) readOnlyAccessAccounts?: string[]; @doc("The names of the Lightsail resources for which to set bucket access.") - @extension("x-ms-identifiers", []) resourcesReceivingAccess?: string[]; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The URL of the bucket.") diff --git a/specification/awsconnector/LightsailInstance.Management/main.tsp b/specification/awsconnector/LightsailInstance.Management/main.tsp index 5eae61c0b27e..cafc059c6476 100644 --- a/specification/awsconnector/LightsailInstance.Management/main.tsp +++ b/specification/awsconnector/LightsailInstance.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,7 @@ model LightsailInstanceProperties { @doc("Definition of awsLightsailInstance") model AwsLightsailInstanceProperties { @doc("An array of objects representing the add-ons to enable for the new instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) addOns?: AddOn[]; @doc("The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). Be sure to add the include Availability Zones parameter to your request.") @@ -124,7 +122,7 @@ model AwsLightsailInstanceProperties { supportCode?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.") @@ -186,7 +184,7 @@ model Hardware { cpuCount?: int32; @doc("Disks attached to the Instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) disks?: Disk[]; @doc("RAM Size of the Instance.") @@ -216,7 +214,7 @@ model Networking { monthlyTransfer?: MonthlyTransfer; @doc("Ports to the Instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ports?: Port[]; } @@ -310,11 +308,9 @@ model Port { accessType?: string; @doc("cidr List Aliases") - @extension("x-ms-identifiers", []) cidrListAliases?: string[]; @doc("Property cidrs") - @extension("x-ms-identifiers", []) cidrs?: string[]; @doc("CommonName for Protocol of the Instance.") @@ -324,7 +320,6 @@ model Port { fromPort?: int32; @doc("IPv6 Cidrs") - @extension("x-ms-identifiers", []) ipv6Cidrs?: string[]; @doc("Port Protocol of the Instance.") diff --git a/specification/awsconnector/LogsLogGroup.Management/main.tsp b/specification/awsconnector/LogsLogGroup.Management/main.tsp index 1e1067c1842b..0193e255ef99 100644 --- a/specification/awsconnector/LogsLogGroup.Management/main.tsp +++ b/specification/awsconnector/LogsLogGroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -90,7 +88,7 @@ model AwsLogsLogGroupProperties { retentionInDays?: int32; @doc("An array of key-value pairs to apply to the log group. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/LogsLogStream.Management/main.tsp b/specification/awsconnector/LogsLogStream.Management/main.tsp index 1a177666f43e..8368729f0c9c 100644 --- a/specification/awsconnector/LogsLogStream.Management/main.tsp +++ b/specification/awsconnector/LogsLogStream.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/LogsMetricFilter.Management/main.tsp b/specification/awsconnector/LogsMetricFilter.Management/main.tsp index 8ce3a774651a..240a884e650d 100644 --- a/specification/awsconnector/LogsMetricFilter.Management/main.tsp +++ b/specification/awsconnector/LogsMetricFilter.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -81,7 +79,7 @@ model AwsLogsMetricFilterProperties { logGroupName?: string; @doc("The metric transformations.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) metricTransformations?: MetricTransformation[]; } @@ -95,7 +93,7 @@ model MetricTransformation { defaultValue?: int32; @doc("The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions. Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as ``IPAddress`` or ``requestID`` as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric. CloudWatch Logs disables a metric filter if it generates 1000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges. You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see [Creating a Billing Alarm to Monitor Your Estimated Charges](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html).") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dimensions?: Dimension[]; @doc("The name of the CloudWatch metric.") diff --git a/specification/awsconnector/LogsSubscriptionFilter.Management/main.tsp b/specification/awsconnector/LogsSubscriptionFilter.Management/main.tsp index fa9cf918468b..e89a514cb6f9 100644 --- a/specification/awsconnector/LogsSubscriptionFilter.Management/main.tsp +++ b/specification/awsconnector/LogsSubscriptionFilter.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/Macie2JobSummary.Management/main.tsp b/specification/awsconnector/Macie2JobSummary.Management/main.tsp index 33e494625504..08fdbb6ce5a6 100644 --- a/specification/awsconnector/Macie2JobSummary.Management/main.tsp +++ b/specification/awsconnector/Macie2JobSummary.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsMacie2JobSummaryProperties { bucketCriteria?: S3BucketCriteriaForJob; @doc("

An array of objects, one for each Amazon Web Services account that owns specific S3 buckets for the job to analyze. Each object specifies the account ID for an account and one or more buckets to analyze for that account. A job's definition can contain a bucketDefinitions array or a bucketCriteria object, not both.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) bucketDefinitions?: S3BucketDefinitionForJob[]; @doc("

The date and time, in UTC and extended ISO 8601 format, when the job was created.

") @@ -177,7 +175,6 @@ model S3BucketDefinitionForJob { accountId?: string; @doc("

An array that lists the names of the buckets.

") - @extension("x-ms-identifiers", []) buckets?: string[]; } @@ -235,7 +232,7 @@ model UserPausedDetails { @doc("Definition of CriteriaBlockForJob") model CriteriaBlockForJob { @doc("

An array of conditions, one for each condition that determines which buckets to include or exclude from the job. If you specify more than one condition, Amazon Macie uses AND logic to join the conditions.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) and?: CriteriaForJob[]; } @@ -265,7 +262,6 @@ model SimpleCriterionForJob { key?: SimpleCriterionKeyForJobEnumValue; @doc("

An array that lists one or more values to use in the condition. If you specify multiple values, Amazon Macie uses OR logic to join the values. Valid values for each supported property (key) are:

  • ACCOUNT_ID - A string that represents the unique identifier for the Amazon Web Services account that owns the bucket.

  • S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an enumerated value that Macie defines for the BucketPublicAccess.effectivePermission property of a bucket.

  • S3_BUCKET_NAME - A string that represents the name of a bucket.

  • S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated value that Macie defines for the BucketMetadata.sharedAccess property of a bucket.

Values are case sensitive. Also, Macie doesn't support use of partial values or wildcard characters in these values.

") - @extension("x-ms-identifiers", []) values?: string[]; } @@ -318,7 +314,7 @@ model TagCriterionForJob { comparator?: JobComparatorEnumValue; @doc("

The tag keys, tag values, or tag key and value pairs to use in the condition.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagValues?: TagCriterionPairForJob[]; } diff --git a/specification/awsconnector/MacieAllowList.Management/main.tsp b/specification/awsconnector/MacieAllowList.Management/main.tsp index 210da4359a13..20f97e795fa3 100644 --- a/specification/awsconnector/MacieAllowList.Management/main.tsp +++ b/specification/awsconnector/MacieAllowList.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -90,7 +88,7 @@ model AwsMacieAllowListProperties { status?: Status; @doc("A collection of tags associated with a resource") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp b/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp index a262ec10b593..7ab3b60b5c7a 100644 --- a/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp +++ b/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -79,7 +77,6 @@ model AwsNetworkFirewallFirewallProperties { description?: string; @doc("Property endpointIds") - @extension("x-ms-identifiers", []) endpointIds?: string[]; @doc("A resource ARN.") @@ -101,11 +98,11 @@ model AwsNetworkFirewallFirewallProperties { subnetChangeProtection?: boolean; @doc("Property subnetMappings") - @extension("x-ms-identifiers", []) + @identifiers(#[]) subnetMappings?: SubnetMapping[]; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property vpcId") diff --git a/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp b/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp index 2e927e29e2e5..a6abb6f1ec6f 100644 --- a/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp +++ b/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -94,7 +92,7 @@ model AwsNetworkFirewallFirewallPolicyProperties { firewallPolicyName?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } @@ -108,30 +106,27 @@ model FirewallPolicy { policyVariables?: RuleVariablesModel; @doc("Property statefulDefaultActions") - @extension("x-ms-identifiers", []) statefulDefaultActions?: string[]; @doc("Property statefulEngineOptions") statefulEngineOptions?: StatefulEngineOptions; @doc("Property statefulRuleGroupReferences") - @extension("x-ms-identifiers", []) + @identifiers(#[]) statefulRuleGroupReferences?: StatefulRuleGroupReference[]; @doc("Property statelessCustomActions") - @extension("x-ms-identifiers", []) + @identifiers(#[]) statelessCustomActions?: CustomAction[]; @doc("Property statelessDefaultActions") - @extension("x-ms-identifiers", []) statelessDefaultActions?: string[]; @doc("Property statelessFragmentDefaultActions") - @extension("x-ms-identifiers", []) statelessFragmentDefaultActions?: string[]; @doc("Property statelessRuleGroupReferences") - @extension("x-ms-identifiers", []) + @identifiers(#[]) statelessRuleGroupReferences?: StatelessRuleGroupReference[]; @doc("A resource ARN.") @@ -249,7 +244,6 @@ model StatelessRuleGroupReference { @doc("Definition of IPSet") model IPSet { @doc("Property definition") - @extension("x-ms-identifiers", []) definition?: string[]; } @@ -288,7 +282,7 @@ model ActionDefinition { @doc("Definition of PublishMetricAction") model PublishMetricAction { @doc("Property dimensions") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dimensions?: Dimension[]; } diff --git a/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp b/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp index fe4850d50445..9f1c4411b370 100644 --- a/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp +++ b/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -91,7 +89,7 @@ model AwsNetworkFirewallRuleGroupProperties { ruleGroupName?: string; @doc("Property tags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property type") @@ -177,7 +175,7 @@ model RulesSource { rulesString?: string; @doc("Property statefulRules") - @extension("x-ms-identifiers", []) + @identifiers(#[]) statefulRules?: StatefulRule[]; @doc("Property statelessRulesAndCustomActions") @@ -222,7 +220,6 @@ model IPSetReference { @doc("Definition of IPSet") model IPSet { @doc("Property definition") - @extension("x-ms-identifiers", []) definition?: string[]; } @@ -233,7 +230,6 @@ model IPSet { @doc("Definition of PortSet") model PortSet { @doc("Property definition") - @extension("x-ms-identifiers", []) definition?: string[]; } @@ -247,11 +243,9 @@ model RulesSourceList { generatedRulesType?: RulesSourceListGeneratedRulesType; @doc("Property targetTypes") - @extension("x-ms-identifiers", []) targetTypes?: string[]; @doc("Property targets") - @extension("x-ms-identifiers", []) targets?: string[]; } @@ -279,7 +273,7 @@ model StatefulRule { header?: Header; @doc("Property ruleOptions") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ruleOptions?: RuleOption[]; } @@ -307,11 +301,11 @@ union StatefulRuleAction { @doc("Definition of StatelessRulesAndCustomActions") model StatelessRulesAndCustomActions { @doc("Property customActions") - @extension("x-ms-identifiers", []) + @identifiers(#[]) customActions?: CustomAction[]; @doc("Property statelessRules") - @extension("x-ms-identifiers", []) + @identifiers(#[]) statelessRules?: StatelessRule[]; } @@ -361,7 +355,6 @@ model RuleOption { keyword?: string; @doc("Property settings") - @extension("x-ms-identifiers", []) settings?: string[]; } @@ -470,7 +463,6 @@ model ActionDefinition { @doc("Definition of RuleDefinition") model RuleDefinition { @doc("Property actions") - @extension("x-ms-identifiers", []) actions?: string[]; @doc("Property matchAttributes") @@ -484,7 +476,7 @@ model RuleDefinition { @doc("Definition of PublishMetricAction") model PublishMetricAction { @doc("Property dimensions") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dimensions?: Dimension[]; } @@ -495,27 +487,26 @@ model PublishMetricAction { @doc("Definition of MatchAttributes") model MatchAttributes { @doc("Property destinationPorts") - @extension("x-ms-identifiers", []) + @identifiers(#[]) destinationPorts?: PortRange[]; @doc("Property destinations") - @extension("x-ms-identifiers", []) + @identifiers(#[]) destinations?: Address[]; @doc("Property protocols") - @extension("x-ms-identifiers", []) protocols?: int32[]; @doc("Property sourcePorts") - @extension("x-ms-identifiers", []) + @identifiers(#[]) sourcePorts?: PortRange[]; @doc("Property sources") - @extension("x-ms-identifiers", []) + @identifiers(#[]) sources?: Address[]; @doc("Property tcpFlags") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tcpFlags?: TCPFlagField[]; } @@ -559,11 +550,9 @@ model Address { @doc("Definition of TCPFlagField") model TCPFlagField { @doc("Property flags") - @extension("x-ms-identifiers", []) flags?: string[]; @doc("Property masks") - @extension("x-ms-identifiers", []) masks?: string[]; } diff --git a/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp b/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp index c95981babbf4..2cdaddb77bb4 100644 --- a/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp +++ b/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -139,7 +137,7 @@ model AwsOpenSearchDomainStatusProperties { logPublishingOptions?: Record; @doc("

Information about the domain properties that are currently being modified.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) modifyingProperties?: ModifyingProperties[]; @doc("

Whether node-to-node encryption is enabled or disabled.

") @@ -1071,15 +1069,12 @@ model SoftwareUpdateOptions { @doc("Definition of VPCDerivedInfo") model VPCDerivedInfo { @doc("

The list of Availability Zones associated with the VPC subnets.

") - @extension("x-ms-identifiers", []) availabilityZones?: string[]; @doc("

The list of security group IDs associated with the VPC endpoints for the domain.

") - @extension("x-ms-identifiers", []) securityGroupIds?: string[]; @doc("

A list of subnet IDs associated with the VPC endpoints for the domain.

") - @extension("x-ms-identifiers", []) subnetIds?: string[]; @doc("

The ID for your VPC. Amazon VPC generates this value when you create a VPC.

") diff --git a/specification/awsconnector/OrganizationsAccount.Management/main.tsp b/specification/awsconnector/OrganizationsAccount.Management/main.tsp index 448492eb621f..563432bee2cd 100644 --- a/specification/awsconnector/OrganizationsAccount.Management/main.tsp +++ b/specification/awsconnector/OrganizationsAccount.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -90,7 +88,6 @@ model AwsOrganizationsAccountProperties { joinedTimestamp?: string; @doc("List of parent nodes for the member account. Currently only one parent at a time is supported. Default is root.") - @extension("x-ms-identifiers", []) parentIds?: string[]; @doc("The name of an IAM role that AWS Organizations automatically preconfigures in the new member account. Default name is OrganizationAccountAccessRole if not specified.") @@ -100,7 +97,7 @@ model AwsOrganizationsAccountProperties { status?: Status; @doc("A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify both a tag key and a value.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/OrganizationsOrganization.Management/main.tsp b/specification/awsconnector/OrganizationsOrganization.Management/main.tsp index a9588405f2a5..166599fca4e6 100644 --- a/specification/awsconnector/OrganizationsOrganization.Management/main.tsp +++ b/specification/awsconnector/OrganizationsOrganization.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/RdsDBCluster.Management/main.tsp b/specification/awsconnector/RdsDBCluster.Management/main.tsp index 4f33ba2050e8..85a3487d0611 100644 --- a/specification/awsconnector/RdsDBCluster.Management/main.tsp +++ b/specification/awsconnector/RdsDBCluster.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,14 +73,13 @@ model AwsRdsDBClusterProperties { allocatedStorage?: int32; @doc("Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) associatedRoles?: DBClusterRole[]; @doc("A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.") autoMinorVersionUpgrade?: boolean; @doc("A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.") - @extension("x-ms-identifiers", []) availabilityZones?: string[]; @doc("The target backtrack window, in seconds. To disable backtracking, set this value to 0.") @@ -131,7 +128,6 @@ model AwsRdsDBClusterProperties { domainIAMRoleName?: string; @doc("The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.") - @extension("x-ms-identifiers", []) enableCloudwatchLogsExports?: string[]; @doc("Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.") @@ -243,14 +239,13 @@ model AwsRdsDBClusterProperties { storageType?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.") useLatestRestorableTime?: boolean; @doc("A list of EC2 VPC security groups to associate with this DB cluster.") - @extension("x-ms-identifiers", []) vpcSecurityGroupIds?: string[]; } diff --git a/specification/awsconnector/RdsDBInstance.Management/main.tsp b/specification/awsconnector/RdsDBInstance.Management/main.tsp index dae27029eab8..ab459787e994 100644 --- a/specification/awsconnector/RdsDBInstance.Management/main.tsp +++ b/specification/awsconnector/RdsDBInstance.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -78,7 +76,7 @@ model AwsRdsDBInstanceProperties { allowMajorVersionUpgrade?: boolean; @doc("The IAMlong (IAM) roles associated with the DB instance. *Amazon Aurora* Not applicable. The associated roles are managed by the DB cluster.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) associatedRoles?: DBInstanceRole[]; @doc("A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.") @@ -136,7 +134,6 @@ model AwsRdsDBInstanceProperties { dbParameterGroupName?: string; @doc("A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template. If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups. If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations: + ``AllocatedStorage`` + ``AutoMinorVersionUpgrade`` + ``AvailabilityZone`` + ``BackupRetentionPeriod`` + ``CharacterSetName`` + ``DBInstanceClass`` + ``DBName`` + ``DBParameterGroupName`` + ``DBSecurityGroups`` + ``DBSubnetGroupName`` + ``Engine`` + ``EngineVersion`` + ``Iops`` + ``LicenseModel`` + ``MasterUsername`` + ``MasterUserPassword`` + ``MultiAZ`` + ``OptionGroupName`` + ``PreferredBackupWindow`` + ``PreferredMaintenanceWindow`` All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.") - @extension("x-ms-identifiers", []) dbSecurityGroups?: string[]; @doc("The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot. By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack. Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*. After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted. If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties: + ``CharacterSetName`` + ``DBClusterIdentifier`` + ``DBName`` + ``DeleteAutomatedBackups`` + ``EnablePerformanceInsights`` + ``KmsKeyId`` + ``MasterUsername`` + ``MasterUserPassword`` + ``PerformanceInsightsKMSKeyId`` + ``PerformanceInsightsRetentionPeriod`` + ``PromotionTier`` + ``SourceDBInstanceIdentifier`` + ``SourceRegion`` + ``StorageEncrypted`` (for an encrypted snapshot) + ``Timezone`` *Amazon Aurora* Not applicable. Snapshot restore is managed by the DB cluster.") @@ -167,7 +164,6 @@ model AwsRdsDBInstanceProperties { domainAuthSecretArn?: string; @doc("The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. Constraints: + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Example: ``123.124.125.126,234.235.236.237``") - @extension("x-ms-identifiers", []) domainDnsIps?: string[]; @doc("The fully qualified domain name (FQDN) of an Active Directory domain. Constraints: + Can't be longer than 64 characters. Example: ``mymanagedADtest.mymanagedAD.mydomain``") @@ -180,7 +176,6 @@ model AwsRdsDBInstanceProperties { domainOu?: string; @doc("The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*. *Amazon Aurora* Not applicable. CloudWatch Logs exports are managed by the DB cluster. *Db2* Valid values: ``diag.log``, ``notify.log`` *MariaDB* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Microsoft SQL Server* Valid values: ``agent``, ``error`` *MySQL* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Oracle* Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` *PostgreSQL* Valid values: ``postgresql``, ``upgrade``") - @extension("x-ms-identifiers", []) enableCloudwatchLogsExports?: string[]; @doc("A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. This property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.* *Amazon Aurora* Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.") @@ -256,7 +251,7 @@ model AwsRdsDBInstanceProperties { preferredMaintenanceWindow?: string; @doc("The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) processorFeatures?: ProcessorFeature[]; @doc("The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide*. This setting doesn't apply to RDS Custom DB instances. Default: ``1`` Valid Values: ``0 - 15``") @@ -296,7 +291,7 @@ model AwsRdsDBInstanceProperties { storageType?: string; @doc("An optional array of key-value pairs to apply to this DB instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property tdeCredentialArn") @@ -315,7 +310,6 @@ model AwsRdsDBInstanceProperties { useLatestRestorableTime?: boolean; @doc("A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template. If you plan to update the resource, don't specify VPC security groups in a shared VPC. If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa. You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind: + You can't revert to using an RDS security group after you establish a VPC security group membership. + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group. + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. *Amazon Aurora* Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.") - @extension("x-ms-identifiers", []) vpcSecurityGroups?: string[]; } diff --git a/specification/awsconnector/RdsDBSnapshot.Management/main.tsp b/specification/awsconnector/RdsDBSnapshot.Management/main.tsp index add040ff9944..512f2186772b 100644 --- a/specification/awsconnector/RdsDBSnapshot.Management/main.tsp +++ b/specification/awsconnector/RdsDBSnapshot.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -138,7 +136,7 @@ model AwsRdsDBSnapshotProperties { port?: int32; @doc("

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance when the DB snapshot was created.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) processorFeatures?: ProcessorFeature[]; @doc("

Specifies when the snapshot was taken in Coordinated Universal Time (UTC). Changes for the copy when the snapshot is copied.

") @@ -169,7 +167,7 @@ model AwsRdsDBSnapshotProperties { storageType?: string; @doc("Property tagList") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagList?: Tag[]; @doc("

The ARN from the key store with which to associate the instance for TDE encryption.

") diff --git a/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp b/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp index 3ea64d54ec70..ff1d13a370d2 100644 --- a/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp +++ b/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -79,7 +77,7 @@ model RdsDBSnapshotAttributesResultProperties { @doc("Definition of awsRdsDBSnapshotAttributesResult") model AwsRdsDBSnapshotAttributesResultProperties { @doc("

The list of attributes and values for the manual DB snapshot.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dbSnapshotAttributes?: DBSnapshotAttribute[]; @doc("

The identifier of the manual DB snapshot that the attributes apply to.

") @@ -96,7 +94,6 @@ model DBSnapshotAttribute { attributeName?: string; @doc("

The value or values for the manual DB snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the Amazon Web Services accounts that are authorized to copy or restore the manual DB snapshot. If a value of all is in the list, then the manual DB snapshot is public and available for any Amazon Web Services account to copy or restore.

") - @extension("x-ms-identifiers", []) attributeValues?: string[]; } diff --git a/specification/awsconnector/RdsEventSubscription.Management/main.tsp b/specification/awsconnector/RdsEventSubscription.Management/main.tsp index 4a890e637238..180d9eed5d35 100644 --- a/specification/awsconnector/RdsEventSubscription.Management/main.tsp +++ b/specification/awsconnector/RdsEventSubscription.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,14 +73,12 @@ model AwsRdsEventSubscriptionProperties { enabled?: boolean = true; @doc("A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.") - @extension("x-ms-identifiers", []) eventCategories?: string[]; @doc("The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.") snsTopicArn?: string; @doc("The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.") - @extension("x-ms-identifiers", []) sourceIds?: string[]; @doc("The type of source that will be generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.") @@ -92,7 +88,7 @@ model AwsRdsEventSubscriptionProperties { subscriptionName?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/RdsExportTask.Management/main.tsp b/specification/awsconnector/RdsExportTask.Management/main.tsp index 1ca873c93876..100b98acd46f 100644 --- a/specification/awsconnector/RdsExportTask.Management/main.tsp +++ b/specification/awsconnector/RdsExportTask.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -72,7 +70,6 @@ model RdsExportTaskProperties { @doc("Definition of awsRdsExportTask") model AwsRdsExportTaskProperties { @doc("

The data exported from the snapshot or cluster.

Valid Values:

  • database - Export all the data from a specified database.

  • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

  • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

  • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

") - @extension("x-ms-identifiers", []) exportOnly?: string[]; @doc("

A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.

") diff --git a/specification/awsconnector/RedshiftCluster.Management/main.tsp b/specification/awsconnector/RedshiftCluster.Management/main.tsp index a5533fb5a1a2..2269064862e4 100644 --- a/specification/awsconnector/RedshiftCluster.Management/main.tsp +++ b/specification/awsconnector/RedshiftCluster.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -102,7 +100,6 @@ model AwsRedshiftClusterProperties { clusterParameterGroupName?: string; @doc("A list of security groups to be associated with this cluster.") - @extension("x-ms-identifiers", []) clusterSecurityGroups?: string[]; @doc("The name of a cluster subnet group to be associated with this cluster.") @@ -154,7 +151,6 @@ model AwsRedshiftClusterProperties { hsmConfigurationIdentifier?: string; @doc("A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request") - @extension("x-ms-identifiers", []) iamRoles?: string[]; @doc("The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.") @@ -233,11 +229,10 @@ model AwsRedshiftClusterProperties { snapshotIdentifier?: string; @doc("The list of tags for the cluster parameter group.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.") - @extension("x-ms-identifiers", []) vpcSecurityGroupIds?: string[]; } diff --git a/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp b/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp index 74f8a3fdca73..7ddab4a5e454 100644 --- a/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp +++ b/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -88,11 +86,11 @@ model AwsRedshiftClusterParameterGroupProperties { parameterGroupName?: string; @doc("An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) parameters?: Parameter[]; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/Route53DomainsDomainSummary.Management/main.tsp b/specification/awsconnector/Route53DomainsDomainSummary.Management/main.tsp index 016c901a0494..384bdbb1cda2 100644 --- a/specification/awsconnector/Route53DomainsDomainSummary.Management/main.tsp +++ b/specification/awsconnector/Route53DomainsDomainSummary.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/Route53HostedZone.Management/main.tsp b/specification/awsconnector/Route53HostedZone.Management/main.tsp index c1afc9ce4a60..71c9612aec7c 100644 --- a/specification/awsconnector/Route53HostedZone.Management/main.tsp +++ b/specification/awsconnector/Route53HostedZone.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -75,7 +73,7 @@ model AwsRoute53HostedZoneProperties { hostedZoneConfig?: HostedZoneConfig; @doc("Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *User Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) hostedZoneTags?: HostedZoneTag[]; @doc("Property id") @@ -85,14 +83,13 @@ model AwsRoute53HostedZoneProperties { name?: string; @doc("Property nameServers") - @extension("x-ms-identifiers", []) nameServers?: string[]; @doc("Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: + Route 53 edge location that responded to the DNS query + Domain or subdomain that was requested + DNS record type, such as A or AAAA + DNS response code, such as ``NoError`` or ``ServFail`` + Log Group and Resource Policy Before you create a query logging configuration, perform the following operations. If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: You must create the log group in the us-east-1 region. You must use the same to create the log group and the hosted zone that you want to configure query logging for. When you create log groups for query logging, we recommend that you use a consistent prefix, for example: /aws/route53/hosted zone name In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example: arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID. For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111. For more information, see The confused deputy problem in the IAM User Guide. You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the SDKs, or the . + Log Streams and Edge Locations When Route 53 finishes creating the configuration for DNS query logging, it does the following: Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: hosted zone ID/edge location code The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see 'The Route 53 Global Network' on the Route 53 Product Details page. + Queries That Are Logged Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide. + Log File Format For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide. + Pricing For information about charges for query logs, see Amazon CloudWatch Pricing. + How to Stop Logging If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig. A complex type that contains information about a configuration for DNS query logging.") queryLoggingConfig?: QueryLoggingConfig; @doc("*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone. For public hosted zones, omit ``VPCs``, ``VPCId``, and ``VPCRegion``.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) vpCs?: VPC[]; } diff --git a/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp b/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp index c47bca675595..bb98275b320c 100644 --- a/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp +++ b/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -100,7 +98,7 @@ model AwsRoute53ResourceRecordSetProperties { region?: ResourceRecordSetRegionEnumValue; @doc("

Information about the resource records to act upon.

If you're creating an alias resource record set, omit ResourceRecords.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) resourceRecords?: ResourceRecord[]; @doc("

Resource record sets that have a routing policy other than simple: An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of SetIdentifier must be unique for each resource record set.

For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

") diff --git a/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp b/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp index de7b125a62d8..066e1063e8a8 100644 --- a/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp +++ b/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -73,7 +71,7 @@ model S3AccessControlPolicyProperties { @doc("Definition of awsS3AccessControlPolicy") model AwsS3AccessControlPolicyProperties { @doc("

A list of grants.

") - @extension("x-ms-identifiers", []) + @identifiers(#[]) grants?: Grant[]; @doc("

Container for the bucket owner's display name and ID.

") diff --git a/specification/awsconnector/S3AccessPoint.Management/main.tsp b/specification/awsconnector/S3AccessPoint.Management/main.tsp index 918ee31a44c5..49fd7d2402c6 100644 --- a/specification/awsconnector/S3AccessPoint.Management/main.tsp +++ b/specification/awsconnector/S3AccessPoint.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/S3Bucket.Management/main.tsp b/specification/awsconnector/S3Bucket.Management/main.tsp index 1e2460c5bef9..fdc6d7040334 100644 --- a/specification/awsconnector/S3Bucket.Management/main.tsp +++ b/specification/awsconnector/S3Bucket.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -78,7 +76,7 @@ model AwsS3BucketProperties { accessControl?: AccessControl; @doc("Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) analyticsConfigurations?: AnalyticsConfiguration[]; @doc("the Amazon Resource Name (ARN) of the specified bucket.") @@ -100,11 +98,11 @@ model AwsS3BucketProperties { dualStackDomainName?: string; @doc("Defines how Amazon S3 handles Intelligent-Tiering storage.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) intelligentTieringConfigurations?: IntelligentTieringConfiguration[]; @doc("Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) inventoryConfigurations?: InventoryConfiguration[]; @doc("Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*. Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.") @@ -114,7 +112,7 @@ model AwsS3BucketProperties { loggingConfiguration?: LoggingConfiguration; @doc("Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) metricsConfigurations?: MetricsConfiguration[]; @doc("Configuration that defines how Amazon S3 handles bucket notifications. Describes the notification configuration for an Amazon S3 bucket. If you create the target resource and related permissions in the same template, you might have a circular dependency. For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency. To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration. For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).") @@ -139,7 +137,7 @@ model AwsS3BucketProperties { replicationConfiguration?: ReplicationConfiguration; @doc("An arbitrary set of tags (key-value pairs) for this S3 bucket.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them. Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.") @@ -218,7 +216,7 @@ model AnalyticsConfiguration { storageClassAnalysis?: StorageClassAnalysis; @doc("The tags to use when evaluating an analytics filter. The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagFilters?: TagFilter[]; } @@ -229,7 +227,7 @@ model AnalyticsConfiguration { @doc("Definition of BucketEncryption") model BucketEncryption { @doc("Specifies the default server-side-encryption configuration.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) serverSideEncryptionConfiguration?: ServerSideEncryptionRule[]; } @@ -240,7 +238,7 @@ model BucketEncryption { @doc("Definition of CorsConfiguration") model CorsConfiguration { @doc("A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) corsRules?: CorsRule[]; } @@ -260,11 +258,11 @@ model IntelligentTieringConfiguration { status?: IntelligentTieringConfigurationStatus; @doc("A container for a key-value pair.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagFilters?: TagFilter[]; @doc("Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``. You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tierings?: Tiering[]; } @@ -298,7 +296,6 @@ model InventoryConfiguration { includedObjectVersions?: InventoryConfigurationIncludedObjectVersions; @doc("Contains the optional fields that are included in the inventory results.") - @extension("x-ms-identifiers", []) optionalFields?: InventoryConfigurationOptionalFields[]; @doc("Specifies the inventory filter prefix.") @@ -337,7 +334,7 @@ union InventoryConfigurationScheduleFrequency { @doc("Definition of LifecycleConfiguration") model LifecycleConfiguration { @doc("A lifecycle rule for individual objects in an Amazon S3 bucket.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) rules?: Rule[]; } @@ -423,7 +420,7 @@ model MetricsConfiguration { prefix?: string; @doc("Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagFilters?: TagFilter[]; } @@ -437,15 +434,15 @@ model NotificationConfiguration { eventBridgeConfiguration?: EventBridgeConfiguration; @doc("Describes the LAMlong functions to invoke and the events for which to invoke them.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) lambdaConfigurations?: LambdaConfiguration[]; @doc("The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) queueConfigurations?: QueueConfiguration[]; @doc("The topic to which notifications are sent and the events for which notifications are generated.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) topicConfigurations?: TopicConfiguration[]; } @@ -469,7 +466,7 @@ model ObjectLockConfiguration { @doc("Definition of OwnershipControls") model OwnershipControls { @doc("Specifies the container element for Object Ownership rules.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) rules?: OwnershipControlsRule[]; } @@ -502,7 +499,7 @@ model ReplicationConfiguration { role?: string; @doc("A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) rules?: ReplicationRule[]; } @@ -556,7 +553,7 @@ model WebsiteConfiguration { redirectAllRequestsTo?: RedirectAllRequestsTo; @doc("Rules that define when a redirect is applied and the redirect behavior.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) routingRules?: RoutingRule[]; } @@ -603,19 +600,15 @@ model ServerSideEncryptionRule { @doc("Definition of CorsRule") model CorsRule { @doc("Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.") - @extension("x-ms-identifiers", []) allowedHeaders?: string[]; @doc("An HTTP method that you allow the origin to run. *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``") - @extension("x-ms-identifiers", []) allowedMethods?: CorsRuleAllowedMethods[]; @doc("One or more origins you want customers to be able to access the bucket from.") - @extension("x-ms-identifiers", []) allowedOrigins?: string[]; @doc("One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).") - @extension("x-ms-identifiers", []) exposedHeaders?: string[]; @doc("A unique identifier for this rule. The value must be no more than 255 characters.") @@ -733,7 +726,7 @@ model Rule { noncurrentVersionTransition?: NoncurrentVersionTransition; @doc("For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) noncurrentVersionTransitions?: NoncurrentVersionTransition[]; @doc("Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.") @@ -749,14 +742,14 @@ model Rule { status?: RuleStatus; @doc("Tags to use to identify a subset of objects to which the lifecycle rule applies.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagFilters?: TagFilter[]; @doc("(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property. Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.") transition?: Transition; @doc("One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) transitions?: Transition[]; } @@ -1314,7 +1307,7 @@ model RoutingRuleCondition { @doc("Definition of S3KeyFilter") model S3KeyFilter { @doc("A list of containers for the key-value pair that defines the criteria for the filter rule.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) rules?: FilterRule[]; } @@ -1396,7 +1389,7 @@ model ReplicationRuleAndOperator { prefix?: string; @doc("An array of tags containing key and value pairs.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tagFilters?: TagFilter[]; } diff --git a/specification/awsconnector/S3BucketPolicy.Management/main.tsp b/specification/awsconnector/S3BucketPolicy.Management/main.tsp index eecadc6e196b..0c6da6886f55 100644 --- a/specification/awsconnector/S3BucketPolicy.Management/main.tsp +++ b/specification/awsconnector/S3BucketPolicy.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/S3ControlMultiRegionAccessPointPolicyDocument.Management/main.tsp b/specification/awsconnector/S3ControlMultiRegionAccessPointPolicyDocument.Management/main.tsp index f9cf768ff86f..4dc1d91414fe 100644 --- a/specification/awsconnector/S3ControlMultiRegionAccessPointPolicyDocument.Management/main.tsp +++ b/specification/awsconnector/S3ControlMultiRegionAccessPointPolicyDocument.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/SageMakerApp.Management/main.tsp b/specification/awsconnector/SageMakerApp.Management/main.tsp index bf33e9a77a91..7c01f28ddde7 100644 --- a/specification/awsconnector/SageMakerApp.Management/main.tsp +++ b/specification/awsconnector/SageMakerApp.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -87,7 +85,7 @@ model AwsSageMakerAppProperties { resourceSpec?: ResourceSpec; @doc("A list of tags to apply to the app.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The user profile name.") diff --git a/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp b/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp index 0c887d8f1e35..de0871b809eb 100644 --- a/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp +++ b/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -80,7 +78,6 @@ model SageMakerNotebookInstanceSummaryProperties { @doc("Definition of awsSageMakerNotebookInstanceSummary") model AwsSageMakerNotebookInstanceSummaryProperties { @doc("

An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in Amazon Web Services CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with SageMaker Notebook Instances.

") - @extension("x-ms-identifiers", []) additionalCodeRepositories?: string[]; @doc("

A timestamp that shows when the notebook instance was created.

") diff --git a/specification/awsconnector/SecretsManagerResourcePolicy.Management/main.tsp b/specification/awsconnector/SecretsManagerResourcePolicy.Management/main.tsp index ca63d117abb1..9f8e1ccb0eea 100644 --- a/specification/awsconnector/SecretsManagerResourcePolicy.Management/main.tsp +++ b/specification/awsconnector/SecretsManagerResourcePolicy.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/SecretsManagerSecret.Management/main.tsp b/specification/awsconnector/SecretsManagerSecret.Management/main.tsp index ac272a558f5a..d8a14fc95739 100644 --- a/specification/awsconnector/SecretsManagerSecret.Management/main.tsp +++ b/specification/awsconnector/SecretsManagerSecret.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -87,14 +85,14 @@ model AwsSecretsManagerSecretProperties { name?: string; @doc("A custom type that specifies a ``Region`` and the ``KmsKeyId`` for a replica secret.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) replicaRegions?: ReplicaRegion[]; @doc("The text to encrypt and store in the secret. We recommend you use a JSON structure of key/value pairs for your secret value. To generate a random password, use ``GenerateSecretString`` instead. If you omit both ``GenerateSecretString`` and ``SecretString``, you create an empty secret. When you make a change to this property, a new secret version is created.") secretString?: string; @doc("A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string, for example: ``[{'Key':'CostCenter','Value':'12345'},{'Key':'environment','Value':'production'}]`` Secrets Manager tag key names are case sensitive. A tag with the key 'ABC' is a different tag from one with key 'abc'. Stack-level tags, tags you apply to the CloudFormation stack, are also attached to the secret. If you check tags in permissions policies as part of your security strategy, then adding or removing a tag can change permissions. If the completion of this operation would result in you losing your permissions for this secret, then Secrets Manager blocks the operation and returns an ``Access Denied`` error. For more information, see [Control access to secrets using tags](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#tag-secrets-abac) and [Limit access to identities with tags that match secrets' tags](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_tags2). For information about how to format a JSON parameter for the various command line tool environments, see [Using JSON for Parameters](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json). If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. The following restrictions apply to tags: + Maximum number of tags per secret: 50 + Maximum key length: 127 Unicode characters in UTF-8 + Maximum value length: 255 Unicode characters in UTF-8 + Tag keys and values are case sensitive. + Do not use the ``aws:`` prefix in your tag names or values because AWS reserves it for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit. + If you use your tagging schema across multiple services and resources, other services might have restrictions on allowed characters. Generally allowed characters: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/SnsSubscription.Management/main.tsp b/specification/awsconnector/SnsSubscription.Management/main.tsp index 0069c4fe9e7e..7d3904a0845f 100644 --- a/specification/awsconnector/SnsSubscription.Management/main.tsp +++ b/specification/awsconnector/SnsSubscription.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/SnsTopic.Management/main.tsp b/specification/awsconnector/SnsTopic.Management/main.tsp index 02ab59657e47..397740c6231d 100644 --- a/specification/awsconnector/SnsTopic.Management/main.tsp +++ b/specification/awsconnector/SnsTopic.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -81,7 +79,7 @@ model AwsSnsTopicProperties { dataProtectionPolicy?: unknown; @doc("Property deliveryStatusLogging") - @extension("x-ms-identifiers", []) + @identifiers(#[]) deliveryStatusLogging?: LoggingConfig[]; @doc("The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.") @@ -97,11 +95,11 @@ model AwsSnsTopicProperties { signatureVersion?: string; @doc("The SNS subscriptions (endpoints) for this topic. If you specify the ``Subscription`` property in the ``AWS::SNS::Topic`` resource and it creates an associated subscription resource, the associated subscription is not deleted when the ``AWS::SNS::Topic`` resource is deleted.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) subscription?: Subscription[]; @doc("The list of tags to add to a new topic. To be able to tag a topic on creation, you must have the ``sns:CreateTopic`` and ``sns:TagResource`` permissions.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("Property topicArn") diff --git a/specification/awsconnector/SqsQueue.Management/main.tsp b/specification/awsconnector/SqsQueue.Management/main.tsp index 4812e84f633a..6875b1f303a0 100644 --- a/specification/awsconnector/SqsQueue.Management/main.tsp +++ b/specification/awsconnector/SqsQueue.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -120,7 +118,7 @@ model AwsSqsQueueProperties { sqsManagedSseEnabled?: boolean; @doc("The tags that you attach to this queue. For more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *User Guide*.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tag[]; @doc("The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue. Values must be from 0 to 43,200 seconds (12 hours). If you don't specify a value, AWS CloudFormation uses the default value of 30 seconds. For more information about SQS queue visibility timeouts, see [Visibility timeout](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) in the *Developer Guide*.") diff --git a/specification/awsconnector/SsmInstanceInformation.Management/main.tsp b/specification/awsconnector/SsmInstanceInformation.Management/main.tsp index 87d925762a89..2891a4a6b780 100644 --- a/specification/awsconnector/SsmInstanceInformation.Management/main.tsp +++ b/specification/awsconnector/SsmInstanceInformation.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/SsmParameter.Management/main.tsp b/specification/awsconnector/SsmParameter.Management/main.tsp index 08844c9365a5..51b6e8a96ac8 100644 --- a/specification/awsconnector/SsmParameter.Management/main.tsp +++ b/specification/awsconnector/SsmParameter.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/SsmResourceComplianceSummaryItem.Management/main.tsp b/specification/awsconnector/SsmResourceComplianceSummaryItem.Management/main.tsp index 38cfe6ddd4a2..54455e93586e 100644 --- a/specification/awsconnector/SsmResourceComplianceSummaryItem.Management/main.tsp +++ b/specification/awsconnector/SsmResourceComplianceSummaryItem.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/WafWebACLSummary.Management/main.tsp b/specification/awsconnector/WafWebACLSummary.Management/main.tsp index c2cfef70008e..c9907cb95fea 100644 --- a/specification/awsconnector/WafWebACLSummary.Management/main.tsp +++ b/specification/awsconnector/WafWebACLSummary.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) diff --git a/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp b/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp index b01e70eca777..dd627d2c0400 100644 --- a/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp +++ b/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp @@ -19,9 +19,7 @@ using Azure.Portal; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Supress missing operations endpoint as the same is defined ../operations/main.tsp." @armProviderNamespace -@service({ - title: "Microsoft.AwsConnector", -}) +@service(#{ title: "Microsoft.AwsConnector" }) @doc("Microsoft.AwsConnector Resource Provider management API.") @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -73,7 +71,6 @@ model Wafv2LoggingConfigurationProperties { @doc("Definition of awsWafv2LoggingConfiguration") model AwsWafv2LoggingConfigurationProperties { @doc("The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.") - @extension("x-ms-identifiers", []) logDestinationConfigs?: string[]; @doc("Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.") @@ -83,7 +80,7 @@ model AwsWafv2LoggingConfigurationProperties { managedByFirewallManager?: boolean; @doc("The parts of the request that you want to keep out of the logs. For example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) redactedFields?: FieldToMatch[]; @doc("The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.") @@ -100,7 +97,7 @@ model LoggingFilterModelProperties { defaultBehavior?: DefaultBehavior; @doc("The filters that you want to apply to the logs.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) filters?: Filter[]; } @@ -144,7 +141,7 @@ model Filter { behavior?: FilterBehavior; @doc("Match conditions for the filter.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) conditions?: Condition[]; @doc("Logic to apply to the filtering conditions. You can specify that, in order to satisfy the filter, a log must match all conditions or must match at least one condition.") diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json index 5cee7a5bf28a..ec0123a27982 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json @@ -541,16 +541,14 @@ "description": "Property contains", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "eq": { "type": "array", "description": "Property eq", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exists": { "type": "boolean", @@ -561,8 +559,7 @@ "description": "Property neq", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "property": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json index cfaa636b4792..4b86ba37567d 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json @@ -502,8 +502,7 @@ "description": "

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

", "items": { "$ref": "#/definitions/ExtendedKeyUsageName" - }, - "x-ms-identifiers": [] + } }, "hasAdditionalSubjectAlternativeNames": { "type": "boolean", @@ -532,8 +531,7 @@ "description": "

A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

", "items": { "$ref": "#/definitions/KeyUsageName" - }, - "x-ms-identifiers": [] + } }, "notAfter": { "type": "string", @@ -563,8 +561,7 @@ "description": "

One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

When called by ListCertificates, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "type": { "$ref": "#/definitions/CertificateTypeEnumValue", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json index a44fb90b1e52..f5792a066808 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json @@ -489,8 +489,7 @@ "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "body": { "type": "object", @@ -572,16 +571,14 @@ "description": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``'EDGE'``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcEndpointIds": { "type": "array", "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json index 3c3121b450b9..4190eb0377dc 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json @@ -521,8 +521,7 @@ "description": "A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the ``VPCZoneIdentifier`` property, or for attaching a network interface when an existing network interface ID is specified in a launch template.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "capacityRebalance": { "type": "boolean", @@ -587,8 +586,7 @@ "description": "A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify the ``TargetGroupARNs`` property instead.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maxInstanceLifetime": { "type": "integer", @@ -652,24 +650,21 @@ "description": "The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "terminationPolicies": { "type": "array", "description": "A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Work with Amazon EC2 Auto Scaling termination policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcZoneIdentifier": { "type": "array", "description": "A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). Required to launch instances into a nondefault VPC. If you specify ``VPCZoneIdentifier`` with ``AvailabilityZones``, the subnets that you specify for this property must reside in those Availability Zones.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -718,16 +713,14 @@ "description": "Indicates whether instance types must have accelerators by specific manufacturers. + For instance types with NVIDIA devices, specify ``nvidia``. + For instance types with AMD devices, specify ``amd``. + For instance types with AWS devices, specify ``amazon-web-services``. + For instance types with Xilinx devices, specify ``xilinx``. Default: Any manufacturer", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "acceleratorNames": { "type": "array", "description": "Lists the accelerators that must be on an instance type. + For instance types with NVIDIA A100 GPUs, specify ``a100``. + For instance types with NVIDIA V100 GPUs, specify ``v100``. + For instance types with NVIDIA K80 GPUs, specify ``k80``. + For instance types with NVIDIA T4 GPUs, specify ``t4``. + For instance types with NVIDIA M60 GPUs, specify ``m60``. + For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520``. + For instance types with Xilinx VU9P FPGAs, specify ``vu9p``. Default: Any accelerator", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "acceleratorTotalMemoryMiB": { "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest", @@ -738,16 +731,14 @@ "description": "Lists the accelerator types that must be on an instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "allowedInstanceTypes": { "type": "array", "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types. If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``. Default: All instance types", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "bareMetal": { "type": "string", @@ -766,24 +757,21 @@ "description": "Lists which specific CPU manufacturers to include. + For instance types with Intel CPUs, specify ``intel``. + For instance types with AMD CPUs, specify ``amd``. + For instance types with AWS CPUs, specify ``amazon-web-services``. Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "excludedInstanceTypes": { "type": "array", "description": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types. If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``. Default: No excluded instance types", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "instanceGenerations": { "type": "array", "description": "Indicates whether current or previous generation instance types are included. + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*. + For previous generation instance types, specify ``previous``. Default: Any current or previous generation", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "localStorage": { "type": "string", @@ -794,8 +782,7 @@ "description": "Indicates the type of local storage that is required. + For instance types with hard disk drive (HDD) storage, specify ``hdd``. + For instance types with solid state drive (SSD) storage, specify ``ssd``. Default: Any local storage type", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maxSpotPriceAsPercentageOfOptimalOnDemandPrice": { "type": "integer", @@ -1013,8 +1000,7 @@ "description": "Identifies the metrics to enable. You can specify one or more of the following metrics: + ``GroupMinSize`` + ``GroupMaxSize`` + ``GroupDesiredCapacity`` + ``GroupInServiceInstances`` + ``GroupPendingInstances`` + ``GroupStandbyInstances`` + ``GroupTerminatingInstances`` + ``GroupTotalInstances`` + ``GroupInServiceCapacity`` + ``GroupPendingCapacity`` + ``GroupStandbyCapacity`` + ``GroupTerminatingCapacity`` + ``GroupTotalCapacity`` + ``WarmPoolDesiredCapacity`` + ``WarmPoolWarmedCapacity`` + ``WarmPoolPendingCapacity`` + ``WarmPoolTerminatingCapacity`` + ``WarmPoolTotalCapacity`` + ``GroupAndWarmPoolDesiredCapacity`` + ``GroupAndWarmPoolTotalCapacity`` If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled. For more information, see [Auto Scaling group metrics](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics) in the *Amazon EC2 Auto Scaling User Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1073,8 +1059,7 @@ "description": "A list of event types that send a notification. Event types can include any of the following types. *Allowed values*: + ``autoscaling:EC2_INSTANCE_LAUNCH`` + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` + ``autoscaling:EC2_INSTANCE_TERMINATE`` + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` + ``autoscaling:TEST_NOTIFICATION``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "topicARN": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json index 9940b35c818f..91453cbb8ffc 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json @@ -390,8 +390,7 @@ "description": "Property capabilities", "items": { "$ref": "#/definitions/Capabilities" - }, - "x-ms-identifiers": [] + } }, "changeSetId": { "type": "string", @@ -422,8 +421,7 @@ "description": "Property notificationARNs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "outputs": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json index bea51d3b3aca..6505298982f7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json @@ -426,8 +426,7 @@ "description": "In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for AWS CloudFormation to create the stack set and related stack instances.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "description": { "type": "string", @@ -623,8 +622,7 @@ "description": "AWS accounts that you want to create stack instances in the specified Region(s) for.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "accountsUrl": { "type": "string", @@ -635,8 +633,7 @@ "description": "The organization root ID or organizational unit (OU) IDs to which StackSets deploys.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -709,8 +706,7 @@ "description": "Property regionOrder", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -852,8 +848,7 @@ "description": "The names of one or more Regions where you want to create stack instances using the specified AWS account(s).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json index 48bf399501da..56fe44005b68 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json @@ -416,8 +416,7 @@ "description": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cachePolicyId": { "type": "string", @@ -428,8 +427,7 @@ "description": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "compress": { "type": "boolean", @@ -505,16 +503,14 @@ "description": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "trustedSigners": { "type": "array", "description": "We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "viewerProtocolPolicy": { "type": "string", @@ -630,8 +626,7 @@ "description": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -698,8 +693,7 @@ "description": "Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include ``SSLv3``, ``TLSv1``, ``TLSv1.1``, and ``TLSv1.2``. For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -712,8 +706,7 @@ "description": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cachePolicyId": { "type": "string", @@ -724,8 +717,7 @@ "description": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "compress": { "type": "boolean", @@ -797,16 +789,14 @@ "description": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "trustedSigners": { "type": "array", "description": "We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "viewerProtocolPolicy": { "type": "string", @@ -823,16 +813,14 @@ "description": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cnamEs": { "type": "array", "description": "Property cnamEs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cacheBehaviors": { "type": "array", @@ -939,8 +927,7 @@ "description": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that specifies the ``Headers``, if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests. For more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "queryString": { "type": "boolean", @@ -951,8 +938,7 @@ "description": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -979,8 +965,7 @@ "description": "A complex type that contains a ``Location`` element for each country in which you want CloudFront either to distribute your content or not distribute your content.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "restrictionType": { "type": "string", @@ -1035,8 +1020,7 @@ "description": "Property originSSLProtocols", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1313,8 +1297,7 @@ "items": { "type": "integer", "format": "int32" - }, - "x-ms-identifiers": [] + } }, "quantity": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json index 960ef264e9c0..e9e195ed1d9e 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json @@ -408,16 +408,14 @@ "description": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "equals": { "type": "array", "description": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "field": { "type": "string", @@ -428,32 +426,28 @@ "description": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "notEquals": { "type": "array", "description": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "notStartsWith": { "type": "array", "description": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "startsWith": { "type": "array", "description": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -659,8 +653,7 @@ "description": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -681,8 +674,7 @@ "description": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing 'kms.amazonaws.com'. By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "includeManagementEvents": { "type": "boolean", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json index 1458b8b49783..09ab66adbc7a 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json @@ -395,8 +395,7 @@ "description": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *API Reference*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "alarmDescription": { "type": "string", @@ -445,8 +444,7 @@ "description": "The actions to execute when this alarm transitions to the ``INSUFFICIENT_DATA`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "metricName": { "type": "string", @@ -469,8 +467,7 @@ "description": "The actions to execute when this alarm transitions to the ``OK`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "period": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json index d553b16724d0..df5aad1ce611 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json @@ -675,8 +675,7 @@ "description": "

An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the CodeBuild User Guide for these values.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maximumBuildsAllowed": { "type": "integer", @@ -1394,8 +1393,7 @@ "description": "

An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for LOCAL cache types.

Possible values are:

LOCAL_SOURCE_CACHE

Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.

LOCAL_DOCKER_LAYER_CACHE

Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.

  • You can use a Docker layer cache in the Linux environment only.

  • The privileged flag must be set so that your project has the required Docker permissions.

  • You should consider the security implications before you use a Docker layer cache.

LOCAL_CUSTOM_CACHE

Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:

  • Only directories can be specified for caching. You cannot specify individual files.

  • Symlinks are used to reference cached directories.

  • Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.

", "items": { "$ref": "#/definitions/CacheMode" - }, - "x-ms-identifiers": [] + } }, "type": { "$ref": "#/definitions/CacheTypeEnumValue", @@ -1818,16 +1816,14 @@ "description": "

A list of one or more security groups IDs in your Amazon VPC.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnets": { "type": "array", "description": "

A list of one or more subnet IDs in your Amazon VPC.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json index 5e25c9ecbb57..515b188816e3 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json @@ -507,8 +507,7 @@ "description": "

A comma-separated list of resource types to exclude from recording by the configuration recorder.

", "items": { "$ref": "#/definitions/ResourceType" - }, - "x-ms-identifiers": [] + } } } }, @@ -626,8 +625,7 @@ "description": "

A comma-separated list that specifies which resource types Config records.

For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.

Required and optional fields

Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

Region availability

Before specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

", "items": { "$ref": "#/definitions/ResourceType" - }, - "x-ms-identifiers": [] + } } } }, @@ -666,8 +664,7 @@ "description": "

A comma-separated list that specifies which resource types Config includes in the override.

Daily recording is not supported for the following resource types:

  • AWS::Config::ResourceCompliance

  • AWS::Config::ConformancePackCompliance

  • AWS::Config::ConfigurationRecorder

", "items": { "$ref": "#/definitions/ResourceType" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json index 49a07f60b8d5..8f8e35b03a13 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json @@ -467,8 +467,7 @@ "description": "

One or more IPv6 addresses for the replication instance.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "replicationInstancePrivateIpAddress": { "type": "string", @@ -479,8 +478,7 @@ "description": "

One or more private IP addresses for the replication instance.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "replicationInstancePublicIpAddress": { "type": "string", @@ -491,8 +489,7 @@ "description": "

One or more public IP addresses for the replication instance.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "replicationInstanceStatus": { "type": "string", @@ -722,8 +719,7 @@ "description": "

The IP addressing protocol supported by the subnet group. This is used by a replication instance with values such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json index 8700a9fff7ea..3da7146ab7eb 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json @@ -419,8 +419,7 @@ "description": "

A list of nodes to be removed from the cluster.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "nodeType": { "type": "string", @@ -675,8 +674,7 @@ "description": "

The node IDs of one or more nodes to be rebooted.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "parameterApplyStatus": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json index 1bdbeb1e7e5a..8c9483df5642 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json @@ -524,8 +524,7 @@ "description": "List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -779,8 +778,7 @@ "description": "Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "projectionType": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json index dfec167b55bf..7b558fddf96a 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json @@ -402,8 +402,7 @@ "description": "A list of security group IDs associated with this network interface.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "id": { "type": "string", @@ -482,8 +481,7 @@ "description": "Returns the secondary private IP addresses of the network interface.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "sourceDestCheck": { "type": "boolean", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json index 5f8d69d4917e..68356a07f435 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json @@ -428,8 +428,7 @@ "description": "The IPv6 network ranges for the subnet, in CIDR notation.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "ipv6IpamPoolId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json index 2e44f929779a..de77c72ebcc5 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json @@ -394,8 +394,7 @@ "description": "Property dnsEntries", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "id": { "type": "string", @@ -406,8 +405,7 @@ "description": "Property networkInterfaceIds", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "policyDocument": { "type": "object", @@ -423,16 +421,14 @@ "description": "The IDs of the route tables. Routing is supported only for gateway endpoints.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "securityGroupIds": { "type": "array", "description": "The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "serviceName": { "type": "string", @@ -443,8 +439,7 @@ "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcEndpointType": { "$ref": "#/definitions/VpcEndpointType", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json index 8977a83d2a5a..c636dc2693de 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json @@ -394,8 +394,7 @@ "description": "Property cidrBlockAssociations", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "defaultNetworkAcl": { "type": "string", @@ -431,8 +430,7 @@ "description": "Property ipv6CidrBlocks", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json index 95a2a55dde67..9c30f1d0be29 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json @@ -420,8 +420,7 @@ "description": "

The list of tags associated with this image.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "lastRecordedPullTime": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json index 4acd74bd7d72..fd085c18c87e 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json @@ -609,7 +609,7 @@ }, "registryId": { "type": "string", - "description": "The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed." + "description": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed." } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json index eee0aa9f572e..3a00d99419b4 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json @@ -394,8 +394,7 @@ "description": "The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation. To use a FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used. The [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "clusterName": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json index e81ff5a90b27..23b265217205 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json @@ -531,16 +531,14 @@ "description": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. All specified security groups must be from the same VPC.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnets": { "type": "array", "description": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. All specified subnets must be from the same VPC.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -597,8 +595,7 @@ "description": "One or more CloudWatch alarm names. Use a ',' to separate the alarms.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "enable": { "type": "boolean", @@ -694,7 +691,7 @@ "properties": { "propagateTags": { "$ref": "#/definitions/EBSTagSpecificationPropagateTags", - "description": "Determines whether to propagate the tags from the task definition to 
the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in 
``ServiceVolumeConfiguration``. If no value is specified, the tags aren't 
propagated." + "description": "Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in ``ServiceVolumeConfiguration``. If no value is specified, the tags aren't propagated." }, "resourceType": { "type": "string", @@ -1226,7 +1223,7 @@ }, "filesystemType": { "type": "string", - "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are
 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default." + "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default." }, "iops": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json index e36a6d13a546..6bab68be58f8 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json @@ -488,8 +488,7 @@ "description": "The task launch types the task definition was validated against. The valid values are ``EC2``, ``FARGATE``, and ``EXTERNAL``. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "runtimePlatform": { "$ref": "#/definitions/RuntimePlatform", @@ -530,8 +529,7 @@ "description": "The command that's passed to the container. This parameter maps to ``Cmd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cpu": { "type": "integer", @@ -543,8 +541,7 @@ "description": "A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1. There are two formats for each ARN. + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3. If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dependsOn": { "type": "array", @@ -563,16 +560,14 @@ "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dnsServers": { "type": "array", "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dockerLabels": { "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``" @@ -582,16 +577,14 @@ "description": "A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. This parameter maps to ``SecurityOpt`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: 'no-new-privileges' | 'apparmor:PROFILE' | 'label:value' | 'credentialspec:CredentialSpecFilePath'", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "entryPoint": { "type": "array", "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "environment": { "type": "array", @@ -646,8 +639,7 @@ "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "linuxParameters": { "$ref": "#/definitions/LinuxParameters", @@ -794,8 +786,7 @@ "description": "The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1048,8 +1039,7 @@ "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets. ``[ 'CMD-SHELL', 'curl -f http://localhost/ || exit 1' ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "interval": { "type": "integer", @@ -1120,16 +1110,14 @@ "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "drop": { "type": "array", "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1477,8 +1465,7 @@ "description": "The list of tmpfs volume mount options.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "size": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json index 6ebe82a4dd21..b1267771b108 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json @@ -402,8 +402,7 @@ "description": "Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json index 7c69d6837ce7..d190344dab90 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json @@ -427,8 +427,7 @@ "description": "

The resource IDs that the issue relates to.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -758,8 +757,7 @@ "description": "

Specifies the resources to be encrypted. The only supported value is secrets.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -838,8 +836,7 @@ "description": "

The available cluster control plane log types.

", "items": { "$ref": "#/definitions/LogType" - }, - "x-ms-identifiers": [] + } } } }, @@ -936,8 +933,7 @@ "description": "

The ARN of the Outpost that you specified for use with your local Amazon EKS cluster on Outposts.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1027,24 +1023,21 @@ "description": "

The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "securityGroupIds": { "type": "array", "description": "

The security groups associated with the cross-account elastic network interfaces that are used to allow communication between your nodes and the Kubernetes control plane.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetIds": { "type": "array", "description": "

The subnets associated with your cluster.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json index a8bf201f40ff..a7dba808a023 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json @@ -419,8 +419,7 @@ "description": "Specify the instance types for a node group.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "labels": { "type": "object", @@ -458,8 +457,7 @@ "description": "The subnets to use for the Auto Scaling group that is created for your node group.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "object", @@ -667,8 +665,7 @@ "description": "Property sourceSecurityGroups", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json index 39fc6820e308..6f9504193486 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json @@ -527,8 +527,7 @@ "description": "[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "certificates": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json index c928e0d007b2..67cfbdd49e00 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json @@ -434,8 +434,7 @@ "description": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetMappings": { "type": "array", @@ -450,8 +449,7 @@ "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json index adf013f0e140..60046a1cc7e3 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json @@ -425,8 +425,7 @@ "description": "The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "matcher": { "$ref": "#/definitions/Matcher", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json index 528328b9653c..f2d8e7261afb 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json @@ -397,8 +397,7 @@ "description": "

Arguments for Amazon EMR to pass to the application.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "name": { "type": "string", @@ -802,16 +801,14 @@ "description": "

A list of additional Amazon EC2 security group IDs for the master node.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "additionalSlaveSecurityGroups": { "type": "array", "description": "

A list of additional Amazon EC2 security group IDs for the core and task nodes.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "ec2AvailabilityZone": { "type": "string", @@ -842,16 +839,14 @@ "description": "

Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch Amazon EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "requestedEc2SubnetIds": { "type": "array", "description": "

Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch Amazon EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the Amazon EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "serviceAccessSecurityGroup": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json index 21f982398aae..88fb9cdcfdd7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json @@ -398,8 +398,7 @@ "description": "The Amazon Resource Name (ARN) of the IAM policy you want to attach. For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "path": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json index 77d0ac0ed8cb..4a82341fe913 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json @@ -402,8 +402,7 @@ "description": "The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json index d6bd6b66e3cc..8919b0382c58 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json @@ -403,8 +403,7 @@ "description": "A list of Amazon Resource Names (ARNs) of the IAM managed policies that you want to attach to the role. For more information about ARNs, see [Amazon Resource Names (ARNs) and Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maxSessionDuration": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json index 263be835e1e4..179fe1de6f56 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json @@ -406,8 +406,7 @@ "description": "Property users", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "virtualMfaDeviceName": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json index 01f5b8c5cb8b..fb53bbb9c491 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json @@ -414,8 +414,7 @@ "description": "The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.", "items": { "$ref": "#/definitions/Architectures" - }, - "x-ms-identifiers": [] + } }, "arn": { "type": "string", @@ -474,8 +473,7 @@ "description": "A list of [function layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "loggingConfig": { "$ref": "#/definitions/LoggingConfig", @@ -621,16 +619,14 @@ "description": "Specifies parameters that you want to pass in with ENTRYPOINT. You can specify a maximum of 1,500 parameters in the list.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "entryPoint": { "type": "array", "description": "Specifies the entry point to their application, which is typically the location of the runtime executable. You can specify a maximum of 1,500 string entries in the list.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "workingDirectory": { "type": "string", @@ -1137,16 +1133,14 @@ "description": "A list of VPC security group IDs.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetIds": { "type": "array", "description": "A list of VPC subnet IDs.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } } diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json index 3dba81fbf6bd..162de373a5ff 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json @@ -428,16 +428,14 @@ "description": "An array of strings to specify the AWS account IDs that can access the bucket.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "resourcesReceivingAccess": { "type": "array", "description": "The names of the Lightsail resources for which to set bucket access.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json index e753283ec1ab..17f2159881ee 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json @@ -774,16 +774,14 @@ "description": "cidr List Aliases", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cidrs": { "type": "array", "description": "Property cidrs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "commonName": { "type": "string", @@ -799,8 +797,7 @@ "description": "IPv6 Cidrs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "protocol": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json index 8957f9472c51..e56e4d30631c 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json @@ -839,8 +839,7 @@ "description": "

An array that lists the names of the buckets.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -861,8 +860,7 @@ "description": "

An array that lists one or more values to use in the condition. If you specify multiple values, Amazon Macie uses OR logic to join the values. Valid values for each supported property (key) are:

  • ACCOUNT_ID - A string that represents the unique identifier for the Amazon Web Services account that owns the bucket.

  • S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an enumerated value that Macie defines for the BucketPublicAccess.effectivePermission property of a bucket.

  • S3_BUCKET_NAME - A string that represents the name of a bucket.

  • S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated value that Macie defines for the BucketMetadata.sharedAccess property of a bucket.

Values are case sensitive. Also, Macie doesn't support use of partial values or wildcard characters in these values.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json index 9d3b8d2a6e62..141e083a5720 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json @@ -398,8 +398,7 @@ "description": "Property endpointIds", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "firewallArn": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json index 777f8608d7b5..ed4173ac36d2 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json @@ -462,8 +462,7 @@ "description": "Property statefulDefaultActions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "statefulEngineOptions": { "$ref": "#/definitions/StatefulEngineOptions", @@ -490,16 +489,14 @@ "description": "Property statelessDefaultActions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "statelessFragmentDefaultActions": { "type": "array", "description": "Property statelessFragmentDefaultActions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "statelessRuleGroupReferences": { "type": "array", @@ -524,8 +521,7 @@ "description": "Property definition", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json index d704b68386ef..93df1bf19884 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json @@ -657,8 +657,7 @@ "description": "Property definition", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -698,8 +697,7 @@ "items": { "type": "integer", "format": "int32" - }, - "x-ms-identifiers": [] + } }, "sourcePorts": { "type": "array", @@ -847,8 +845,7 @@ "description": "Property definition", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -943,8 +940,7 @@ "description": "Property actions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "matchAttributes": { "$ref": "#/definitions/MatchAttributes", @@ -987,8 +983,7 @@ "description": "Property settings", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1051,16 +1046,14 @@ "description": "Property targetTypes", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "targets": { "type": "array", "description": "Property targets", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1226,16 +1219,14 @@ "description": "Property flags", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "masks": { "type": "array", "description": "Property masks", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json index e3e9583ff2b7..b6fb3f214e5b 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json @@ -2173,24 +2173,21 @@ "description": "

The list of Availability Zones associated with the VPC subnets.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "securityGroupIds": { "type": "array", "description": "

The list of security group IDs associated with the VPC endpoints for the domain.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetIds": { "type": "array", "description": "

A list of subnet IDs associated with the VPC endpoints for the domain.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json index aa417cc714f4..70473fe126d0 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json @@ -414,8 +414,7 @@ "description": "List of parent nodes for the member account. Currently only one parent at a time is supported. Default is root.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "roleName": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json index a1731a5dc196..9f741603b5b7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json @@ -407,8 +407,7 @@ "description": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "backtrackWindow": { "type": "integer", @@ -479,8 +478,7 @@ "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "enableGlobalWriteForwarding": { "type": "boolean", @@ -649,8 +647,7 @@ "description": "A list of EC2 VPC security groups to associate with this DB cluster.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json index 27884db100ea..bfefa11d70e7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json @@ -480,8 +480,7 @@ "description": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template. If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups. If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations: + ``AllocatedStorage`` + ``AutoMinorVersionUpgrade`` + ``AvailabilityZone`` + ``BackupRetentionPeriod`` + ``CharacterSetName`` + ``DBInstanceClass`` + ``DBName`` + ``DBParameterGroupName`` + ``DBSecurityGroups`` + ``DBSubnetGroupName`` + ``Engine`` + ``EngineVersion`` + ``Iops`` + ``LicenseModel`` + ``MasterUsername`` + ``MasterUserPassword`` + ``MultiAZ`` + ``OptionGroupName`` + ``PreferredBackupWindow`` + ``PreferredMaintenanceWindow`` All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dbSnapshotIdentifier": { "type": "string", @@ -524,8 +523,7 @@ "description": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. Constraints: + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Example: ``123.124.125.126,234.235.236.237``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "domainFqdn": { "type": "string", @@ -544,8 +542,7 @@ "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*. *Amazon Aurora* Not applicable. CloudWatch Logs exports are managed by the DB cluster. *Db2* Valid values: ``diag.log``, ``notify.log`` *MariaDB* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Microsoft SQL Server* Valid values: ``agent``, ``error`` *MySQL* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Oracle* Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` *PostgreSQL* Valid values: ``postgresql``, ``upgrade``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "enableIAMDatabaseAuthentication": { "type": "boolean", @@ -739,8 +736,7 @@ "description": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template. If you plan to update the resource, don't specify VPC security groups in a shared VPC. If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa. You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind: + You can't revert to using an RDS security group after you establish a VPC security group membership. + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group. + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. *Amazon Aurora* Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json index 08b2f195a244..f6ebbe05df0a 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json @@ -412,8 +412,7 @@ "description": "

The value or values for the manual DB snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the Amazon Web Services accounts that are authorized to copy or restore the manual DB snapshot. If a value of all is in the list, then the manual DB snapshot is public and available for any Amazon Web Services account to copy or restore.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json index a90dea32e6d7..ec34dc4097c0 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json @@ -395,8 +395,7 @@ "description": "A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "snsTopicArn": { "type": "string", @@ -407,8 +406,7 @@ "description": "The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "sourceType": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json index 247cd8147104..972e63029321 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json @@ -390,8 +390,7 @@ "description": "

The data exported from the snapshot or cluster.

Valid Values:

  • database - Export all the data from a specified database.

  • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

  • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

  • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exportTaskIdentifier": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json index 26cf588b4d86..bdf3e5d6013c 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json @@ -431,8 +431,7 @@ "description": "A list of security groups to be associated with this cluster.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "clusterSubnetGroupName": { "type": "string", @@ -504,8 +503,7 @@ "description": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "kmsKeyId": { "type": "string", @@ -623,8 +621,7 @@ "description": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json index ec7f8fedcad8..91cc3e6da7cf 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json @@ -410,8 +410,7 @@ "description": "Property nameServers", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "queryLoggingConfig": { "$ref": "#/definitions/QueryLoggingConfig", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json index 6fb129ef2480..474ec9c4888d 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json @@ -685,32 +685,28 @@ "description": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "allowedMethods": { "type": "array", "description": "An HTTP method that you allow the origin to run. *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``", "items": { "$ref": "#/definitions/CorsRuleAllowedMethods" - }, - "x-ms-identifiers": [] + } }, "allowedOrigins": { "type": "array", "description": "One or more origins you want customers to be able to access the bucket from.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exposedHeaders": { "type": "array", "description": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "id": { "type": "string", @@ -1027,8 +1023,7 @@ "description": "Contains the optional fields that are included in the inventory results.", "items": { "$ref": "#/definitions/InventoryConfigurationOptionalFields" - }, - "x-ms-identifiers": [] + } }, "prefix": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json index 5ff49bc300db..fbe009187a84 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json @@ -390,8 +390,7 @@ "description": "

An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in Amazon Web Services CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with SageMaker Notebook Instances.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "creationTime": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json index 697a95d33a64..8a5a2e021775 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json @@ -448,8 +448,7 @@ "description": "The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "loggingFilter": { "$ref": "#/definitions/LoggingFilterModelProperties", diff --git a/specification/awsconnector/shared/main.tsp b/specification/awsconnector/shared/main.tsp index e9a895637c67..95ce0c07b003 100644 --- a/specification/awsconnector/shared/main.tsp +++ b/specification/awsconnector/shared/main.tsp @@ -26,7 +26,7 @@ alias AwsCommonProperties = { @doc("AWS Tags") awsTags?: Record; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; }; diff --git a/specification/azuredependencymap/DependencyMap.Management/main.tsp b/specification/azuredependencymap/DependencyMap.Management/main.tsp index 951a71b49c8a..8fb7ffe2eca2 100644 --- a/specification/azuredependencymap/DependencyMap.Management/main.tsp +++ b/specification/azuredependencymap/DependencyMap.Management/main.tsp @@ -12,9 +12,7 @@ using Azure.ResourceManager; using Azure.Core; @armProviderNamespace -@service({ - title: "Microsoft.DependencyMap management service", -}) +@service(#{ title: "Microsoft.DependencyMap management service" }) @doc("Microsoft.DependencyMap management service") @versioned(Microsoft.DependencyMap.Versions) @armCommonTypesVersion("v3") @@ -36,7 +34,7 @@ model MapsResource is TrackedResource { @key("mapName") @segment("maps") @doc("Maps resource name") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } @@ -44,7 +42,7 @@ model MapsResource is TrackedResource { @doc("The properties of Maps resource") model MapsResourceProperties { @doc("Provisioning state of Maps resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -199,7 +197,7 @@ model DiscoverySourceResource @key("sourceName") @segment("discoverySources") @doc("discovery source resource") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } @@ -208,15 +206,15 @@ model DiscoverySourceResource @discriminator("sourceType") model DiscoverySourceResourceProperties { @doc("Provisioning state of Discovery Source resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("Source type of Discovery Source resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sourceType: SourceType; @doc("Source ArmId of Discovery Source resource") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sourceId: string; } diff --git a/specification/azurefleet/AzureFleet.Management/baseVirtualMachineProfile.tsp b/specification/azurefleet/AzureFleet.Management/baseVirtualMachineProfile.tsp index 4e6ae8137a81..66fd12c7fb56 100644 --- a/specification/azurefleet/AzureFleet.Management/baseVirtualMachineProfile.tsp +++ b/specification/azurefleet/AzureFleet.Management/baseVirtualMachineProfile.tsp @@ -108,7 +108,7 @@ model BaseVirtualMachineProfile { * will be added to VMSS Flex VM tags when creating/updating the VMSS VM Profile * with minimum api-version 2023-09-01. Examples: "2024-07-01T00:00:01.1234567+00:00" */ - @visibility("read") + @visibility(Lifecycle.Read) timeCreated?: utcDateTime; } @@ -151,7 +151,7 @@ model VirtualMachineScaleSetOSProfile { repair disks on Azure Linux VMs using the VMAccess Extension](https://learn.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) """) - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret adminPassword?: string; @@ -162,7 +162,7 @@ model VirtualMachineScaleSetOSProfile { * your VM, see [Using cloud-init to customize a Linux VM during * creation](https://learn.microsoft.com/azure/virtual-machines/linux/using-cloud-init) */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret customData?: string; @@ -187,7 +187,7 @@ model VirtualMachineScaleSetOSProfile { * Windows](https://learn.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "id exists inside sourceVault" - @OpenAPI.extension("x-ms-identifiers", ["sourceVault/id"]) + @OpenAPI.extension("x-ms-identifiers", #["sourceVault/id"]) secrets?: VaultSecretGroup[]; /** @@ -236,7 +236,7 @@ model WindowsConfiguration { * Specifies additional base-64 encoded XML formatted information that can be * included in the Unattend.xml file, which is used by Windows Setup. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) additionalUnattendContent?: AdditionalUnattendContent[]; /** @@ -287,7 +287,7 @@ model AdditionalUnattendContent { * the specified path and component. The XML must be less than 4KB and must * include the root element for the setting or feature that is being inserted. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret content?: string; } @@ -360,7 +360,7 @@ model WinRMConfiguration { /** * The list of Windows Remote Management listeners */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) listeners?: WinRMListener[]; } @@ -438,7 +438,7 @@ model SshConfiguration { /** * The list of SSH public keys used to authenticate with linux based VMs. */ - @OpenAPI.extension("x-ms-identifiers", ["path"]) + @OpenAPI.extension("x-ms-identifiers", #["path"]) publicKeys?: SshPublicKey[]; } @@ -524,7 +524,7 @@ model VaultSecretGroup { /** * The list of key vault references in SourceVault which contain certificates. */ - @OpenAPI.extension("x-ms-identifiers", ["certificateUrl"]) + @OpenAPI.extension("x-ms-identifiers", #["certificateUrl"]) vaultCertificates?: VaultCertificate[]; } @@ -598,7 +598,7 @@ model VirtualMachineScaleSetStorageProfile { * and VHDs for Azure virtual * machines](https://learn.microsoft.com/azure/virtual-machines/managed-disks-overview). */ - @OpenAPI.extension("x-ms-identifiers", ["name", "lun"]) + @OpenAPI.extension("x-ms-identifiers", #["name", "lun"]) dataDisks?: VirtualMachineScaleSetDataDisk[]; /** @@ -650,7 +650,7 @@ model ImageReference is SubResource { * image used to create the virtual machine. This readonly field differs from 'version', * only if the value specified in 'version' field is 'latest'. */ - @visibility("read") + @visibility(Lifecycle.Read) exactVersion?: string; /** @@ -921,7 +921,7 @@ model VirtualMachineScaleSetNetworkProfile { /** * The list of network configurations. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) networkInterfaceConfigurations?: VirtualMachineScaleSetNetworkConfiguration[]; /** @@ -996,7 +996,7 @@ model VirtualMachineScaleSetNetworkConfigurationProperties { /** * Specifies the IP configurations of the network interface. */ - @OpenAPI.extension("x-ms-identifiers", ["name"]) + @OpenAPI.extension("x-ms-identifiers", #["name"]) ipConfigurations: VirtualMachineScaleSetIPConfiguration[]; /** @@ -1150,7 +1150,7 @@ model VirtualMachineScaleSetPublicIPAddressConfigurationProperties { /** * The list of IP tags associated with the public IP address. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) ipTags?: VirtualMachineScaleSetIpTag[]; /** @@ -1383,7 +1383,7 @@ model VirtualMachineScaleSetExtension is SubResourceReadOnly { /** * Resource type */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** @@ -1443,14 +1443,14 @@ model VirtualMachineScaleSetExtensionProperties { */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "Converted legacy object to typespec https://github.com/Azure/azure-rest-api-specs/blob/d715112415eb08572ee96cc4bd77217aa44dedf1/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/virtualMachineScaleSet.json#L5002C1-L5009C11" #suppress "@azure-tools/typespec-azure-core/no-openapi" "Legacy" - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @OpenAPI.extension("x-ms-secret", true) protectedSettings?: Record; /** * The provisioning state, which only appears in the response. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: string; /** @@ -1495,7 +1495,7 @@ model SubResourceReadOnly { /** * Resource Id */ - @visibility("read") + @visibility(Lifecycle.Read) id?: armResourceIdentifier; } @@ -1572,7 +1572,7 @@ model ApplicationProfile { /** * Specifies the gallery applications that should be made available to the VM/VMSS */ - @OpenAPI.extension("x-ms-identifiers", ["packageReferenceId"]) + @OpenAPI.extension("x-ms-identifiers", #["packageReferenceId"]) galleryApplications?: VMGalleryApplication[]; } diff --git a/specification/azurefleet/AzureFleet.Management/common.tsp b/specification/azurefleet/AzureFleet.Management/common.tsp index 42650bba1b2b..54f6f6117058 100644 --- a/specification/azurefleet/AzureFleet.Management/common.tsp +++ b/specification/azurefleet/AzureFleet.Management/common.tsp @@ -14,7 +14,7 @@ namespace Microsoft.AzureFleet; @doc("ApiError for Fleet") model ApiError is ApiErrorBase { - @extension("x-ms-identifiers", ["message", "target"]) + @extension("x-ms-identifiers", #["message", "target"]) @doc("The API error details") details?: Array; diff --git a/specification/azurefleet/AzureFleet.Management/fleet.tsp b/specification/azurefleet/AzureFleet.Management/fleet.tsp index 6a6a21c975c4..30560ad5c536 100644 --- a/specification/azurefleet/AzureFleet.Management/fleet.tsp +++ b/specification/azurefleet/AzureFleet.Management/fleet.tsp @@ -71,7 +71,7 @@ union ProvisioningState { @doc("Details of the Compute Fleet.") model FleetProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; @@ -81,7 +81,7 @@ model FleetProperties { @doc("Configuration Options for Regular instances in Compute Fleet.") regularPriorityProfile?: RegularPriorityProfile; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("List of VM sizes supported for Compute Fleet") vmSizesProfile: Array; @@ -97,11 +97,11 @@ model FleetProperties { computeProfile: ComputeProfile; @doc("Specifies the time at which the Compute Fleet is created.") - @visibility("read") + @visibility(Lifecycle.Read) timeCreated?: utcDateTime; @doc("Specifies the ID which uniquely identifies a Compute Fleet.") - @visibility("read") + @visibility(Lifecycle.Read) uniqueId?: string; } @@ -427,7 +427,7 @@ model VMAttributes { """) localStorageInGiB?: VMAttributeMinMaxDouble; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc(""" The local storage disk types specified as a list. LocalStorageSupport should be set to "Included" or "Required" to use this VMAttribute. If localStorageSupport is "Excluded", this VMAttribute can not be used. @@ -460,7 +460,7 @@ model VMAttributes { """) acceleratorSupport?: VMAttributeSupport; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc(""" The accelerator manufacturers specified as a list. acceleratorSupport should be set to "Included" or "Required" to use this VMAttribute. @@ -468,7 +468,7 @@ model VMAttributes { """) acceleratorManufacturers?: Array; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc(""" The accelerator types specified as a list. acceleratorSupport should be set to "Included" or "Required" to use this VMAttribute. If acceleratorSupport is "Excluded", this VMAttribute can not be used. @@ -482,22 +482,22 @@ model VMAttributes { """) acceleratorCount?: VMAttributeMinMaxInteger; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("The VM category specified as a list. Optional parameter.") vmCategories?: Array; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("The VM architecture types specified as a list. Optional parameter.") architectureTypes?: Array; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("The VM CPU manufacturers specified as a list. Optional parameter.") cpuManufacturers?: Array; @doc("Specifies whether the VMSize supporting burstable capability should be used to build Fleet or not.") burstableSupport?: VMAttributeSupport; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("Specifies which VMSizes should be excluded while building Fleet. Optional parameter.") excludedVMSizes?: Array; } @@ -520,7 +520,7 @@ model LocationProfile { @added(Versions.v2024_11_01) @doc("Represents the configuration for additional locations where Fleet resources may be deployed.") model AdditionalLocationsProfile { - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("The list of location profiles.") locationProfiles: Array; } @@ -534,7 +534,7 @@ interface Fleets { Fleet, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/azurefleet/AzureFleet.Management/main.tsp b/specification/azurefleet/AzureFleet.Management/main.tsp index a27c615626af..845f7c95f76c 100644 --- a/specification/azurefleet/AzureFleet.Management/main.tsp +++ b/specification/azurefleet/AzureFleet.Management/main.tsp @@ -14,9 +14,7 @@ using TypeSpec.Versioning; using Azure.ResourceManager; @armProviderNamespace("Microsoft.AzureFleet") -@service({ - title: "Microsoft.AzureFleet", -}) +@service(#{ title: "Microsoft.AzureFleet" }) @versioned(Versions) namespace Microsoft.AzureFleet; diff --git a/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp b/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp index 788134b8c0fc..63cd913813c6 100644 --- a/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp +++ b/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp @@ -18,7 +18,7 @@ model VirtualMachineScaleSet { @doc("The name of the virtualMachineScaleSet") @key("virtualMachineScaleSetName") @segment("virtualMachineScaleSets") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; @@ -26,26 +26,26 @@ model VirtualMachineScaleSet { The compute RP resource id of the virtualMachineScaleSet "subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}" """) - @visibility("read") + @visibility(Lifecycle.Read) id: armResourceIdentifier; @doc("Type of the virtualMachineScaleSet") - @visibility("read") + @visibility(Lifecycle.Read) type?: string; @removed(Versions.v2024_05_01_preview) @doc("This represents the Provisioning State of the VMSS in response to the last operation that was performed on it by Azure Fleet resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState: ProvisioningState; @added(Versions.v2024_05_01_preview) @doc("This represents the operationStatus of the VMSS in response to the last operation that was performed on it by Azure Fleet resource.") - @visibility("read") + @visibility(Lifecycle.Read) operationStatus: ProvisioningState; @added(Versions.v2024_05_01_preview) @doc("Error Information when `operationStatus` is `Failed`") - @visibility("read") + @visibility(Lifecycle.Read) error?: ApiError; } diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp index 6495c251c3b6..2c00ccc27b29 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp @@ -104,9 +104,7 @@ interface AzureLargeInstances { @OpenAPI.extension("x-ms-long-running-operation", true) @OpenAPI.extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @armResourceAction(TResource) @post diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/main.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/main.tsp index 33a93a0febf6..fa0c726addb9 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/main.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/main.tsp @@ -15,9 +15,7 @@ using TypeSpec.Versioning; @Azure.ResourceManager.armCommonTypesVersion("v5") @armProviderNamespace -@service({ - title: "Azure Large Instance", -}) +@service(#{ title: "Azure Large Instance" }) @doc("The AzureLargeInstance Management client") @versioned(Versions) namespace Microsoft.AzureLargeInstance; diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp index 0df5344c89c0..a1a279094479 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp @@ -295,7 +295,7 @@ model AzureLargeInstanceProperties { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "azureLargeInstanceId") @doc("Specifies the Azure Large Instance unique ID.") - @visibility("read") + @visibility(Lifecycle.Read) azureLargeInstanceIdOld?: string; @added(Versions.v2024_08_01_preview) @@ -305,7 +305,7 @@ model AzureLargeInstanceProperties { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "powerState") @doc("Resource power state") - @visibility("read") + @visibility(Lifecycle.Read) powerStateOld?: AzureLargeInstancePowerStateEnum; @added(Versions.v2024_08_01_preview) @@ -315,7 +315,7 @@ model AzureLargeInstanceProperties { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "proximityPlacementGroup") @doc("Resource proximity placement group") - @visibility("read") + @visibility(Lifecycle.Read) proximityPlacementGroupOld?: string; @added(Versions.v2024_08_01_preview) @@ -325,7 +325,7 @@ model AzureLargeInstanceProperties { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "hwRevision") @doc("Hardware revision of an Azure Large Instance") - @visibility("read") + @visibility(Lifecycle.Read) hwRevisionOld?: string; @added(Versions.v2024_08_01_preview) @@ -340,7 +340,7 @@ model AzureLargeInstanceProperties { partnerNodeId?: string; @doc("State of provisioning of the AzureLargeInstance") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureLargeInstanceProvisioningStatesEnum; } @@ -349,7 +349,7 @@ model HardwareProfile { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "hardwareType") @doc("Name of the hardware type (vendor and/or their product name)") - @visibility("read") + @visibility(Lifecycle.Read) hardwareTypeOld?: AzureLargeInstanceHardwareTypeNamesEnum; @added(Versions.v2024_08_01_preview) @@ -359,7 +359,7 @@ model HardwareProfile { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "azureLargeInstanceSize") @doc("Specifies the Azure Large Instance SKU.") - @visibility("read") + @visibility(Lifecycle.Read) azureLargeInstanceSizeOld?: AzureLargeInstanceSizeNamesEnum; @added(Versions.v2024_08_01_preview) @@ -372,7 +372,7 @@ model StorageProfile { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "nfsIpAddress") @doc("IP Address to connect to storage.") - @visibility("read") + @visibility(Lifecycle.Read) nfsIpAddressOld?: string; @added(Versions.v2024_08_01_preview) @@ -383,7 +383,7 @@ model StorageProfile { Specifies information about the operating system disk used by Azure Large Instance. """) - @extension("x-ms-identifiers", []) + @identifiers(#[]) osDisks?: Disk[]; } @@ -401,7 +401,7 @@ model Disk { identify data disks within the VM and therefore must be unique for each data disk attached to a VM. """) - @visibility("read") + @visibility(Lifecycle.Read) lun?: int32; } @@ -413,7 +413,7 @@ model OsProfile { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "osType") @doc("This property allows you to specify the type of the OS.") - @visibility("read") + @visibility(Lifecycle.Read) osTypeOld?: string; @added(Versions.v2024_08_01_preview) @@ -423,7 +423,7 @@ model OsProfile { @removed(Versions.v2024_08_01_preview) @renamedFrom(Versions.v2024_08_01_preview, "version") @doc("Specifies version of operating system.") - @visibility("read") + @visibility(Lifecycle.Read) versionOld?: string; @added(Versions.v2024_08_01_preview) @@ -437,13 +437,13 @@ model OsProfile { @doc("Specifies the network settings for the Azure Large Instance disks.") model NetworkProfile { @doc("Specifies the network interfaces for the Azure Large Instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) networkInterfaces?: IpAddress[]; @removed(Versions.v2024_08_01_preview) @doc("Specifies the circuit id for connecting to express route.") @renamedFrom(Versions.v2024_08_01_preview, "circuitId") - @visibility("read") + @visibility(Lifecycle.Read) circuitIdOld?: string; @added(Versions.v2024_08_01_preview) diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/AttestationStatus.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/AttestationStatus.tsp index 611943235f68..5155f69c333a 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/AttestationStatus.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/AttestationStatus.tsp @@ -21,7 +21,7 @@ model AttestationStatus is ProxyResource { @pattern("^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$") @key("attestationStatus") @segment("attestationStatus") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp index 993036234bbc..b06d03fefc48 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp @@ -21,7 +21,7 @@ model GalleryImage is TrackedResource { @path @key("galleryImageName") @segment("galleryImages") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") @@ -42,7 +42,7 @@ interface GalleryImages { >; @doc("The operation to update a gallery image.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; @doc("The operation to delete a gallery image.") diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp index 7d09e4b71034..0529a1d8962d 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp @@ -20,7 +20,7 @@ model GuestAgent is ProxyResource { @pattern("^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$") @key("guestAgent") @segment("guestAgents") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/HybridIdentityMetadata.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/HybridIdentityMetadata.tsp index ed7981b49563..0cbdcba1c4b4 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/HybridIdentityMetadata.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/HybridIdentityMetadata.tsp @@ -25,7 +25,7 @@ model HybridIdentityMetadata @pattern("^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$") @key("hybridIdentityMetadatum") @segment("hybridIdentityMetadata") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp index 41cd2770fb1a..91615d993ba4 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp @@ -21,7 +21,7 @@ model LogicalNetwork is TrackedResource { @path @key("logicalNetworkName") @segment("logicalNetworks") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") @@ -42,7 +42,7 @@ interface LogicalNetworks { >; @doc("The operation to update a logical network.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; @doc("The operation to delete a logical network.") diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp index a925b023a0c0..a52f369b8384 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp @@ -22,7 +22,7 @@ model MarketplaceGalleryImage @path @key("marketplaceGalleryImageName") @segment("marketplaceGalleryImages") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") @@ -43,7 +43,7 @@ interface MarketplaceGalleryImages { >; @doc("The operation to update a marketplace gallery image.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; @doc("The operation to delete a marketplace gallery image.") diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp index 53049a1902cf..6eb0a10798e0 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp @@ -23,7 +23,7 @@ model NetworkInterface is TrackedResource { @path @key("networkInterfaceName") @segment("networkInterfaces") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") @@ -44,14 +44,14 @@ interface NetworkInterfaces { >; @doc("The operation to update a network interface.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) @removed(Versions.v2025_02_01_preview) @sharedRoute @renamedFrom(Versions.v2025_02_01_preview, "update") updateOld is ArmCustomPatchAsync; @doc("The operation to update a network interface.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) @added(Versions.v2025_02_01_preview) @sharedRoute update is ArmCustomPatchAsync< diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp index 8c8b2e70eac7..cd111e0e7d80 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp @@ -17,7 +17,7 @@ model NetworkSecurityGroup is TrackedResource { @path @key("networkSecurityGroupName") @segment("networkSecurityGroups") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp index 140e5b58dc69..aab391204cd7 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp @@ -18,7 +18,7 @@ model SecurityRule is ProxyResource { @path @key("securityRuleName") @segment("securityRules") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp index f2c596107f20..9b5a70be7abe 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp @@ -20,7 +20,7 @@ model StorageContainer is TrackedResource { @path @key("storageContainerName") @segment("storageContainers") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp index 466b56043ca1..c5d3483bf7c0 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp @@ -22,7 +22,7 @@ model VirtualHardDisk is TrackedResource { @path @key("virtualHardDiskName") @segment("virtualHardDisks") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The extendedLocation of the resource.") @@ -49,7 +49,7 @@ interface VirtualHardDisks { updateOld is ArmTagsPatchAsync; @doc("The operation to update a virtual hard disk.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) @added(Versions.v2025_02_01_preview) @sharedRoute update is ArmCustomPatchAsync; diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp index d2afc88903bd..22a32443df09 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp @@ -21,7 +21,7 @@ model VirtualMachineInstance @pattern("^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,62}[a-zA-Z0-9]$") @key("virtualMachineInstance") @segment("virtualMachineInstances") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; @@ -45,7 +45,7 @@ interface VirtualMachineInstances { >; @doc("The operation to update a virtual machine instance.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< VirtualMachineInstance, VirtualMachineInstanceUpdateRequest diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/main.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/main.tsp index f07b3cdd7fb4..cb1940aeb76f 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/main.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/main.tsp @@ -27,9 +27,7 @@ using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-core/casing-style" "HCI itself is a short form." #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Operations API is still spec'd, but now resides in another spec in this namespace." @armProviderNamespace -@service({ - title: "Microsoft.AzureStackHCI", -}) +@service(#{ title: "Microsoft.AzureStackHCI" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.AzureStackHCI; diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp index 52d43dbdda3a..68ecd1c81c2c 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp @@ -502,7 +502,7 @@ model StorageContainerArmReference { @doc("The ARM ID for a Gallery Image.") model ImageArmReference { @doc("The ARM ID for an image resource used by the virtual machine instance.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) id?: armResourceIdentifier<[ { type: "Microsoft.AzureStackHCI/galleryImages"; @@ -557,11 +557,11 @@ model GalleryImageProperties { version?: GalleryImageVersion; @doc("Provisioning state of the gallery image.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("The observed state of gallery images") - @visibility("read") + @visibility(Lifecycle.Read) status?: GalleryImageStatus; @added(Versions.v2024_05_01_preview) @@ -623,7 +623,7 @@ model GalleryImageVersionStorageProfile { model GalleryDiskImage { #suppress "@azure-tools/typespec-azure-core/casing-style" "MB is a short form." @doc("This property indicates the size of the VHD to be created.") - @visibility("read") + @visibility(Lifecycle.Read) sizeInMB?: int64; } @@ -690,18 +690,18 @@ model LogicalNetworkProperties { dhcpOptions?: LogicalNetworkPropertiesDhcpOptions; @doc("Subnet - list of subnets under the logical network") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) subnets?: Subnet[]; @doc("Provisioning state of the logical network.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("name of the network switch to be used for VMs") vmSwitchName?: string; @doc("The observed state of logical networks") - @visibility("read") + @visibility(Lifecycle.Read) status?: LogicalNetworkStatus; } @@ -735,7 +735,7 @@ model SubnetProperties { ipAllocationMethod?: IpAllocationMethodEnum; @doc("IPConfigurationReferences - list of IPConfigurationReferences") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipConfigurationReferences?: SubnetIpConfigurationReference[]; @doc("NetworkSecurityGroup - Network Security Group attached to the logical network.") @@ -745,7 +745,7 @@ model SubnetProperties { routeTable?: RouteTable; @doc("network associated pool of IP Addresses") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipPools?: IPPool[]; @doc("Vlan to use for the subnet") @@ -755,15 +755,15 @@ model SubnetProperties { @doc("Route table resource.") model RouteTable { @doc("A unique read-only string that changes whenever the resource is updated.") - @visibility("read") + @visibility(Lifecycle.Read) etag?: string; @doc("Resource name.") - @visibility("read") + @visibility(Lifecycle.Read) name?: string; @doc("Resource type.") - @visibility("read") + @visibility(Lifecycle.Read) type?: string; #suppress "deprecated" "LEGACY flattening" @@ -775,7 +775,7 @@ model RouteTable { @doc("RouteTablePropertiesFormat - Route Table resource.") model RouteTableProperties { @doc("Collection of routes contained within a route table.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) routes?: Route[]; } @@ -825,31 +825,31 @@ model IPPool { @doc("IP Pool info") model IPPoolInfo { @doc("Number of IP addresses allocated from the IP Pool") - @visibility("read") + @visibility(Lifecycle.Read) used?: string; @doc("Number of IP addresses available in the IP Pool") - @visibility("read") + @visibility(Lifecycle.Read) available?: string; } @doc("Network Security Group resource.") model NetworkSecurityGroupProperties { @doc("A collection of references to network interfaces that are currently using this NSG.") - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @extension("x-ms-identifiers", #[]) networkInterfaces?: NetworkInterfaceArmReference[]; @doc("A collection of references to logical networks that are currently using this NSG") - @visibility("read") + @visibility(Lifecycle.Read) subnets?: LogicalNetworkArmReference[]; @doc("The provisioning state of the network security group resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("The observed state of Network Security Group") - @visibility("read") + @visibility(Lifecycle.Read) @added(Versions.v2025_02_01_preview) status?: NetworkSecurityGroupStatus; } @@ -907,14 +907,14 @@ model SecurityRuleProperties { direction: SecurityRuleDirection; @doc("Provisioning state of the SR") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; } @doc("Properties under the network interface resource") model NetworkInterfaceProperties { @doc("IPConfigurations - A list of IPConfigurations of the network interface.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) ipConfigurations?: IPConfiguration[]; @doc("MacAddress - The MAC address of the network interface.") @@ -928,11 +928,11 @@ model NetworkInterfaceProperties { createFromLocal?: boolean = false; @doc("Provisioning state of the network interface.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("The observed state of network interfaces") - @visibility("read") + @visibility(Lifecycle.Read) status?: NetworkInterfaceStatus; @doc("NetworkSecurityGroup - Network Security Group attached to the network interface.") @@ -943,7 +943,7 @@ model NetworkInterfaceProperties { @doc("InterfaceIPConfiguration IPConfiguration in a network interface.") model IPConfiguration { @doc("Name - The name of the resource that is unique within a resource group. This name can be used to access the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @pattern("^[a-zA-Z0-9]$|^[a-zA-Z0-9][-._a-zA-Z0-9]{0,78}[_a-zA-Z0-9]$") name?: string; @@ -956,12 +956,12 @@ model IPConfiguration { @doc("InterfaceIPConfigurationPropertiesFormat properties of IP configuration.") model IPConfigurationProperties { @doc("Gateway for network interface") - @visibility("read") + @visibility(Lifecycle.Read) gateway?: string; #suppress "@azure-tools/typespec-azure-core/casing-style" "IP is a short form. The casing is correct." @doc("prefixLength for network interface") - @visibility("read") + @visibility(Lifecycle.Read) prefixLength?: string; #suppress "@azure-tools/typespec-azure-core/casing-style" "IP is a short form. The casing is correct." @@ -1055,11 +1055,11 @@ model MarketplaceGalleryImageProperties { version?: GalleryImageVersion; @doc("Provisioning state of the marketplace gallery image.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("The observed state of marketplace gallery images") - @visibility("read") + @visibility(Lifecycle.Read) status?: MarketplaceGalleryImageStatus; } @@ -1138,11 +1138,11 @@ model StorageContainerProperties { path: string; @doc("Provisioning state of the storage container.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("The observed state of storage containers") - @visibility("read") + @visibility(Lifecycle.Read) status?: StorageContainerStatus; } @@ -1217,7 +1217,7 @@ model VirtualHardDiskProperties { createFromLocal?: boolean = false; @doc("Provisioning state of the virtual hard disk.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("Storage ContainerID of the storage container to be used for VHD") @@ -1228,7 +1228,7 @@ model VirtualHardDiskProperties { ]>; @doc("The observed state of virtual hard disks") - @visibility("read") + @visibility(Lifecycle.Read) status?: VirtualHardDiskStatus; } @@ -1370,22 +1370,22 @@ model VirtualMachineInstanceProperties { createFromLocal?: boolean = false; @doc("Provisioning state of the virtual machine instance.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("The virtual machine instance view.") - @visibility("read") + @visibility(Lifecycle.Read) instanceView?: VirtualMachineInstanceView; @doc("The observed state of virtual machine instances") - @visibility("read") + @visibility(Lifecycle.Read) status?: VirtualMachineInstanceStatus; @doc("Guest agent install status.") guestAgentInstallStatus?: GuestAgentInstallStatus; @doc("Unique identifier for the vm resource.") - @visibility("read") + @visibility(Lifecycle.Read) vmId?: string; @doc("Unique identifier defined by ARC to identify the guest of the VM.") @@ -1410,7 +1410,7 @@ model VirtualMachineInstancePropertiesHardwareProfile { #suppress "@azure-tools/typespec-azure-core/casing-style" "GPU is a short form. It is the correct case." @added(Versions.v2024_05_01_preview) @doc("virtualMachineGPUs - list of gpus to be attached to the virtual machine instance") - @extension("x-ms-identifiers", []) + @identifiers(#[]) virtualMachineGPUs?: VirtualMachineInstancePropertiesHardwareProfileVirtualMachineGPU[]; } @@ -1446,14 +1446,14 @@ model VirtualMachineInstancePropertiesHardwareProfileVirtualMachineGPU { @doc("NetworkProfile - describes the network configuration the virtual machine instance") model VirtualMachineInstancePropertiesNetworkProfile { @doc("NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) networkInterfaces?: NetworkInterfaceArmReference[]; } @doc("OsProfile - describes the configuration of the operating system and sets login data") model VirtualMachineInstancePropertiesOsProfile { @doc("AdminPassword - admin password") - @visibility("create") + @visibility(Lifecycle.Create) @secret adminPassword?: string; @@ -1490,7 +1490,7 @@ model VirtualMachineInstancePropertiesOsProfileLinuxConfiguration { @doc("SSH configuration for Linux based VMs running on Azure") model SshConfiguration { @doc("The list of SSH public keys used to authenticate with linux based VMs.") - @extension("x-ms-identifiers", ["path"]) + @identifiers(#["path"]) publicKeys?: SshPublicKey[]; } @@ -1548,7 +1548,7 @@ model VirtualMachineInstancePropertiesStorageProfile { dataDisks?: VirtualHardDiskArmReference[]; @doc("Which Image to use for the virtual machine instance") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) imageReference?: ImageArmReference; @doc("VHD to attach as OS disk") @@ -1617,7 +1617,7 @@ model VirtualMachineConfigAgentInstanceView { vmConfigAgentVersion?: string; @doc("The resource status information.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) statuses?: InstanceViewStatus[]; } @@ -1667,35 +1667,35 @@ model VirtualMachineInstanceStatusProvisioningStatus { @doc("Defines the status of a guest agent installation.") model GuestAgentInstallStatus { @doc("Specifies the VM's unique SMBIOS ID.") - @visibility("read") + @visibility(Lifecycle.Read) vmUuid?: string; @doc("The installation status of the hybrid machine agent installation.") - @visibility("read") + @visibility(Lifecycle.Read) status?: StatusTypes; @doc("The time of the last status change.") - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastStatusChange?: utcDateTime; @doc("The hybrid machine agent full version.") - @visibility("read") + @visibility(Lifecycle.Read) agentVersion?: string; @doc("Details about the error state.") - @visibility("read") + @visibility(Lifecycle.Read) errorDetails?: Azure.ResourceManager.Foundations.ErrorDetail[]; } @doc("Identity for the resource.") model Identity { @doc("The principal ID of resource identity. The value must be an UUID.") - @visibility("read") + @visibility(Lifecycle.Read) principalId?: string; @doc("The tenant ID of resource. The value must be an UUID.") - @visibility("read") + @visibility(Lifecycle.Read) tenantId?: string; @doc("The identity type.") @@ -1741,7 +1741,7 @@ model HardwareProfileUpdate { #suppress "@azure-tools/typespec-azure-core/casing-style" "GPU is a short form. It is the correct case." @added(Versions.v2024_05_01_preview) @doc("virtualMachineGPUs - updated list of GPUs on the virtual machine instance") - @extension("x-ms-identifiers", []) + @identifiers(#[]) virtualMachineGPUs?: VirtualMachineInstancePropertiesHardwareProfileVirtualMachineGPU[]; } @@ -1754,7 +1754,7 @@ model StorageProfileUpdate { @doc("NetworkProfile - describes the network update configuration the virtual machine instance") model NetworkProfileUpdate { @doc("NetworkInterfaces - list of network interfaces to be attached to the virtual machine instance") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) networkInterfaces?: NetworkInterfaceArmReference[]; } @@ -1801,56 +1801,56 @@ model HybridIdentityMetadataProperties { publicKey?: string; @doc("Identity for the resource.") - @visibility("read") + @visibility(Lifecycle.Read) identity?: Identity; @doc("Provisioning state of the virtual machine instance.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; } @doc("Defines the attestation status properties") model AttestationStatusProperties { @doc("The status of whether secure boot is enabled.") - @visibility("read") + @visibility(Lifecycle.Read) attestSecureBootEnabled?: AttestSecureBootPropertyEnum = AttestSecureBootPropertyEnum.Unknown; @doc("The status of whether attestation certificate is validated.") - @visibility("read") + @visibility(Lifecycle.Read) attestationCertValidated?: AttestCertPropertyEnum = AttestCertPropertyEnum.Unknown; @doc("The status of whether the list of boot integrity properties is validated.") - @visibility("read") + @visibility(Lifecycle.Read) bootIntegrityValidated?: AttestBootIntegrityPropertyEnum = AttestBootIntegrityPropertyEnum.Unknown; @doc("kernel version string for Linux VM.") - @visibility("read") + @visibility(Lifecycle.Read) linuxKernelVersion?: string; @doc("The health status of attestation validation and parsing") - @visibility("read") + @visibility(Lifecycle.Read) healthStatus?: AttestHealthStatusEnum = AttestHealthStatusEnum.Unknown; @doc("The time stamp of the last time attestation token is validated by relying party service.") - @visibility("read") + @visibility(Lifecycle.Read) timestamp?: string; @doc("The error message of attestation validation and parsing") - @visibility("read") + @visibility(Lifecycle.Read) errorMessage?: string; @doc("Provisioning state of the virtual machine instance.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; @doc("The hardware platform information from attestation token. This only applies to Confidential VM.") - @visibility("read") + @visibility(Lifecycle.Read) @added(Versions.v2024_08_01_preview) attestHardwarePlatform?: AttestHWPlatformEnum; @added(Versions.v2024_08_01_preview) @doc("The managed disk security encryption type from attestation token. This only applies to Confidential VM.") - @visibility("read") + @visibility(Lifecycle.Read) attestDiskSecurityEncryptionType?: AttestDiskSecurityEncryptionTypeEnum; } @@ -1863,11 +1863,11 @@ model GuestAgentProperties { provisioningAction?: ProvisioningAction; @doc("The guest agent status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: string; @doc("Provisioning state of the virtual machine instance.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningStateEnum; } @@ -1877,7 +1877,7 @@ model GuestCredential { username?: string; @doc("The password to connect with the guest.") - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret password?: string; } diff --git a/specification/azurestackhci/Operations.Management/main.tsp b/specification/azurestackhci/Operations.Management/main.tsp index 9be1dcc0be51..a5d206014ad9 100644 --- a/specification/azurestackhci/Operations.Management/main.tsp +++ b/specification/azurestackhci/Operations.Management/main.tsp @@ -14,9 +14,7 @@ using TypeSpec.Versioning; */ #suppress "@azure-tools/typespec-azure-core/casing-style" "HCI itself is a short form." @armProviderNamespace -@service({ - title: "Microsoft.AzureStackHCI", -}) +@service(#{ title: "Microsoft.AzureStackHCI" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.AzureStackHCI; diff --git a/specification/batch/Azure.Batch/client.tsp b/specification/batch/Azure.Batch/client.tsp index 7e45b39dc549..6457e77203e7 100644 --- a/specification/batch/Azure.Batch/client.tsp +++ b/specification/batch/Azure.Batch/client.tsp @@ -314,7 +314,6 @@ interface BatchClient { @@access(Azure.Batch.BatchTaskAddCollectionResult, Access.public, "java"); @@access(Azure.Batch.BatchTask, Access.public, "java"); @@access(Azure.Batch.BatchTaskListSubtasksResult, Access.public, "java"); -@@access(Azure.Batch.BatchTaskFileClientPathContent, Access.public, "java"); @@access(Azure.Batch.BatchNodeFileListResult, Access.public, "java"); @@access(Azure.Batch.BatchNodeUserCreateContent, Access.public, "java"); @@access(Azure.Batch.BatchNodeUserUpdateContent, Access.public, "java"); @@ -329,6 +328,5 @@ interface BatchClient { @@access(Azure.Batch.BatchNodeListResult, Access.public, "java"); @@access(Azure.Batch.BatchNodeVMExtension, Access.public, "java"); @@access(Azure.Batch.BatchNodeVMExtensionListResult, Access.public, "java"); -@@access(Azure.Batch.BatchNodeFileClientPathContent, Access.public, "java"); @@access(Azure.Batch.BatchNodeFileListResult, Access.public, "java"); @@access(Azure.Batch.BatchError, Access.public, "java"); diff --git a/specification/batch/Azure.Batch/main.tsp b/specification/batch/Azure.Batch/main.tsp index 6643904bee92..eca5e0c0c12d 100644 --- a/specification/batch/Azure.Batch/main.tsp +++ b/specification/batch/Azure.Batch/main.tsp @@ -5,9 +5,7 @@ import "./routes.tsp"; using TypeSpec.Http; using TypeSpec.Versioning; -@service({ - title: "Azure Batch", -}) +@service(#{ title: "Azure Batch" }) @versioned(Azure.Batch.Versions) @doc("Azure Batch provides Cloud-scale job scheduling and compute management.") @server( diff --git a/specification/batch/Azure.Batch/models.tsp b/specification/batch/Azure.Batch/models.tsp index e70ef5d6d6d0..31e455ffe38d 100644 --- a/specification/batch/Azure.Batch/models.tsp +++ b/specification/batch/Azure.Batch/models.tsp @@ -861,7 +861,7 @@ model ImageReference { virtualMachineImageId?: string; @doc("The specific version of the platform image or marketplace image used to create the node. This read-only field differs from 'version' only if the value specified for 'version' when the pool was created was 'latest'.") - @visibility("read") + @visibility(Lifecycle.Read) exactVersion?: string; @doc("The shared gallery image unique identifier. This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call.") @@ -1146,43 +1146,43 @@ model FileProperties { """) model BatchJobSchedule { @doc("A string that uniquely identifies the schedule within the Account.") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("The display name for the schedule.") - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; @doc("The URL of the Job Schedule.") - @visibility("read") + @visibility(Lifecycle.Read) url?: string; @doc("The ETag of the Job Schedule. This is an opaque string. You can use it to detect whether the Job Schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime.") - @visibility("read") + @visibility(Lifecycle.Read) eTag?: string; @doc("The last modified time of the Job Schedule. This is the last time at which the schedule level data, such as the Job specification or recurrence information, changed. It does not factor in job-level changes such as new Jobs being created or Jobs changing state.") - @visibility("read") + @visibility(Lifecycle.Read) lastModified?: utcDateTime; @doc("The creation time of the Job Schedule.") - @visibility("read") + @visibility(Lifecycle.Read) creationTime?: utcDateTime; @doc("The current state of the Job Schedule.") - @visibility("read") + @visibility(Lifecycle.Read) state?: BatchJobScheduleState; @doc("The time at which the Job Schedule entered the current state.") - @visibility("read") + @visibility(Lifecycle.Read) stateTransitionTime?: utcDateTime; @doc("The previous state of the Job Schedule. This property is not present if the Job Schedule is in its initial active state.") - @visibility("read") + @visibility(Lifecycle.Read) previousState?: BatchJobScheduleState; @doc("The time at which the Job Schedule entered its previous state. This property is not present if the Job Schedule is in its initial active state.") - @visibility("read") + @visibility(Lifecycle.Read) previousStateTransitionTime?: utcDateTime; @doc("The schedule according to which Jobs will be created. All times are fixed respective to UTC and are not impacted by daylight saving time.") @@ -1192,14 +1192,14 @@ model BatchJobSchedule { jobSpecification: BatchJobSpecification; @doc("Information about Jobs that have been and will be run under this schedule.") - @visibility("read") + @visibility(Lifecycle.Read) executionInfo?: BatchJobScheduleExecutionInfo; @doc("A list of name-value pairs associated with the schedule as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code.") metadata?: MetadataItem[]; @doc("The lifetime resource usage statistics for the Job Schedule. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.") - @visibility("read") + @visibility(Lifecycle.Read) stats?: BatchJobScheduleStatistics; } @@ -2358,47 +2358,47 @@ model BatchJobScheduleListResult { @doc("An Azure Batch Job.") model BatchJob { @doc("A string that uniquely identifies the Job within the Account. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case).") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("The display name for the Job.") - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; @doc("Whether Tasks in the Job can define dependencies on each other. The default is false.") - @visibility("read") + @visibility(Lifecycle.Read) usesTaskDependencies?: boolean; @doc("The URL of the Job.") - @visibility("read") + @visibility(Lifecycle.Read) url?: string; @doc("The ETag of the Job. This is an opaque string. You can use it to detect whether the Job has changed between requests. In particular, you can be pass the ETag when updating a Job to specify that your changes should take effect only if nobody else has modified the Job in the meantime.") - @visibility("read") + @visibility(Lifecycle.Read) eTag?: string; @doc("The last modified time of the Job. This is the last time at which the Job level data, such as the Job state or priority, changed. It does not factor in task-level changes such as adding new Tasks or Tasks changing state.") - @visibility("read") + @visibility(Lifecycle.Read) lastModified?: utcDateTime; @doc("The creation time of the Job.") - @visibility("read") + @visibility(Lifecycle.Read) creationTime?: utcDateTime; @doc("The current state of the Job.") - @visibility("read") + @visibility(Lifecycle.Read) state?: BatchJobState; @doc("The time at which the Job entered its current state.") - @visibility("read") + @visibility(Lifecycle.Read) stateTransitionTime?: utcDateTime; @doc("The previous state of the Job. This property is not set if the Job is in its initial Active state.") - @visibility("read") + @visibility(Lifecycle.Read) previousState?: BatchJobState; @doc("The time at which the Job entered its previous state. This property is not set if the Job is in its initial Active state.") - @visibility("read") + @visibility(Lifecycle.Read) previousStateTransitionTime?: utcDateTime; @doc("The priority of the Job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.") @@ -2414,19 +2414,19 @@ model BatchJob { constraints?: BatchJobConstraints; @doc("Details of a Job Manager Task to be launched when the Job is started.") - @visibility("read") + @visibility(Lifecycle.Read) jobManagerTask?: BatchJobManagerTask; @doc("The Job Preparation Task. The Job Preparation Task is a special Task run on each Compute Node before any other Task of the Job.") - @visibility("read") + @visibility(Lifecycle.Read) jobPreparationTask?: BatchJobPreparationTask; @doc("The Job Release Task. The Job Release Task is a special Task run at the end of the Job on each Compute Node that has run any other Task of the Job.") - @visibility("read") + @visibility(Lifecycle.Read) jobReleaseTask?: BatchJobReleaseTask; @doc("The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks). Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value.") - @visibility("read") + @visibility(Lifecycle.Read) commonEnvironmentSettings?: EnvironmentSetting[]; @doc("The Pool settings associated with the Job.") @@ -2436,22 +2436,22 @@ model BatchJob { onAllTasksComplete?: OnAllBatchTasksComplete; @doc("The action the Batch service should take when any Task in the Job fails. A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.") - @visibility("read") + @visibility(Lifecycle.Read) onTaskFailure?: OnBatchTaskFailure; @doc("The network configuration for the Job.") - @visibility("read") + @visibility(Lifecycle.Read) networkConfiguration?: BatchJobNetworkConfiguration; @doc("A list of name-value pairs associated with the Job as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code.") metadata?: MetadataItem[]; @doc("The execution information for the Job.") - @visibility("read") + @visibility(Lifecycle.Read) executionInfo?: BatchJobExecutionInfo; @doc("Resource usage statistics for the entire lifetime of the Job. This property is populated only if the BatchJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.") - @visibility("read") + @visibility(Lifecycle.Read) stats?: BatchJobStatistics; } @@ -2774,145 +2774,145 @@ model BatchTaskSlotCounts { @doc("A Pool in the Azure Batch service.") model BatchPool { @doc("A string that uniquely identifies the Pool within the Account. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case).") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("The display name for the Pool. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.") - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; @doc("The URL of the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) url?: string; @doc("The ETag of the Pool. This is an opaque string. You can use it to detect whether the Pool has changed between requests. In particular, you can be pass the ETag when updating a Pool to specify that your changes should take effect only if nobody else has modified the Pool in the meantime.") - @visibility("read") + @visibility(Lifecycle.Read) eTag?: string; @doc("The last modified time of the Pool. This is the last time at which the Pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a Compute Node changing state.") - @visibility("read") + @visibility(Lifecycle.Read) lastModified?: utcDateTime; @doc("The creation time of the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) creationTime?: utcDateTime; @doc("The current state of the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) state?: BatchPoolState; @doc("The time at which the Pool entered its current state.") - @visibility("read") + @visibility(Lifecycle.Read) stateTransitionTime?: utcDateTime; @doc("Whether the Pool is resizing.") - @visibility("read") + @visibility(Lifecycle.Read) allocationState?: AllocationState; @doc("The time at which the Pool entered its current allocation state.") - @visibility("read") + @visibility(Lifecycle.Read) allocationStateTransitionTime?: utcDateTime; @doc("The size of virtual machines in the Pool. All virtual machines in a Pool are the same size. For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).") - @visibility("read") + @visibility(Lifecycle.Read) vmSize?: string; @doc("The virtual machine configuration for the Pool. This property must be specified.") - @visibility("read") + @visibility(Lifecycle.Read) virtualMachineConfiguration?: VirtualMachineConfiguration; @doc("The timeout for allocation of Compute Nodes to the Pool. This is the timeout for the most recent resize operation. (The initial sizing when the Pool is created counts as a resize.) The default value is 15 minutes.") - @visibility("read") + @visibility(Lifecycle.Read) resizeTimeout?: duration; @doc("A list of errors encountered while performing the last resize on the Pool. This property is set only if one or more errors occurred during the last Pool resize, and only when the Pool allocationState is Steady.") - @visibility("read") + @visibility(Lifecycle.Read) resizeErrors?: ResizeError[]; @doc("The user-specified tags associated with the pool. The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'.") - @visibility("read") + @visibility(Lifecycle.Read) resourceTags?: Record; @doc("The number of dedicated Compute Nodes currently in the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) currentDedicatedNodes?: int32; @doc("The number of Spot/Low-priority Compute Nodes currently in the Pool. Spot/Low-priority Compute Nodes which have been preempted are included in this count.") - @visibility("read") + @visibility(Lifecycle.Read) currentLowPriorityNodes?: int32; @doc("The desired number of dedicated Compute Nodes in the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) targetDedicatedNodes?: int32; @doc("The desired number of Spot/Low-priority Compute Nodes in the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) targetLowPriorityNodes?: int32; @doc("Whether the Pool size should automatically adjust over time. If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false.") - @visibility("read") + @visibility(Lifecycle.Read) enableAutoScale?: boolean; @doc("A formula for the desired number of Compute Nodes in the Pool. This property is set only if the Pool automatically scales, i.e. enableAutoScale is true.") - @visibility("read") + @visibility(Lifecycle.Read) autoScaleFormula?: string; @doc("The time interval at which to automatically adjust the Pool size according to the autoscale formula. This property is set only if the Pool automatically scales, i.e. enableAutoScale is true.") - @visibility("read") + @visibility(Lifecycle.Read) autoScaleEvaluationInterval?: duration; @doc("The results and errors from the last execution of the autoscale formula. This property is set only if the Pool automatically scales, i.e. enableAutoScale is true.") - @visibility("read") + @visibility(Lifecycle.Read) autoScaleRun?: AutoScaleRun; @doc("Whether the Pool permits direct communication between Compute Nodes. This imposes restrictions on which Compute Nodes can be assigned to the Pool. Specifying this value can reduce the chance of the requested number of Compute Nodes to be allocated in the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) enableInterNodeCommunication?: boolean; @doc("The network configuration for the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) networkConfiguration?: NetworkConfiguration; @doc("A Task specified to run on each Compute Node as it joins the Pool.") startTask?: BatchStartTask; @doc("The list of Packages to be installed on each Compute Node in the Pool. Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool.") - @visibility("read") + @visibility(Lifecycle.Read) applicationPackageReferences?: BatchApplicationPackageReference[]; @doc("The number of task slots that can be used to run concurrent tasks on a single compute node in the pool. The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256.") - @visibility("read") + @visibility(Lifecycle.Read) taskSlotsPerNode?: int32; @doc("How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread.") - @visibility("read") + @visibility(Lifecycle.Read) taskSchedulingPolicy?: BatchTaskSchedulingPolicy; @doc("The list of user Accounts to be created on each Compute Node in the Pool.") - @visibility("read") + @visibility(Lifecycle.Read) userAccounts?: UserAccount[]; @doc("A list of name-value pairs associated with the Pool as metadata.") - @visibility("read") + @visibility(Lifecycle.Read) metadata?: MetadataItem[]; @doc("Utilization and resource usage statistics for the entire lifetime of the Pool. This property is populated only if the BatchPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.") - @visibility("read") + @visibility(Lifecycle.Read) stats?: BatchPoolStatistics; @doc("A list of file systems to mount on each node in the pool. This supports Azure Files, NFS, CIFS/SMB, and Blobfuse.") - @visibility("read") + @visibility(Lifecycle.Read) mountConfiguration?: MountConfiguration[]; @doc("The identity of the Batch pool, if configured. The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.") - @visibility("read") + @visibility(Lifecycle.Read) identity?: BatchPoolIdentity; @doc("The desired node communication mode for the pool. If omitted, the default value is Default.") targetNodeCommunicationMode?: BatchNodeCommunicationMode; @doc("The current state of the pool communication mode.") - @visibility("read") + @visibility(Lifecycle.Read) currentNodeCommunicationMode?: BatchNodeCommunicationMode; @doc("The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling.") @@ -3102,11 +3102,11 @@ model UserAssignedIdentity { resourceId: string; @doc("The client id of the user assigned identity.") - @visibility("read") + @visibility(Lifecycle.Read) clientId?: string; @doc("The principal id of the user assigned identity.") - @visibility("read") + @visibility(Lifecycle.Read) principalId?: string; } @@ -3184,110 +3184,110 @@ model BatchNodeDeallocateContent { """) model BatchTask { @doc("A string that uniquely identifies the Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters.") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("A display name for the Task. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.") - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; @doc("The URL of the Task.") - @visibility("read") + @visibility(Lifecycle.Read) url?: string; @doc("The ETag of the Task. This is an opaque string. You can use it to detect whether the Task has changed between requests. In particular, you can be pass the ETag when updating a Task to specify that your changes should take effect only if nobody else has modified the Task in the meantime.") - @visibility("read") + @visibility(Lifecycle.Read) eTag?: string; @doc("The last modified time of the Task.") - @visibility("read") + @visibility(Lifecycle.Read) lastModified?: utcDateTime; @doc("The creation time of the Task.") - @visibility("read") + @visibility(Lifecycle.Read) creationTime?: utcDateTime; @doc("How the Batch service should respond when the Task completes.") - @visibility("read") + @visibility(Lifecycle.Read) exitConditions?: ExitConditions; @doc("The current state of the Task.") - @visibility("read") + @visibility(Lifecycle.Read) state?: BatchTaskState; @doc("The time at which the Task entered its current state.") - @visibility("read") + @visibility(Lifecycle.Read) stateTransitionTime?: utcDateTime; @doc("The previous state of the Task. This property is not set if the Task is in its initial Active state.") - @visibility("read") + @visibility(Lifecycle.Read) previousState?: BatchTaskState; @doc("The time at which the Task entered its previous state. This property is not set if the Task is in its initial Active state.") - @visibility("read") + @visibility(Lifecycle.Read) previousStateTransitionTime?: utcDateTime; @doc("The command line of the Task. For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).") - @visibility("read") + @visibility(Lifecycle.Read) commandLine?: string; @doc("The settings for the container under which the Task runs. If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files.") - @visibility("read") + @visibility(Lifecycle.Read) containerSettings?: BatchTaskContainerSettings; @doc("A list of files that the Batch service will download to the Compute Node before running the command line. For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.") - @visibility("read") + @visibility(Lifecycle.Read) resourceFiles?: ResourceFile[]; @doc("A list of files that the Batch service will upload from the Compute Node after running the command line. For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed.") - @visibility("read") + @visibility(Lifecycle.Read) outputFiles?: OutputFile[]; @doc("A list of environment variable settings for the Task.") - @visibility("read") + @visibility(Lifecycle.Read) environmentSettings?: EnvironmentSetting[]; @doc("A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task.") - @visibility("read") + @visibility(Lifecycle.Read) affinityInfo?: AffinityInfo; @doc("The execution constraints that apply to this Task.") constraints?: BatchTaskConstraints; @doc("The number of scheduling slots that the Task requires to run. The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1.") - @visibility("read") + @visibility(Lifecycle.Read) requiredSlots?: int32; @doc("The user identity under which the Task runs. If omitted, the Task runs as a non-administrative user unique to the Task.") - @visibility("read") + @visibility(Lifecycle.Read) userIdentity?: UserIdentity; @doc("Information about the execution of the Task.") - @visibility("read") + @visibility(Lifecycle.Read) executionInfo?: BatchTaskExecutionInfo; @doc("Information about the Compute Node on which the Task ran.") - @visibility("read") + @visibility(Lifecycle.Read) nodeInfo?: BatchNodeInfo; @doc("An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task.") - @visibility("read") + @visibility(Lifecycle.Read) multiInstanceSettings?: MultiInstanceSettings; @doc("Resource usage statistics for the Task.") - @visibility("read") + @visibility(Lifecycle.Read) stats?: BatchTaskStatistics; @doc("The Tasks that this Task depends on. This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled.") - @visibility("read") + @visibility(Lifecycle.Read) dependsOn?: BatchTaskDependencies; @doc("A list of Packages that the Batch service will deploy to the Compute Node before running the command line. Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails.") - @visibility("read") + @visibility(Lifecycle.Read) applicationPackageReferences?: BatchApplicationPackageReference[]; @doc("The settings for an authentication token that the Task can use to perform Batch service operations. If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.") - @visibility("read") + @visibility(Lifecycle.Read) authenticationTokenSettings?: AuthenticationTokenSettings; } diff --git a/specification/chaos/Chaos.Management/capability.models.tsp b/specification/chaos/Chaos.Management/capability.models.tsp index a00659845026..1ddc9c15fa90 100644 --- a/specification/chaos/Chaos.Management/capability.models.tsp +++ b/specification/chaos/Chaos.Management/capability.models.tsp @@ -37,32 +37,32 @@ model CapabilityProperties { /** * String of the Publisher that this Capability extends. */ - @visibility("read") + @visibility(Lifecycle.Read) publisher?: string; /** * String of the Target Type that this Capability extends. */ - @visibility("read") + @visibility(Lifecycle.Read) targetType?: string; /** * Localized string of the description. */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** * URL to retrieve JSON schema of the Capability parameters. */ - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(2048) parametersSchema?: string; /** * String of the URN for this Capability Type. */ - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(2048) urn?: string; @@ -70,7 +70,7 @@ model CapabilityProperties { * Resource provisioning state. Not currently in use because resource is created synchronously. */ @removed(Microsoft.Chaos.Versions.v2025_01_01) - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/chaos/Chaos.Management/capabilityType.models.tsp b/specification/chaos/Chaos.Management/capabilityType.models.tsp index c5f0018d0747..b88eb972d247 100644 --- a/specification/chaos/Chaos.Management/capabilityType.models.tsp +++ b/specification/chaos/Chaos.Management/capabilityType.models.tsp @@ -34,70 +34,70 @@ model CapabilityTypeProperties { /** * String of the Publisher that this Capability Type extends. */ - @visibility("read") + @visibility(Lifecycle.Read) publisher?: string; /** * String of the Target Type that this Capability Type extends. */ - @visibility("read") + @visibility(Lifecycle.Read) targetType?: string; /** * Localized string of the display name. */ - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; /** * Localized string of the description. */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** * URL to retrieve JSON schema of the Capability Type parameters. */ - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(2048) parametersSchema?: string; /** * String of the URN for this Capability Type. */ - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(2048) urn?: string; /** * String of the kind of this Capability Type. */ - @visibility("read") + @visibility(Lifecycle.Read) kind?: string; /** * Control plane actions necessary to execute capability type. */ - @visibility("read") + @visibility(Lifecycle.Read) azureRbacActions?: string[]; /** * Data plane actions necessary to execute capability type. */ - @visibility("read") + @visibility(Lifecycle.Read) azureRbacDataActions?: string[]; /** * Required Azure Role Definition Ids to execute capability type. */ - @visibility("read") + @visibility(Lifecycle.Read) @added(Microsoft.Chaos.Versions.v2025_01_01) requiredAzureRoleDefinitionIds?: string[]; /** * Runtime properties of this Capability Type. */ - @visibility("read") + @visibility(Lifecycle.Read) runtimeProperties?: CapabilityTypePropertiesRuntimeProperties; } @@ -108,7 +108,7 @@ model CapabilityTypePropertiesRuntimeProperties { /** * String of the kind of the resource's action type (continuous or discrete). */ - @visibility("read") + @visibility(Lifecycle.Read) kind?: string; } diff --git a/specification/chaos/Chaos.Management/common.models.tsp b/specification/chaos/Chaos.Management/common.models.tsp index 169bee71fe22..a5e9314eeaab 100644 --- a/specification/chaos/Chaos.Management/common.models.tsp +++ b/specification/chaos/Chaos.Management/common.models.tsp @@ -84,13 +84,13 @@ model OperationStatus extends ErrorResponse { /** * The start time of the operation. */ - @visibility("read") + @visibility(Lifecycle.Read) startTime?: utcDateTime; /** * The end time of the operation. */ - @visibility("read") + @visibility(Lifecycle.Read) endTime?: utcDateTime; /** diff --git a/specification/chaos/Chaos.Management/experiment.models.tsp b/specification/chaos/Chaos.Management/experiment.models.tsp index 80d45e73ea82..7a74d57e8ca3 100644 --- a/specification/chaos/Chaos.Management/experiment.models.tsp +++ b/specification/chaos/Chaos.Management/experiment.models.tsp @@ -98,13 +98,13 @@ model ExperimentProperties { /** * Most recent provisioning state for the given experiment resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * List of steps. */ - @OpenAPI.extension("x-ms-identifiers", ["name"]) + @OpenAPI.extension("x-ms-identifiers", #["name"]) steps: ChaosExperimentStep[]; /** @@ -132,7 +132,7 @@ model ChaosExperimentStep { /** * List of branches. */ - @OpenAPI.extension("x-ms-identifiers", ["name"]) + @OpenAPI.extension("x-ms-identifiers", #["name"]) branches: ChaosExperimentBranch[]; } @@ -149,7 +149,7 @@ model ChaosExperimentBranch { /** * List of actions. */ - @OpenAPI.extension("x-ms-identifiers", ["name"]) + @OpenAPI.extension("x-ms-identifiers", #["name"]) actions: ChaosExperimentAction[]; } @@ -245,7 +245,7 @@ model ContinuousAction extends ChaosExperimentAction { /** * List of key value pairs. */ - @OpenAPI.extension("x-ms-identifiers", ["key"]) + @OpenAPI.extension("x-ms-identifiers", #["key"]) parameters: KeyValuePair[]; /** @@ -299,7 +299,7 @@ model DiscreteAction extends ChaosExperimentAction { /** * List of key value pairs. */ - @OpenAPI.extension("x-ms-identifiers", ["key"]) + @OpenAPI.extension("x-ms-identifiers", #["key"]) parameters: KeyValuePair[]; /** diff --git a/specification/chaos/Chaos.Management/experiment.tsp b/specification/chaos/Chaos.Management/experiment.tsp index 97144fd131b0..71067543f610 100644 --- a/specification/chaos/Chaos.Management/experiment.tsp +++ b/specification/chaos/Chaos.Management/experiment.tsp @@ -26,7 +26,7 @@ interface Experiments { /** * The operation to update an experiment. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/chaos/Chaos.Management/experimentExecution.models.tsp b/specification/chaos/Chaos.Management/experimentExecution.models.tsp index bc3831b0575f..bd9e1fa32ba5 100644 --- a/specification/chaos/Chaos.Management/experimentExecution.models.tsp +++ b/specification/chaos/Chaos.Management/experimentExecution.models.tsp @@ -35,26 +35,26 @@ model ExperimentExecutionProperties { /** * The status of the execution. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: string; /** * String that represents the start date time. */ - @visibility("read") + @visibility(Lifecycle.Read) startedAt?: utcDateTime; /** * String that represents the stop date time. */ - @visibility("read") + @visibility(Lifecycle.Read) stoppedAt?: utcDateTime; /** * Resource provisioning state. Not currently in use for executions. */ @removed(Microsoft.Chaos.Versions.v2025_01_01) - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -65,25 +65,25 @@ model ExperimentExecutionDetails { /** * String of the resource type. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * String of the fully qualified resource ID. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * String of the resource name. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * The properties of the experiment execution details. */ - @visibility("read") + @visibility(Lifecycle.Read) properties?: ExperimentExecutionDetailsProperties; } @@ -95,44 +95,44 @@ model ExperimentExecutionDetailsProperties { /** * The status of the execution. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: string; /** * String that represents the start date time. */ - @visibility("read") + @visibility(Lifecycle.Read) startedAt?: utcDateTime; /** * String that represents the stop date time. */ - @visibility("read") + @visibility(Lifecycle.Read) stoppedAt?: utcDateTime; /** * Resource provisioning state. Not currently in use for executions. */ @removed(Microsoft.Chaos.Versions.v2025_01_01) - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * The reason why the execution failed. */ - @visibility("read") + @visibility(Lifecycle.Read) failureReason?: string; /** * String that represents the last action date time. */ - @visibility("read") + @visibility(Lifecycle.Read) lastActionAt?: utcDateTime; /** * The information of the experiment run. */ - @visibility("read") + @visibility(Lifecycle.Read) runInformation?: ExperimentExecutionDetailsPropertiesRunInformation; } @@ -143,8 +143,8 @@ model ExperimentExecutionDetailsPropertiesRunInformation { /** * The steps of the experiment run. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", ["stepName"]) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["stepName"]) steps?: StepStatus[]; } @@ -155,26 +155,26 @@ model StepStatus { /** * The name of the step. */ - @visibility("read") + @visibility(Lifecycle.Read) stepName?: string; /** * The id of the step. */ - @visibility("read") + @visibility(Lifecycle.Read) stepId?: string; /** * The value of the status of the step. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: string; /** * The array of branches. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", ["branchName"]) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["branchName"]) branches?: BranchStatus[]; } @@ -185,26 +185,26 @@ model BranchStatus { /** * The name of the branch status. */ - @visibility("read") + @visibility(Lifecycle.Read) branchName?: string; /** * The id of the branch status. */ - @visibility("read") + @visibility(Lifecycle.Read) branchId?: string; /** * The status of the branch. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: string; /** * The array of actions. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", ["actionId"]) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["actionId"]) actions?: ActionStatus[]; } @@ -215,38 +215,38 @@ model ActionStatus { /** * The name of the action status. */ - @visibility("read") + @visibility(Lifecycle.Read) actionName?: string; /** * The id of the action status. */ - @visibility("read") + @visibility(Lifecycle.Read) actionId?: string; /** * The status of the action. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: string; /** * String that represents the start time of the action. */ - @visibility("read") + @visibility(Lifecycle.Read) startTime?: utcDateTime; /** * String that represents the end time of the action. */ - @visibility("read") + @visibility(Lifecycle.Read) endTime?: utcDateTime; /** * The array of targets. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) targets?: ExperimentExecutionActionTargetDetailsProperties[]; } @@ -257,31 +257,31 @@ model ExperimentExecutionActionTargetDetailsProperties { /** * The status of the execution. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: string; /** * The target for the action. */ - @visibility("read") + @visibility(Lifecycle.Read) target?: string; /** * String that represents the failed date time. */ - @visibility("read") + @visibility(Lifecycle.Read) targetFailedTime?: utcDateTime; /** * String that represents the completed date time. */ - @visibility("read") + @visibility(Lifecycle.Read) targetCompletedTime?: utcDateTime; /** * The error of the action. */ - @visibility("read") + @visibility(Lifecycle.Read) error?: ExperimentExecutionActionTargetDetailsError; } @@ -292,13 +292,13 @@ model ExperimentExecutionActionTargetDetailsError { /** * The error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: string; /** * The error message */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string; } diff --git a/specification/chaos/Chaos.Management/main.tsp b/specification/chaos/Chaos.Management/main.tsp index ca65273193e2..747847a05321 100644 --- a/specification/chaos/Chaos.Management/main.tsp +++ b/specification/chaos/Chaos.Management/main.tsp @@ -28,10 +28,7 @@ using TypeSpec.Versioning; * Chaos Management Client */ @armProviderNamespace -@service({ - title: "ChaosManagementClient", - description: "Chaos Management Client", -}) +@service(#{ title: "ChaosManagementClient" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Chaos; diff --git a/specification/chaos/Chaos.Management/privateAccess.models.tsp b/specification/chaos/Chaos.Management/privateAccess.models.tsp index 369ff94232a0..fdcaa840e9df 100644 --- a/specification/chaos/Chaos.Management/privateAccess.models.tsp +++ b/specification/chaos/Chaos.Management/privateAccess.models.tsp @@ -41,13 +41,13 @@ model PrivateAccessProperties { /** * Most recent provisioning state for the given privateAccess resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * A readonly collection of private endpoint connection. Currently only one endpoint connection is supported. */ - @visibility("read") + @visibility(Lifecycle.Read) privateEndpointConnections?: PrivateEndpointConnection[]; /** diff --git a/specification/chaos/Chaos.Management/privateAccess.tsp b/specification/chaos/Chaos.Management/privateAccess.tsp index bb2976effba7..b311c99b1e5b 100644 --- a/specification/chaos/Chaos.Management/privateAccess.tsp +++ b/specification/chaos/Chaos.Management/privateAccess.tsp @@ -28,7 +28,7 @@ interface PrivateAccesses { /** * Patch a private access tags */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/chaos/Chaos.Management/privateEndpointConnection.models.tsp b/specification/chaos/Chaos.Management/privateEndpointConnection.models.tsp index 304a66dd3a92..7bf7c8157bdc 100644 --- a/specification/chaos/Chaos.Management/privateEndpointConnection.models.tsp +++ b/specification/chaos/Chaos.Management/privateEndpointConnection.models.tsp @@ -33,7 +33,7 @@ model PrivateEndpointConnectionProperties { /** * The group ids for the private endpoint resource. */ - @visibility("read") + @visibility(Lifecycle.Read) groupIds?: string[]; /** @@ -49,7 +49,7 @@ model PrivateEndpointConnectionProperties { /** * The provisioning state of the private endpoint connection resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -60,7 +60,7 @@ model PrivateEndpoint { /** * The ARM identifier for private endpoint. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; } @@ -135,13 +135,13 @@ model PrivateLinkResourceProperties { /** * The private link resource group id. */ - @visibility("read") + @visibility(Lifecycle.Read) groupId?: string; /** * The private link resource required member names. */ - @visibility("read") + @visibility(Lifecycle.Read) requiredMembers?: string[]; /** @@ -152,7 +152,7 @@ model PrivateLinkResourceProperties { /** * Resource provisioning state. Not currently in use. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/chaos/Chaos.Management/targetType.models.tsp b/specification/chaos/Chaos.Management/targetType.models.tsp index 5e20fcc0d42a..85bd62d5f095 100644 --- a/specification/chaos/Chaos.Management/targetType.models.tsp +++ b/specification/chaos/Chaos.Management/targetType.models.tsp @@ -35,26 +35,26 @@ model TargetTypeProperties { /** * Localized string of the display name. */ - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; /** * Localized string of the description. */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** * URL to retrieve JSON schema of the Target Type properties. */ - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(2048) propertiesSchema?: string; /** * List of resource types this Target Type can extend. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceTypes?: string[]; } diff --git a/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp b/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp index 2ba44542c4ba..25786389c394 100644 --- a/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp +++ b/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp @@ -34,7 +34,7 @@ interface CodeSigningAccounts { >; @doc("Update a trusted signing account.") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; @doc("Delete a trusted signing account.") diff --git a/specification/codesigning/CodeSigning.Management/main.tsp b/specification/codesigning/CodeSigning.Management/main.tsp index 12a7314db219..63d6a6038d8b 100644 --- a/specification/codesigning/CodeSigning.Management/main.tsp +++ b/specification/codesigning/CodeSigning.Management/main.tsp @@ -15,9 +15,7 @@ using TypeSpec.Versioning; @doc("Code Signing resource provider api.") @armProviderNamespace("Microsoft.CodeSigning") -@service({ - title: "CodeSigningManagementClient", -}) +@service(#{ title: "CodeSigningManagementClient" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.CodeSigning; diff --git a/specification/codesigning/CodeSigning.Management/models.tsp b/specification/codesigning/CodeSigning.Management/models.tsp index 9e0a56c48d02..3e3f3a8ae9c4 100644 --- a/specification/codesigning/CodeSigning.Management/models.tsp +++ b/specification/codesigning/CodeSigning.Management/models.tsp @@ -128,14 +128,14 @@ union NameUnavailabilityReason { @doc("Properties of the trusted signing account.") model CodeSigningAccountProperties { @doc("The URI of the trusted signing account which is used during signing files.") - @visibility("read") + @visibility(Lifecycle.Read) accountUri?: string; @doc("SKU of the trusted signing account.") sku?: AccountSku; @doc("Status of the current operation on trusted signing account.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -178,22 +178,22 @@ model CertificateProfileProperties { @removed(Versions.v2024_09_30_preview) @doc("Used as CN in the certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) commonName?: string; @removed(Versions.v2024_09_30_preview) @doc("Used as O in the certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) organization?: string; @removed(Versions.v2024_09_30_preview) @doc("Used as OU in the private trust certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) organizationUnit?: string; @removed(Versions.v2024_09_30_preview) @doc("Used as STREET in the certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) streetAddress?: string; @doc("Whether to include STREET in the certificate subject name.") @@ -201,7 +201,7 @@ model CertificateProfileProperties { @removed(Versions.v2024_09_30_preview) @doc("Used as L in the certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) city?: string; @doc("Whether to include L in the certificate subject name. Applicable only for private trust, private trust ci profile types") @@ -209,7 +209,7 @@ model CertificateProfileProperties { @removed(Versions.v2024_09_30_preview) @doc("Used as S in the certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) state?: string; @doc("Whether to include S in the certificate subject name. Applicable only for private trust, private trust ci profile types") @@ -217,7 +217,7 @@ model CertificateProfileProperties { @removed(Versions.v2024_09_30_preview) @doc("Used as C in the certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) country?: string; @doc("Whether to include C in the certificate subject name. Applicable only for private trust, private trust ci profile types") @@ -225,7 +225,7 @@ model CertificateProfileProperties { @removed(Versions.v2024_09_30_preview) @doc("Used as PC in the certificate subject name.") - @visibility("read") + @visibility(Lifecycle.Read) postalCode?: string; @doc("Whether to include PC in the certificate subject name.") @@ -233,7 +233,7 @@ model CertificateProfileProperties { @removed(Versions.v2024_09_30_preview) @doc("Enhanced key usage of the certificate.") - @visibility("read") + @visibility(Lifecycle.Read) enhancedKeyUsage?: string; @doc("Identity validation id used for the certificate subject name.") @@ -241,17 +241,17 @@ model CertificateProfileProperties { identityValidationId: string; @doc("Status of the current operation on certificate profile.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("Status of the certificate profile.") - @visibility("read") + @visibility(Lifecycle.Read) status?: CertificateProfileStatus; #suppress "deprecated" "Legacy flatten" @doc("List of renewed certificates.") - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @identifiers(#[]) @Azure.ClientGenerator.Core.flattenProperty certificates?: Certificate[]; } @@ -335,14 +335,14 @@ model CheckNameAvailability { @doc("The CheckNameAvailability operation response.") model CheckNameAvailabilityResult { @doc("A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used.") - @visibility("read") + @visibility(Lifecycle.Read) nameAvailable?: boolean; @doc("The reason that a trusted signing account name could not be used. The Reason element is only returned if nameAvailable is false.") - @visibility("read") + @visibility(Lifecycle.Read) reason?: NameUnavailabilityReason; @doc("An error message explaining the Reason value in more detail.") - @visibility("read") + @visibility(Lifecycle.Read) message?: string; } diff --git a/specification/cognitiveservices/AnomalyDetector/main.tsp b/specification/cognitiveservices/AnomalyDetector/main.tsp index 896abafe657d..cbebfe9256b1 100644 --- a/specification/cognitiveservices/AnomalyDetector/main.tsp +++ b/specification/cognitiveservices/AnomalyDetector/main.tsp @@ -9,9 +9,7 @@ using TypeSpec.Http; using TypeSpec.Versioning; @versioned(APIVersion) -@service({ - title: "Anomaly Detector", -}) +@service(#{ title: "Anomaly Detector" }) @useAuth(AnomalyDetectorApiKeyAuth) @server( "{Endpoint}/anomalydetector/{ApiVersion}", diff --git a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp index e7e03d667745..8e11dc4d80c8 100644 --- a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp +++ b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp @@ -264,15 +264,15 @@ model ModelInfo { alignPolicy?: AlignPolicy; @doc("Model status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: ModelStatus; @doc("Error messages after failure to create a model.") - @visibility("read") + @visibility(Lifecycle.Read) errors?: ErrorResponse[]; @doc("Diagnostics information to help inspect the states of a model or variable.") - @visibility("read") + @visibility(Lifecycle.Read) diagnosticsInfo?: DiagnosticsInfo; } diff --git a/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp b/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp index 0415bf4a4538..5eeb3e816a07 100644 --- a/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp +++ b/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp @@ -288,7 +288,7 @@ model UnivariateChangePointDetectionResult { Frequency extracted from the series. Zero means no recurrent pattern has been found. """) - @visibility("read") + @visibility(Lifecycle.Read) period?: int32; @doc(""" diff --git a/specification/cognitiveservices/ContentSafety/main.tsp b/specification/cognitiveservices/ContentSafety/main.tsp index bce771448ac2..2baa1bbff6c7 100644 --- a/specification/cognitiveservices/ContentSafety/main.tsp +++ b/specification/cognitiveservices/ContentSafety/main.tsp @@ -9,9 +9,7 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.Core; -@service({ - title: "ContentSafety Service", -}) +@service(#{ title: "ContentSafety Service" }) @versioned(ContentSafety.Versions) @useAuth( ApiKeyAuth | OAuth2Auth<[ diff --git a/specification/cognitiveservices/ContentSafety/models.tsp b/specification/cognitiveservices/ContentSafety/models.tsp index 4bd62cdc9cab..b0b9233d8908 100644 --- a/specification/cognitiveservices/ContentSafety/models.tsp +++ b/specification/cognitiveservices/ContentSafety/models.tsp @@ -159,7 +159,7 @@ model TextBlocklist { @doc("Text blocklist name.") @pattern("^[0-9A-Za-z._~-]+$") @key("blocklistName") - @visibility("read", "create", "query") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Query) @maxLength(64) @clientName("Name", "csharp") @clientName("name", "java") @@ -176,7 +176,7 @@ model TextBlocklist { model TextBlocklistItem { @doc("The service will generate a BlocklistItemId, which will be a UUID.") @key("blocklistItemId") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(64) blocklistItemId: string; diff --git a/specification/cognitiveservices/Language.AnalyzeConversations-authoring/main.tsp b/specification/cognitiveservices/Language.AnalyzeConversations-authoring/main.tsp index b98d62ba53ce..bd009974cc42 100644 --- a/specification/cognitiveservices/Language.AnalyzeConversations-authoring/main.tsp +++ b/specification/cognitiveservices/Language.AnalyzeConversations-authoring/main.tsp @@ -24,7 +24,7 @@ using TypeSpec.Versioning; } ]> ) -@service({ +@service(#{ title: "Microsoft Cognitive Language Service - Analyze Conversations Authoring", }) @versioned(Versions) diff --git a/specification/cognitiveservices/Language.AnalyzeConversations-authoring/models/project.tsp b/specification/cognitiveservices/Language.AnalyzeConversations-authoring/models/project.tsp index 6e9230cb6b7a..0434b4edaa82 100644 --- a/specification/cognitiveservices/Language.AnalyzeConversations-authoring/models/project.tsp +++ b/specification/cognitiveservices/Language.AnalyzeConversations-authoring/models/project.tsp @@ -64,19 +64,19 @@ model AnalyzeConversationAuthoringProjectMetadata { /** * Represents the project kind. */ - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) projectKind: ProjectKind; /** * The project settings. */ - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) settings?: AnalyzeConversationAuthoringProjectSettings; /** * The storage container name in case of conversation summarization. */ - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @added(Versions.v2023_04_15_preview) storageInputContainerName?: string; @@ -84,26 +84,26 @@ model AnalyzeConversationAuthoringProjectMetadata { * The new project name. */ @key("projectName") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @maxLength(100) projectName: string; /** * Whether the project would be used for multiple languages or not. */ - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) multilingual?: boolean; /** * The project description. */ - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) description?: string; /** * The project language. This is BCP-47 representation of a language. For example, use "en" for English, "en-gb" for English (UK), "es" for Spanish etc. */ - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) language: string; } @@ -355,7 +355,7 @@ model AnalyzeConversationAuthoringJobState { * The job ID. */ @key("jobId") - @visibility("read") + @visibility(Lifecycle.Read) jobId: string; /** @@ -419,7 +419,7 @@ model AnalyzeConversationAuthoringProjectDeployment { * Represents deployment name. */ @key("deploymentName") - @visibility("read") + @visibility(Lifecycle.Read) deploymentName: string; /** @@ -600,7 +600,7 @@ model AnalyzeConversationAuthoringProjectTrainedModel { * The trained model label. */ @key("trainedModelLabel") - @visibility("read") + @visibility(Lifecycle.Read) label: string; /** @@ -737,7 +737,7 @@ model AnalyzeConversationAuthoringUtteranceEvaluationResult { * Represents the utterance text. */ @key - @visibility("read") + @visibility(Lifecycle.Read) text: string; /** @@ -1064,7 +1064,7 @@ model AnalyzeConversationAuthoringAssignedDeploymentResource { * The resource ID. */ @key - @visibility("read") + @visibility(Lifecycle.Read) @clientName("resourceId", "csharp") azureResourceId: string; @@ -1263,7 +1263,7 @@ model AnalyzeConversationAuthoringAssignedProjectDeploymentsMetadata { * Represents the project name. */ @key - @visibility("read") + @visibility(Lifecycle.Read) projectName: string; /** @@ -1321,7 +1321,7 @@ model AnalyzeConversationAuthoringSupportedLanguage { * The language name. */ @key - @visibility("read") + @visibility(Lifecycle.Read) languageName: string; /** @@ -1356,7 +1356,7 @@ model AnalyzeConversationAuthoringPrebuiltEntity { * The prebuilt entity category. */ @key - @visibility("read") + @visibility(Lifecycle.Read) category: string; /** @@ -1396,7 +1396,7 @@ model AnalyzeConversationAuthoringTrainingConfigVersion { * Represents the version of the config. */ @key - @visibility("read") + @visibility(Lifecycle.Read) trainingConfigVersion: string; /** @@ -1851,7 +1851,7 @@ model AnalyzeConversationAuthoringExportedTrainedModel { * The exported model name. */ @key("exportedModelName") - @visibility("read") + @visibility(Lifecycle.Read) exportedModelName: string; /** diff --git a/specification/cognitiveservices/Language.AnalyzeConversations-authoring/routes.tsp b/specification/cognitiveservices/Language.AnalyzeConversations-authoring/routes.tsp index c7b108905233..1fdd323c53ae 100644 --- a/specification/cognitiveservices/Language.AnalyzeConversations-authoring/routes.tsp +++ b/specification/cognitiveservices/Language.AnalyzeConversations-authoring/routes.tsp @@ -366,8 +366,7 @@ interface ConversationAuthoringProjects { */ #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Need to rename the body" @createsOrUpdatesResource(AnalyzeConversationAuthoringProjectMetadata) - @parameterVisibility - @patch + @patch(#{ implicitOptionality: false }) createProject is Foundations.ResourceOperation< AnalyzeConversationAuthoringProjectMetadata, { diff --git a/specification/cognitiveservices/Language.AnalyzeDocuments/main.tsp b/specification/cognitiveservices/Language.AnalyzeDocuments/main.tsp index b364e636eb8c..8f31d992fdb8 100644 --- a/specification/cognitiveservices/Language.AnalyzeDocuments/main.tsp +++ b/specification/cognitiveservices/Language.AnalyzeDocuments/main.tsp @@ -27,9 +27,7 @@ using Azure.Core.Traits; } ]> ) -@service({ - title: "Microsoft Cognitive Language Service - Document Analysis", -}) +@service(#{ title: "Microsoft Cognitive Language Service - Document Analysis" }) @server( "{Endpoint}/language", "Single server endpoint", diff --git a/specification/cognitiveservices/Language.AnalyzeDocuments/models/common.models.tsp b/specification/cognitiveservices/Language.AnalyzeDocuments/models/common.models.tsp index 60fa7ed7dd0c..faed464d5dff 100644 --- a/specification/cognitiveservices/Language.AnalyzeDocuments/models/common.models.tsp +++ b/specification/cognitiveservices/Language.AnalyzeDocuments/models/common.models.tsp @@ -625,7 +625,7 @@ model JobState { /** job ID */ @key - @visibility("read") + @visibility(Lifecycle.Read) jobId: uuid; /** last updated date and time */ diff --git a/specification/cognitiveservices/Language.AnalyzeText-authoring/main.tsp b/specification/cognitiveservices/Language.AnalyzeText-authoring/main.tsp index 546384eb73fd..c185fa5c4e52 100644 --- a/specification/cognitiveservices/Language.AnalyzeText-authoring/main.tsp +++ b/specification/cognitiveservices/Language.AnalyzeText-authoring/main.tsp @@ -24,7 +24,7 @@ using TypeSpec.Versioning; } ]> ) -@service({ +@service(#{ title: "Microsoft Cognitive Language Service - Analyze Text Authoring", }) @versioned(Versions) diff --git a/specification/cognitiveservices/Language.AnalyzeText-authoring/models.tsp b/specification/cognitiveservices/Language.AnalyzeText-authoring/models.tsp index b24898ebf805..b5bdc53a4cda 100644 --- a/specification/cognitiveservices/Language.AnalyzeText-authoring/models.tsp +++ b/specification/cognitiveservices/Language.AnalyzeText-authoring/models.tsp @@ -231,7 +231,7 @@ model TextAnalysisAuthoringProjectMetadata { * The new project name. */ @key("projectName") - @visibility("read") + @visibility(Lifecycle.Read) projectName: string; /** @@ -599,7 +599,7 @@ model TextAnalysisAuthoringJobState { * The job ID. */ @key("jobId") - @visibility("read") + @visibility(Lifecycle.Read) jobId: string; /** @@ -676,7 +676,7 @@ model TextAnalysisAuthoringProjectDeployment { * Represents deployment name. */ @key("deploymentName") - @visibility("read") + @visibility(Lifecycle.Read) deploymentName: string; /** @@ -844,7 +844,7 @@ model TextAnalysisAuthoringExportedTrainedModel { * The exported model name. */ @key("exportedModelName") - @visibility("read") + @visibility(Lifecycle.Read) exportedModelName: string; /** @@ -960,7 +960,7 @@ model TextAnalysisAuthoringProjectTrainedModel { * The trained model label. */ @key("trainedModelLabel") - @visibility("read") + @visibility(Lifecycle.Read) label: string; /** @@ -1061,7 +1061,7 @@ model TextAnalysisAuthoringDocumentEvaluationResult { * Represents the project kind. */ @key - @visibility("read") + @visibility(Lifecycle.Read) projectKind: ProjectKind; /** @@ -1172,7 +1172,7 @@ model TextAnalysisAuthoringAssignedDeploymentResource { * The resource ID. */ @key - @visibility("read") + @visibility(Lifecycle.Read) azureResourceId: string; /** @@ -1372,7 +1372,7 @@ model TextAnalysisAuthoringAssignedProjectDeploymentsMetadata { * Represents the project name. */ @key - @visibility("read") + @visibility(Lifecycle.Read) projectName: string; /** @@ -1428,7 +1428,7 @@ model TextAnalysisAuthoringSupportedLanguage { * The language name. */ @key - @visibility("read") + @visibility(Lifecycle.Read) languageName: string; /** @@ -1465,7 +1465,7 @@ model TextAnalysisAuthoringPrebuiltEntity { * The prebuilt entity category. */ @key - @visibility("read") + @visibility(Lifecycle.Read) category: string; /** @@ -1505,7 +1505,7 @@ model TextAnalysisAuthoringTrainingConfigVersion { * Represents the version of the config. */ @key - @visibility("read") + @visibility(Lifecycle.Read) trainingConfigVersion: string; /** diff --git a/specification/cognitiveservices/Language.AnalyzeText-authoring/routes.tsp b/specification/cognitiveservices/Language.AnalyzeText-authoring/routes.tsp index c6f8b6869a82..fed6ae942adf 100644 --- a/specification/cognitiveservices/Language.AnalyzeText-authoring/routes.tsp +++ b/specification/cognitiveservices/Language.AnalyzeText-authoring/routes.tsp @@ -36,8 +36,7 @@ interface TextAnalysisAuthoring { #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Need to rename the body" @createsOrUpdatesResource(TextAnalysisAuthoringProjectMetadata) - @parameterVisibility - @patch + @patch(#{ implicitOptionality: false }) createProject is Foundations.ResourceOperation< TextAnalysisAuthoringProjectMetadata, { diff --git a/specification/cognitiveservices/Language.AnalyzeText/main.tsp b/specification/cognitiveservices/Language.AnalyzeText/main.tsp index f0e496421546..01c60557aacc 100644 --- a/specification/cognitiveservices/Language.AnalyzeText/main.tsp +++ b/specification/cognitiveservices/Language.AnalyzeText/main.tsp @@ -29,9 +29,7 @@ using Azure.Core.Traits; } ]> ) -@service({ - title: "Microsoft Cognitive Language Service - Text Analysis", -}) +@service(#{ title: "Microsoft Cognitive Language Service - Text Analysis" }) @server( "{Endpoint}/language", "Single server endpoint", diff --git a/specification/cognitiveservices/Language.AnalyzeText/models/common.models.tsp b/specification/cognitiveservices/Language.AnalyzeText/models/common.models.tsp index d9e8df004525..fd4af0988c8d 100644 --- a/specification/cognitiveservices/Language.AnalyzeText/models/common.models.tsp +++ b/specification/cognitiveservices/Language.AnalyzeText/models/common.models.tsp @@ -501,7 +501,7 @@ model JobState { /** job ID */ @key - @visibility("read") + @visibility(Lifecycle.Read) jobId: uuid; /** last updated date and time */ diff --git a/specification/cognitiveservices/Language.Conversations/main.tsp b/specification/cognitiveservices/Language.Conversations/main.tsp index e25732165aa7..1f0aacf1fbe1 100644 --- a/specification/cognitiveservices/Language.Conversations/main.tsp +++ b/specification/cognitiveservices/Language.Conversations/main.tsp @@ -29,7 +29,7 @@ using Azure.Core.Traits; } ]> ) -@service({ +@service(#{ title: "Microsoft Cognitive Language Service - Analyze Conversations", }) @server( diff --git a/specification/cognitiveservices/Language.Conversations/models/common.tsp b/specification/cognitiveservices/Language.Conversations/models/common.tsp index 792241b2f989..ed94266d9dd1 100644 --- a/specification/cognitiveservices/Language.Conversations/models/common.tsp +++ b/specification/cognitiveservices/Language.Conversations/models/common.tsp @@ -105,7 +105,7 @@ model JobState { /** job ID */ @key - @visibility("read") + @visibility(Lifecycle.Read) jobId: uuid; /** last updated date and time */ @@ -388,7 +388,7 @@ model CustomResult { model AnalyzeConversationTask { /** The base class of a conversation input task. */ @key - @visibility("read", "create", "query") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Query) kind: AnalyzeConversationTaskKind; } @@ -835,7 +835,7 @@ model AnalyzeConversationJobsInput { /** Analysis Input */ @key - @visibility("read", "create", "query") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Query) analysisInput: MultiLanguageConversationAnalysisInput; /** Set of tasks to execute on the input conversation. */ diff --git a/specification/cognitiveservices/OpenAI.Inference/main.tsp b/specification/cognitiveservices/OpenAI.Inference/main.tsp index ea8d9b5c240b..e16f3ed03cc7 100644 --- a/specification/cognitiveservices/OpenAI.Inference/main.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/main.tsp @@ -25,9 +25,7 @@ using TypeSpec.Versioning; } ]> ) -@service({ - title: "Azure OpenAI API", -}) +@service(#{ title: "Azure OpenAI API" }) @server( "{endpoint}/openai", "Azure OpenAI APIs for completions and search", diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/common.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/common.tsp index 060eb1146b82..3dbbc044e54a 100644 --- a/specification/cognitiveservices/OpenAI.Inference/routes/common.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/routes/common.tsp @@ -9,7 +9,7 @@ using Azure.ClientGenerator.Core; @doc("A specific deployment") @TypeSpec.Rest.resource("deployments") model Deployment { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.") @clientName("deploymentOrModelName", "java") @key diff --git a/specification/cognitiveservices/Speech.VideoTranslation/main.tsp b/specification/cognitiveservices/Speech.VideoTranslation/main.tsp index 71b15335f615..b5a9b9f4095a 100644 --- a/specification/cognitiveservices/Speech.VideoTranslation/main.tsp +++ b/specification/cognitiveservices/Speech.VideoTranslation/main.tsp @@ -12,9 +12,7 @@ using TypeSpec.OpenAPI; #suppress "@azure-tools/typespec-azure-core/no-openapi" "Keeping this in the spec for now" @doc("Video translation API to translate video from source locale to target locale.") @versioned(VideoTranslation.ApiVersions) -@service({ - title: "Video Translation", -}) +@service(#{ title: "Video Translation" }) @server( "{endpoint}/videotranslation", "Translate video from source locale to target locale.", @@ -25,14 +23,12 @@ using TypeSpec.OpenAPI; ) @useAuth(KeyAuth | AADToken) @tag("VideoTranslation") -@info({ - contact: { +@info(#{ + contact: #{ name: "Azure AI - Speech Services", url: "https://learn.microsoft.com/azure/ai-services/speech-service/", }, - license: { - name: "Copyright (c) Microsoft. All rights reserved.", - }, + license: #{ name: "Copyright (c) Microsoft. All rights reserved." }, }) namespace Microsoft.Speech.VideoTranslation; @@ -188,7 +184,7 @@ model IterationInput { model OperationIdHeader { @doc("Operation ID.") @header("Operation-Id") - @visibility("create") + @visibility(Lifecycle.Create) operationId: resourceId; } @@ -197,7 +193,7 @@ model OperationIdHeader { model Translation { @doc("Translation resource ID.") @key("translationId") - @visibility("read") + @visibility(Lifecycle.Read) id: resourceId; @doc("Translation input.") @@ -210,19 +206,19 @@ model Translation { description?: string; @doc("The timestamp when the object was created. The timestamp is encoded as ISO 8601 date and time format (\"YYYY-MM-DDThh:mm:ssZ\", see https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations).") - @visibility("read") + @visibility(Lifecycle.Read) createdDateTime?: utcDateTime; @doc("Latest iteration of the translation.") - @visibility("read") + @visibility(Lifecycle.Read) latestIteration?: Iteration; @doc("Latest completed iteration of the translation.") - @visibility("read") + @visibility(Lifecycle.Read) latestSucceededIteration?: Iteration; @doc("Translation failure reason") - @visibility("read") + @visibility(Lifecycle.Read) failureReason?: string; } @@ -232,7 +228,7 @@ model Translation { model Iteration { @doc("Iteration ID") @key("iterationId") - @visibility("read") + @visibility(Lifecycle.Read) id: resourceId; @doc("Iteration input.") @@ -242,23 +238,23 @@ model Iteration { description?: string; @doc("Iteration status") - @visibility("read") + @visibility(Lifecycle.Read) status?: Status; @doc("Iteration failure reason") - @visibility("read") + @visibility(Lifecycle.Read) failureReason?: string; @doc("The timestamp when the object was created. The timestamp is encoded as ISO 8601 date and time format (\"YYYY-MM-DDThh:mm:ssZ\", see https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations).") - @visibility("read") + @visibility(Lifecycle.Read) createdDateTime?: utcDateTime; @doc("The timestamp when the current status was entered. The timestamp is encoded as ISO 8601 date and time format (\"YYYY-MM-DDThh:mm:ssZ\", see https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations).") - @visibility("read") + @visibility(Lifecycle.Read) lastActionDateTime?: utcDateTime; @doc("Iteration result.") - @visibility("read") + @visibility(Lifecycle.Read) result?: IterationResult; } @@ -267,7 +263,7 @@ model Iteration { model Operation { @doc("Operation ID") @key("operationId") - @visibility("read") + @visibility(Lifecycle.Read) id: resourceId; @doc("Operation status") diff --git a/specification/communication/Communication.JobRouter/main.tsp b/specification/communication/Communication.JobRouter/main.tsp index b67219e184b8..9d14ed5abc8f 100644 --- a/specification/communication/Communication.JobRouter/main.tsp +++ b/specification/communication/Communication.JobRouter/main.tsp @@ -14,9 +14,7 @@ using Azure.Core; using Azure.Core.Traits; @useAuth(AadOauth2Auth<["https://communication.azure.com/.default"]>) -@service({ - title: "Azure Communication Routing Service", -}) +@service(#{ title: "Azure Communication Routing Service" }) @server( "{endpoint}", "Azure Communication Routing Service", diff --git a/specification/communication/Communication.JobRouter/models.tsp b/specification/communication/Communication.JobRouter/models.tsp index c09a1ec53fde..fa7d49c4324b 100644 --- a/specification/communication/Communication.JobRouter/models.tsp +++ b/specification/communication/Communication.JobRouter/models.tsp @@ -19,7 +19,7 @@ namespace AzureCommunicationRoutingService; @doc("Provides the 'Last-Modified' header to enable conditional (cached) requests") model LastModifiedResponseEnvelope { @header("Last-Modified") - @visibility("read") + @visibility(Lifecycle.Read) @doc("The last modified timestamp.") @encode("rfc7231") lastModifiedTimestamp?: utcDateTime; @@ -29,12 +29,24 @@ model LastModifiedResponseEnvelope { @doc("Provides the 'If-*' headers to enable conditional (cached) responses for JobRouter.") model RouterConditionalRequestHeaders { - @visibility("read", "query", "create", "update", "delete") + @visibility( + Lifecycle.Read, + Lifecycle.Query, + Lifecycle.Create, + Lifecycle.Update, + Lifecycle.Delete + ) @header("If-Match") @doc("The request should only proceed if an entity matches this string.") ifMatch?: string; - @visibility("read", "query", "create", "update", "delete") + @visibility( + Lifecycle.Read, + Lifecycle.Query, + Lifecycle.Create, + Lifecycle.Update, + Lifecycle.Delete + ) @header("If-Unmodified-Since") @doc("The request should only proceed if the entity was not modified after this time.") @encode("rfc7231") @@ -360,7 +372,7 @@ model ClassificationPolicy { @key("classificationPolicyId") @doc("Id of a classification policy.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Friendly name of this policy.") @@ -400,7 +412,7 @@ model DistributionPolicy { @key("distributionPolicyId") @doc("Id of a distribution policy.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Friendly name of this policy.") @@ -436,7 +448,7 @@ model ExceptionPolicy { @key("exceptionPolicyId") @doc("Id of an exception policy.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Friendly name of this policy.") @@ -481,18 +493,18 @@ model RouterJob { @key("jobId") @doc("Id of a job.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Reference to an external parent context, eg. call ID.") channelReference?: string; @doc("The status of the job.") - @visibility("read") + @visibility(Lifecycle.Read) status?: RouterJobStatus; @doc("Timestamp a job was queued in UTC.") - @visibility("read") + @visibility(Lifecycle.Read) enqueuedAt?: utcDateTime; @doc("The channel identifier. eg. voice, chat, etc.") @@ -514,7 +526,7 @@ model RouterJob { requestedWorkerSelectors?: RouterWorkerSelector[]; @doc("A collection of worker selectors attached by a classification policy, which a worker must satisfy in order to process this job.") - @visibility("read") + @visibility(Lifecycle.Read) attachedWorkerSelectors?: RouterWorkerSelector[]; #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Unions are currently not allowed in spec." @@ -522,7 +534,7 @@ model RouterJob { labels?: Record; @doc("A collection of the assignments of the job. Key is AssignmentId.") - @visibility("read") + @visibility(Lifecycle.Read) assignments?: Record; #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Unions are currently not allowed in spec." @@ -533,7 +545,7 @@ model RouterJob { notes?: RouterJobNote[]; @doc("If set, job will be scheduled to be enqueued at a given time.") - @visibility("read") + @visibility(Lifecycle.Read) scheduledAt?: utcDateTime; @doc("If provided, will determine how job matching will be carried out. Default mode: QueueAndMatchMode.") @@ -559,11 +571,11 @@ model RouterWorkerSelector { expedite?: boolean; @doc("Status of the worker selector.") - @visibility("read") + @visibility(Lifecycle.Read) status?: RouterWorkerSelectorStatus; @doc("The time at which this worker selector expires in UTC.") - @visibility("read") + @visibility(Lifecycle.Read) expiresAt?: utcDateTime; } @@ -573,7 +585,7 @@ model RouterWorkerSelector { model RouterJobAssignment { @key @doc("Id of a job assignment.") - @visibility("read") + @visibility(Lifecycle.Read) assignmentId: string; @doc("Id of the Worker assigned to the job.") @@ -715,7 +727,7 @@ model RouterQueue { @key("queueId") @doc("Id of a queue.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Friendly name of this queue.") @@ -754,11 +766,11 @@ model RouterWorker { @key("workerId") @doc("Id of a worker.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Current state of a worker.") - @visibility("read") + @visibility(Lifecycle.Read) state?: RouterWorkerState; @doc("Collection of queue(s) that this worker can receive work from.") @@ -779,15 +791,15 @@ model RouterWorker { channels?: RouterChannel[]; @doc("A list of active offers issued to this worker.") - @visibility("read") + @visibility(Lifecycle.Read) offers?: RouterJobOffer[]; @doc("A list of assigned jobs attached to this worker.") - @visibility("read") + @visibility(Lifecycle.Read) assignedJobs?: RouterWorkerAssignment[]; @doc("A value indicating the workers capacity. A value of '1' means all capacity is consumed. A value of '0' means no capacity is currently consumed.") - @visibility("read") + @visibility(Lifecycle.Read) loadRatio?: float64; @doc("A flag indicating this worker is open to receive offers or not.") @@ -816,7 +828,7 @@ model RouterChannel { model RouterJobOffer { @key @doc("Id of an offer.") - @visibility("read") + @visibility(Lifecycle.Read) offerId: string; @doc("Id of the job.") diff --git a/specification/communication/Communication.Messages/main.tsp b/specification/communication/Communication.Messages/main.tsp index ac4fc3e50ec2..287fe4322dbd 100644 --- a/specification/communication/Communication.Messages/main.tsp +++ b/specification/communication/Communication.Messages/main.tsp @@ -16,9 +16,7 @@ using Azure.Core.Traits; "Authorization" > ) -@service({ - title: "CommunicationMessagesClient", -}) +@service(#{ title: "CommunicationMessagesClient" }) @server( "{endpoint}", "Azure Communication Messages Service", diff --git a/specification/communication/Communication.Messages/models.tsp b/specification/communication/Communication.Messages/models.tsp index b73c291a270b..9754de602c2f 100644 --- a/specification/communication/Communication.Messages/models.tsp +++ b/specification/communication/Communication.Messages/models.tsp @@ -646,7 +646,7 @@ model WhatsAppMessageTemplateItem extends MessageTemplateItem { @doc("A notification.") model Notifications { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("The notification ID.") id: string; } @@ -655,7 +655,7 @@ model Notifications { @doc("A communication channel.") model CommunicationChannel { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("The registration ID of the channel.") channelId: uuid; } @@ -664,7 +664,8 @@ model CommunicationChannel { @doc("A data stream.") model MessageDataStream { @key - @visibility("none") // this model is only used as a parameter + @path + @invisible(Lifecycle) // The stream ID is only used as a parameter. @doc("The stream ID.") @clientName("mediaId", "java") id: string; @@ -684,7 +685,7 @@ model MessageDataStream { @doc("The message template as returned from the service.") model MessageTemplateItem { @key - @visibility("read") + @visibility(Lifecycle.Read) @doc("The template's name.") name: string; diff --git a/specification/communitytraining/Community.Management/main.tsp b/specification/communitytraining/Community.Management/main.tsp index cef54df93a7c..bcbfa99a9eae 100644 --- a/specification/communitytraining/Community.Management/main.tsp +++ b/specification/communitytraining/Community.Management/main.tsp @@ -10,9 +10,7 @@ using TypeSpec.Versioning; using Azure.ResourceManager; @armProviderNamespace("Microsoft.Community") -@service({ - title: "Microsoft.Community", -}) +@service(#{ title: "Microsoft.Community" }) @versioned(Versions) namespace Microsoft.Community; @@ -60,75 +58,75 @@ union ProvisioningState { @doc("Details of the Community CommunityTraining Identity Configuration") model IdentityConfigurationProperties { - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The identity type of the Community Training Resource") identityType: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("To indicate whether the Community Training Resource has Teams enabled") teamsEnabled?: boolean = false; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The tenantId of the selected identity provider for the Community Training Resource") tenantId: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The domain name of the selected identity provider for the Community Training Resource") domainName: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The clientId of the application registered in the selected identity provider for the Community Training Resource") clientId: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The client secret of the application registered in the selected identity provider for the Community Training Resource") @secret clientSecret: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The name of the authentication policy registered in ADB2C for the Community Training Resource") b2cAuthenticationPolicy?: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The name of the password reset policy registered in ADB2C for the Community Training Resource") b2cPasswordResetPolicy?: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The custom login parameters for the Community Training Resource") customLoginParameters?: string; } @doc("Details of the Community CommunityTraining.") model CommunityTrainingProperties { - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("The portal name (website name) of the Community Training instance") portalName: string; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("The email address of the portal admin") portalAdminEmailAddress: string; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("The organization name of the portal owner") portalOwnerOrganizationName: string; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("The email address of the portal owner. Will be used as the primary contact") portalOwnerEmailAddress: string; - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @doc("The identity configuration of the Community Training resource") identityConfiguration: IdentityConfigurationProperties; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("To indicate whether the Community Training instance has Zone Redundancy enabled") zoneRedundancyEnabled: boolean; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("To indicate whether the Community Training instance has Disaster Recovery enabled") disasterRecoveryEnabled: boolean; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/computeschedule/ComputeSchedule.Management/main.tsp b/specification/computeschedule/ComputeSchedule.Management/main.tsp index e233a7546885..19abafa8337d 100644 --- a/specification/computeschedule/ComputeSchedule.Management/main.tsp +++ b/specification/computeschedule/ComputeSchedule.Management/main.tsp @@ -12,9 +12,7 @@ using Azure.Core; using Azure.ResourceManager; @armProviderNamespace -@service({ - title: "Microsoft.ComputeSchedule", -}) +@service(#{ title: "Microsoft.ComputeSchedule" }) @doc("Microsoft.ComputeSchedule Resource Provider management API.") @versioned(Versions) namespace Microsoft.ComputeSchedule; diff --git a/specification/computeschedule/ComputeSchedule.Management/models.tsp b/specification/computeschedule/ComputeSchedule.Management/models.tsp index 6e95fef41de2..9650378f36f4 100644 --- a/specification/computeschedule/ComputeSchedule.Management/models.tsp +++ b/specification/computeschedule/ComputeSchedule.Management/models.tsp @@ -260,7 +260,7 @@ model OperationErrorsResult { @doc("The completion time of the operation if the operation was completed") completedAt?: offsetDateTime; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("A list of errors associated with the operationid") operationErrors?: Array; @@ -296,10 +296,10 @@ model DeallocateResourceOperationResponse { type: string; @doc("The location of the deallocate request eg westus") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) location: azureLocation; - @extension("x-ms-identifiers", ["resourceId"]) + @extension("x-ms-identifiers", #["resourceId"]) @doc("The results from the deallocate request if no errors exist") results?: Array; } @@ -329,10 +329,10 @@ model StartResourceOperationResponse { type: string; @doc("The location of the start request eg westus") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) location: azureLocation; - @extension("x-ms-identifiers", ["resourceId"]) + @extension("x-ms-identifiers", #["resourceId"]) @doc("The results from the start request if no errors exist") results?: Array; } @@ -362,10 +362,10 @@ model HibernateResourceOperationResponse { type: string; @doc("The location of the Hibernate request eg westus") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) location: azureLocation; - @extension("x-ms-identifiers", ["resourceId"]) + @extension("x-ms-identifiers", #["resourceId"]) @doc("The results from the Hibernate request if no errors exist") results?: Array; } @@ -419,7 +419,7 @@ model GetOperationStatusRequest { @doc("This is the response from a get operations status request") model GetOperationStatusResponse { - @extension("x-ms-identifiers", ["resourceId"]) + @extension("x-ms-identifiers", #["resourceId"]) @doc("An array of resource operations based on their operation ids") results: Array; } @@ -436,7 +436,7 @@ model CancelOperationsRequest { @doc("This is the response from a cancel operations request") model CancelOperationsResponse { - @extension("x-ms-identifiers", ["resourceId"]) + @extension("x-ms-identifiers", #["resourceId"]) @doc("An array of resource operations that were successfully cancelled") results: Array; } @@ -450,7 +450,7 @@ model GetOperationErrorsRequest { @doc("This is the response from a get operations errors request") model GetOperationErrorsResponse { - @extension("x-ms-identifiers", ["operationId"]) + @extension("x-ms-identifiers", #["operationId"]) @doc("An array of operationids and their corresponding errors if any") results: Array; } diff --git a/specification/confidentialledger/Microsoft.CodeTransparency/main.tsp b/specification/confidentialledger/Microsoft.CodeTransparency/main.tsp index 87a47f2c8fdb..895724717f60 100644 --- a/specification/confidentialledger/Microsoft.CodeTransparency/main.tsp +++ b/specification/confidentialledger/Microsoft.CodeTransparency/main.tsp @@ -12,9 +12,7 @@ using Azure.Core; using Azure.Core.Traits; #suppress "@azure-tools/typespec-autorest/unsupported-http-auth-scheme" -@service({ - title: "Microsoft Code Transparency Service", -}) +@service(#{ title: "Microsoft Code Transparency Service" }) @useAuth(BearerAuth) @server( "{endpoint}", diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/acks.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/acks.tsp index 1e95fb0537dc..5be21259ac7a 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/acks.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/acks.tsp @@ -12,7 +12,7 @@ namespace Microsoft.ManagedCcf.Acks; @TypeSpec.Rest.resource("state-digests") model StateDigest { @doc("Identifier for member this stateDigest applies to.") - @visibility("query") + @visibility(Lifecycle.Query) @key memberId: memberId; diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp index d7e3ca861ee4..c0d0c5ff43fd 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/main.tsp @@ -8,9 +8,7 @@ import "./service_state.tsp"; import "./transactions.tsp"; #suppress "@azure-tools/typespec-azure-core/auth-required" "!!FIXME!!" -@service({ - title: "Managed CCF Governance", -}) +@service(#{ title: "Managed CCF Governance" }) @TypeSpec.Versioning.versioned(Microsoft.ManagedCcf.Versions) namespace Microsoft.ManagedCcf; diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp index 555708d3db72..6b76fa1c63ef 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp @@ -97,7 +97,7 @@ model ProposalActions { @TypeSpec.Rest.parentResource(Proposal) model Ballot { @doc("ID of CCF member who signed and submitted this ballot.") - @visibility("query") + @visibility(Lifecycle.Query) @key memberId: memberId; diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/recovery.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/recovery.tsp index 713cd4497ff5..9ba4e09d3861 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/recovery.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/recovery.tsp @@ -12,7 +12,7 @@ namespace Microsoft.ManagedCcf.Recovery; @TypeSpec.Rest.resource("encrypted-shares") model EncryptedRecoveryShare { @doc("ID of CCF member who this recovery share belongs to.") - @visibility("query") + @visibility(Lifecycle.Query) @key memberId: memberId; @@ -42,7 +42,7 @@ model RecoveryResponse { @TypeSpec.Rest.resource("members") model Member { @doc("Identifier for member this recovery state applies to.") - @visibility("query") + @visibility(Lifecycle.Query) @key memberId: memberId; } diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp index 0d84f59a9b4a..6647a2a7108c 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp @@ -129,7 +129,7 @@ model Node { @doc("Constitution used to make governance decisions on the service. All governance changes are presented as proposals which must be validated, approved, and applied by the code in this constitution.") model ConstitutionResponse { @doc("Singleton key for accessing constitution") - @visibility("query") + @visibility(Lifecycle.Query) @key id: "constitution"; @@ -195,7 +195,7 @@ model JsOperations extends Record {} @doc("Describes the currently installed JavaScript application.") model JsApp { @doc("Singleton key for accessing javascript-app.") - @visibility("query") + @visibility(Lifecycle.Query) @key id: "javascript-app"; @@ -233,7 +233,7 @@ model SnpJoinPolicy { @doc("Collection of all policies which determine currently acceptable nodes, across multiple platforms.") model JoinPolicies { @doc("Singleton key for accessing join-policy") - @visibility("query") + @visibility(Lifecycle.Query) @key id: "join-policy"; @@ -278,7 +278,7 @@ scalar caCertBundle extends string; @doc("Describes what Javascript Web Tokens (JWTs) are accepted by the service, and how they will be validated.") model JwkInfo { @doc("Singleton key for accessing jwk") - @visibility("query") + @visibility(Lifecycle.Query) @key id: "jwk"; @@ -311,7 +311,7 @@ union ServiceStatus { @TypeSpec.Rest.resource("service") model ServiceInfo { @doc("Singleton key for accessing info.") - @visibility("query") + @visibility(Lifecycle.Query) @key id: "info"; diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp index ba526669d83a..55a3eb35ad7c 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp @@ -35,7 +35,7 @@ model Transaction { @TypeSpec.Rest.resource("transactions") model NamedTransaction { @doc("Identifier of the requested transaction.") - @visibility("query") + @visibility(Lifecycle.Query) @key transactionId: transactionId; @@ -46,7 +46,7 @@ model NamedTransaction { @TypeSpec.Rest.resource("transactions") model CommittedTransaction { @doc("Singleton key for accessing commit.") - @visibility("query") + @visibility(Lifecycle.Query) @key id: "commit"; diff --git a/specification/connectedcache/ConnectedCache.Management/enterpriseMccCacheNodes.tsp b/specification/connectedcache/ConnectedCache.Management/enterpriseMccCacheNodes.tsp index b16ea1d63000..d038829f13db 100644 --- a/specification/connectedcache/ConnectedCache.Management/enterpriseMccCacheNodes.tsp +++ b/specification/connectedcache/ConnectedCache.Management/enterpriseMccCacheNodes.tsp @@ -47,7 +47,7 @@ interface EnterpriseMccCacheNodesOperations { } @@visibility(Azure.ResourceManager.TrackedResource.properties, - "create", - "update", - "read" + Lifecycle.Create, + Lifecycle.Update, + Lifecycle.Read ); diff --git a/specification/connectedcache/ConnectedCache.Management/main.tsp b/specification/connectedcache/ConnectedCache.Management/main.tsp index 21af9a3deb45..6256f15fc652 100644 --- a/specification/connectedcache/ConnectedCache.Management/main.tsp +++ b/specification/connectedcache/ConnectedCache.Management/main.tsp @@ -16,9 +16,7 @@ using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; @armProviderNamespace -@service({ - title: "ConnectedCache", -}) +@service(#{ title: "ConnectedCache" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @doc("Microsoft Connected Cache Rest Api version 2023-05-01-preview") diff --git a/specification/connectedcache/ConnectedCache.Management/models.tsp b/specification/connectedcache/ConnectedCache.Management/models.tsp index 99b41ada5a1e..2a6809b4c8fd 100644 --- a/specification/connectedcache/ConnectedCache.Management/models.tsp +++ b/specification/connectedcache/ConnectedCache.Management/models.tsp @@ -124,7 +124,7 @@ union CycleType { @doc("Model representing Cache Node for ConnectedCache resource") model CacheNodeOldResponse { @doc("The provisioned state of the resource") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("statusCode used to get code details of Mcc response object") @@ -137,7 +137,7 @@ model CacheNodeOldResponse { statusDetails?: string; @doc("status of the HTTP error code") - @visibility("read") + @visibility(Lifecycle.Read) status?: string; @doc("The error details") @@ -148,14 +148,14 @@ model CacheNodeOldResponse { model ConnectedCachePatchResource { #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "Existing api" @doc("Resource tags.") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) tags?: Record; } @doc("Model representing customer for connectedCache resource") model CustomerProperty { @doc("The provisioned state of the resource") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("Mcc customer resource (customer entity).") @@ -165,23 +165,23 @@ model CustomerProperty { additionalCustomerProperties?: AdditionalCustomerProperties; @doc("Mcc response status code.") - @visibility("read") + @visibility(Lifecycle.Read) statusCode?: string; @doc("Mcc response status text as string for retrieving status details.") - @visibility("read") + @visibility(Lifecycle.Read) statusText?: string; @doc("Mcc response status details for retrieving response inner details.") - @visibility("read") + @visibility(Lifecycle.Read) statusDetails?: string; @doc("HTTP error status code.") - @visibility("read") + @visibility(Lifecycle.Read) status?: string; @doc("Mcc response error details.") - @visibility("read") + @visibility(Lifecycle.Read) error?: Azure.ResourceManager.Foundations.ErrorDetail; } @@ -191,7 +191,7 @@ model CustomerEntity { fullyQualifiedResourceId?: string; @doc("Customer resource Guid Id.") - @visibility("read") + @visibility(Lifecycle.Read) customerId?: string; @doc("Customer resource name.") @@ -213,22 +213,22 @@ model CustomerEntity { releaseVersion?: int32; @doc("Customer resource create async operation Id.") - @visibility("read") + @visibility(Lifecycle.Read) createAsyncOperationId?: string; @doc("Customer resource deletion async operation Id.") - @visibility("read") + @visibility(Lifecycle.Read) deleteAsyncOperationId?: string; @doc("Customer resource client tenant Id of subscription.") clientTenantId?: string; @doc("Customer resource sync attempts.") - @visibility("read") + @visibility(Lifecycle.Read) synchWithAzureAttemptsCount?: int32; @doc("Customer resource last Azure sync timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) lastSyncWithAzureTimestamp?: utcDateTime; @doc("Customer resource flag for enterprise management as boolean.") @@ -244,7 +244,7 @@ model CustomerEntity { verifySignupCode?: boolean; @doc("Customer resource phrase for verifying signup.") - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret verifySignupPhrase?: string; } @@ -252,71 +252,71 @@ model CustomerEntity { @doc("Model representing customer for connected cache resource") model AdditionalCustomerProperties { @doc("Customer resource last PeeringDB update timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) peeringDbLastUpdateTime?: utcDateTime; @doc("Customer resource cache efficiency.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewCacheEfficiency?: float32; @doc("Customer resource average egress in Mbps.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewAverageEgressMbps?: float32; @doc("Customer resource average cache miss throughput in Mbps.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewAverageMissMbps?: float32; @doc("Customer resource maximum egress in Mbps.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewEgressMbpsMax?: float32; @doc("Customer resource peak egress timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewEgressMbpsMaxDateTime?: utcDateTime; @doc("Customer resource maximum cache miss throughput in Mbps.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewMissMbpsMax?: float32; @doc("Customer resource peak cache miss throughput timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewMissMbpsMaxDateTime?: utcDateTime; @doc("Customer resource total healthy cache nodes.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewCacheNodesHealthyCount?: int32; @doc("Customer resource total unhealthy cache nodes.") - @visibility("read") + @visibility(Lifecycle.Read) customerPropertiesOverviewCacheNodesUnhealthyCount?: int32; @doc("Customer resource signup status as boolean.") - @visibility("read") + @visibility(Lifecycle.Read) signupStatus?: boolean; @doc("Customer resource signup status as integer code.") - @visibility("read") + @visibility(Lifecycle.Read) signupStatusCode?: int32; @doc("Customer resource signup status as string text.") - @visibility("read") + @visibility(Lifecycle.Read) signupStatusText?: string; @doc("Customer resource signup phase status code as integer.") - @visibility("read") + @visibility(Lifecycle.Read) signupPhaseStatusCode?: int32; @doc("Customer resource signup phase status as string text.") - @visibility("read") + @visibility(Lifecycle.Read) signupPhaseStatusText?: string; @doc("Customer resource last PeeringDB update timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) peeringDbLastUpdateDate?: utcDateTime; @doc("Customer resource owner organization name.") - @visibility("read") + @visibility(Lifecycle.Read) customerOrgName?: string; @doc("Customer resource contact email.") @@ -332,7 +332,7 @@ model AdditionalCustomerProperties { customerAsn?: string; @doc("Customer resource estimated Asn peering peak in Gbps.") - @visibility("read") + @visibility(Lifecycle.Read) customerAsnEstimatedEgressPeekGbps?: float32; @doc("Customer resource entitlement Sku Id.") @@ -366,7 +366,7 @@ model AdditionalCustomerProperties { @doc("Model representing an Mcc cache node connectedCache resource") model CacheNodeProperty { @doc("The provisioned state of the resource") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("Mcc cache node resource (cache node entity).") @@ -385,7 +385,7 @@ model CacheNodeProperty { statusDetails?: string; @doc("HTTP error status code.") - @visibility("read") + @visibility(Lifecycle.Read) status?: string; @doc("Mcc response error details.") @@ -398,7 +398,7 @@ model CacheNodeEntity { fullyQualifiedResourceId?: string; @doc("Cache node resource customer resource GUID Id.") - @visibility("read") + @visibility(Lifecycle.Read) customerId?: string; @doc("Cache node resource customer resource name.") @@ -426,147 +426,147 @@ model CacheNodeEntity { maxAllowableEgressInMbps?: int32; @doc("Cache node resource maximum allowed probability of egress.") - @visibility("read") + @visibility(Lifecycle.Read) maxAllowableProbability?: float32; @doc("Cache node resource Azure XCid.") - @visibility("read") + @visibility(Lifecycle.Read) xCid?: string; @doc("Cache node resource flag for determining if managed by enterprise as boolean.") isEnterpriseManaged?: boolean; @doc("Cache node resource create async operation Id.") - @visibility("read") + @visibility(Lifecycle.Read) createAsyncOperationId?: string; @doc("Cache node resource deletion async operation Id.") - @visibility("read") + @visibility(Lifecycle.Read) deleteAsyncOperationId?: string; @doc("Cache node resource customer resource client tenant Id of subscription.") - @visibility("read") + @visibility(Lifecycle.Read) clientTenantId?: string; @doc("Cache node resource category.") - @visibility("read") + @visibility(Lifecycle.Read) category?: string; @doc("Cache node resource release version.") - @visibility("read") + @visibility(Lifecycle.Read) releaseVersion?: int32; @doc("Cache node resource last sync timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) lastSyncWithAzureTimestamp?: utcDateTime; @doc("Cache node resource last backend updated timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) lastUpdatedTimestamp?: utcDateTime; @doc("Cache node resource attempts to sync with Azure.") - @visibility("read") + @visibility(Lifecycle.Read) synchWithAzureAttemptsCount?: int32; @doc("Cache node resource container configuration details.") - @visibility("read") + @visibility(Lifecycle.Read) containerConfigurations?: string; @doc("Cache node resource comma separated values of Cidrs.") cidrCsv?: string[]; @doc("Cache node resource last Cidr Csv update timestamp") - @visibility("read") + @visibility(Lifecycle.Read) cidrCsvLastUpdateTime?: utcDateTime; @doc("Cache node resource last Bgp Cidr Csv update timestamp") - @visibility("read") + @visibility(Lifecycle.Read) bgpCidrCsvLastUpdateTime?: utcDateTime; @doc("Cache node resource last Bgp report timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) bgpLastReportedTime?: utcDateTime; @doc("Cache node resource Bgp review state string text in detail.") - @visibility("read") + @visibility(Lifecycle.Read) bgpReviewStateText?: string; @doc("Cache node resource Bgp review state string text.") - @visibility("read") + @visibility(Lifecycle.Read) bgpReviewState?: BgpReviewStateEnum; @doc("Cache node resource Bgp review feedback text.") - @visibility("read") + @visibility(Lifecycle.Read) bgpReviewFeedback?: string; @doc("Cache node resource Bgp update count.") - @visibility("read") + @visibility(Lifecycle.Read) bgpNumberOfTimesUpdated?: int32; @doc("Cache node resource Bgp record count.") - @visibility("read") + @visibility(Lifecycle.Read) bgpNumberOfRecords?: int32; @doc("Cache node resource Bgp block count.") - @visibility("read") + @visibility(Lifecycle.Read) bgpCidrBlocksCount?: int32; @doc("Cache node resource total addressable space defined by Bgp and Cidr Csv blocks.") - @visibility("read") + @visibility(Lifecycle.Read) bgpAddressSpace?: int32; @doc("Cache node resource flag for determining if customer will be migrated.") shouldMigrate?: boolean; @doc("Cache node resource bytes truncated from Bgp output file.") - @visibility("read") + @visibility(Lifecycle.Read) bgpFileBytesTruncated?: int32; @doc("Cache node resource current Cidr range precedence selection type.") cidrSelectionType?: int32; @doc("Cache node resource flag for indicating the cache node resource is frozen (not selectable, not editable in UI).") - @visibility("read") + @visibility(Lifecycle.Read) isFrozen?: boolean; @doc("Cache node resource review process state as integer") - @visibility("read") + @visibility(Lifecycle.Read) reviewState?: int32; @doc("Cache node resource review state text.") - @visibility("read") + @visibility(Lifecycle.Read) reviewStateText?: string; @doc("Cache node resource review feedback text.") - @visibility("read") + @visibility(Lifecycle.Read) reviewFeedback?: string; @doc("Cache node resource configuration state.") - @visibility("read") + @visibility(Lifecycle.Read) configurationState?: ConfigurationState; @doc("Cache node resource configuration state text.") - @visibility("read") + @visibility(Lifecycle.Read) configurationStateText?: string; @doc("Cache node resource total addressable space defined by the Cidr Csv block.") - @visibility("read") + @visibility(Lifecycle.Read) addressSpace?: int32; @doc("Cache node resource Mcc container deployment worker connection count.") - @visibility("read") + @visibility(Lifecycle.Read) workerConnections?: int32; @doc("Cache node resource last updated Mcc container deployment worker connection count timestamp.") - @visibility("read") + @visibility(Lifecycle.Read) workerConnectionsLastUpdatedDateTime?: utcDateTime; @doc("Cache node resource Mcc container configuration details re-sync trigger.") - @visibility("read") + @visibility(Lifecycle.Read) containerResyncTrigger?: int32; @doc("Cache node resource Mcc Container Id Uri.") - @visibility("read") + @visibility(Lifecycle.Read) imageUri?: string; @doc("FQDN(fully qualified domain name) value of the mcc cache node") @@ -596,35 +596,35 @@ model AdditionalCacheNodeProperties { cacheNodePropertiesDetailsIssuesList?: string[]; @doc("Cache node resource aggregated status details.") - @visibility("read") + @visibility(Lifecycle.Read) aggregatedStatusDetails?: string; @doc("Cache node resource aggregated status text.") - @visibility("read") + @visibility(Lifecycle.Read) aggregatedStatusText?: string; @doc("Cache node resource aggregated status code.") - @visibility("read") + @visibility(Lifecycle.Read) aggregatedStatusCode?: int32; @doc("Cache node resource Mcc product version.") - @visibility("read") + @visibility(Lifecycle.Read) productVersion?: string; @doc("Cache node resource flag indicating if cache node has been physically installed or provisioned on their physical lab.") - @visibility("read") + @visibility(Lifecycle.Read) isProvisioned?: boolean; @doc("Cache node resource detailed state text.") - @visibility("read") + @visibility(Lifecycle.Read) cacheNodeStateDetailedText?: string; @doc("Cache node resource short state text.") - @visibility("read") + @visibility(Lifecycle.Read) cacheNodeStateShortText?: string; @doc("Cache node resource state as integer.") - @visibility("read") + @visibility(Lifecycle.Read) cacheNodeState?: int32; #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "" @@ -659,31 +659,31 @@ model AdditionalCacheNodeProperties { updateRequestedDateTime?: utcDateTime; @doc("Auto update version that is the Next available version to update on mcc cache node") - @visibility("read") + @visibility(Lifecycle.Read) autoUpdateNextAvailableVersion?: string; @doc("Auto update last applied date time of mcc install") - @visibility("read") + @visibility(Lifecycle.Read) autoUpdateNextAvailableDateTime?: utcDateTime; @doc("Auto update version that is the applied to update on mcc cache node") - @visibility("read") + @visibility(Lifecycle.Read) autoUpdateAppliedVersion?: string; @doc("Auto Update status details from the backend after applying the new version details") - @visibility("read") + @visibility(Lifecycle.Read) autoUpdateLastAppliedDetails?: string; @doc("Last applied auto update state for mcc install of auto update cycle") - @visibility("read") + @visibility(Lifecycle.Read) autoUpdateLastAppliedState?: string; @doc("Auto update last applied date time of mcc install") - @visibility("read") + @visibility(Lifecycle.Read) autoUpdateLastAppliedDateTime?: utcDateTime; @doc("Auto update last triggered date time of mcc install") - @visibility("read") + @visibility(Lifecycle.Read) autoUpdateLastTriggeredDateTime?: utcDateTime; @doc("Optional property #1 of Mcc response object") @@ -742,7 +742,7 @@ model MccCacheNodeBgpCidrDetails @doc("Mcc cache node Bgp Cidr details.") model BgpCidrsConfiguration { @doc("Mcc cache node Bgp Cidr details.") - @visibility("read") + @visibility(Lifecycle.Read) bgpCidrs?: string[]; } @@ -763,17 +763,17 @@ model CacheNodeInstallProperties { cacheNodeId?: string; @doc("Mcc primary account key. Internal to Mcc.") - @visibility("read") + @visibility(Lifecycle.Read) @secret primaryAccountKey?: string; @doc("Mcc secondary account key. Internal to Mcc.") - @visibility("read") + @visibility(Lifecycle.Read) @secret secondaryAccountKey?: string; @doc("Mcc Iot Central temporary device registration key, used once.") - @visibility("read") + @visibility(Lifecycle.Read) @secret registrationKey?: string; } diff --git a/specification/containerservice/Fleet.Management/fleet.tsp b/specification/containerservice/Fleet.Management/fleet.tsp index ab7435f608ab..3567d264f43d 100644 --- a/specification/containerservice/Fleet.Management/fleet.tsp +++ b/specification/containerservice/Fleet.Management/fleet.tsp @@ -25,7 +25,7 @@ model Fleet is TrackedResource { @key("fleetName") @path @segment("fleets") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) name: string; ...EntityTagProperty; @@ -42,7 +42,7 @@ model FleetProperties { // omitting it for now as response headers do not impact SDK generation. // ...EtagResponseEnvelope; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: FleetProvisioningState; @@ -61,7 +61,7 @@ model FleetProperties { @doc("The FleetHubProfile configures the fleet hub.") model FleetHubProfile { @doc("DNS prefix used to create the FQDN for the Fleet hub.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @pattern("^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$") @minLength(1) @maxLength(54) @@ -69,24 +69,24 @@ model FleetHubProfile { @added(Versions.v2023_06_15_preview) @doc("The access profile for the Fleet hub API server.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) apiServerAccessProfile?: APIServerAccessProfile; @added(Versions.v2023_06_15_preview) @doc("The agent profile for the Fleet hub.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) agentProfile?: AgentProfile; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The FQDN of the Fleet hub.") fqdn?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Kubernetes version of the Fleet hub.") kubernetesVersion?: string; @added(Versions.v2023_08_15_preview) - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Azure Portal FQDN of the Fleet hub.") portalFqdn?: string; } @@ -101,18 +101,18 @@ scalar SubnetResourceId #suppress "@azure-tools/typespec-azure-core/casing-style" "match existing AKS APIServerAccessProfile" @doc("Access profile for the Fleet hub API server.") model APIServerAccessProfile { - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Whether to create the Fleet hub as a private cluster or not.") enablePrivateCluster?: boolean; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @added(Versions.v2023_06_15_preview) @removed(Versions.v2024_04_01) @added(Versions.v2024_05_02_preview) @doc("Whether to enable apiserver vnet integration for the Fleet hub or not.") enableVnetIntegration?: boolean; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @added(Versions.v2023_06_15_preview) @removed(Versions.v2024_04_01) @added(Versions.v2024_05_02_preview) @@ -122,13 +122,13 @@ model APIServerAccessProfile { @doc("Agent profile for the Fleet hub.") model AgentProfile { - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("The ID of the subnet which the Fleet hub node will join on startup. If this is not specified, a vnet and subnet will be generated and used.") subnetId?: SubnetResourceId; @added(Versions.v2023_08_15_preview) @doc("The virtual machine size of the Fleet hub.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) vmSize?: string; } @@ -163,20 +163,20 @@ model FleetPatch { @doc("One credential result item.") model FleetCredentialResult { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The name of the credential.") name?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Base64-encoded Kubernetes configuration file.") value?: bytes; } @doc("The Credential results response.") model FleetCredentialResults { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Array of base64-encoded Kubernetes configuration files.") - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) kubeconfigs?: FleetCredentialResult[]; } @@ -213,9 +213,7 @@ interface Fleets { @operationId("Fleets_Update") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "original-uri", - } + #{ `final-state-via`: "original-uri" } ) @sharedRoute updateAsync is ArmCustomPatchAsync< diff --git a/specification/containerservice/Fleet.Management/fleetmember.tsp b/specification/containerservice/Fleet.Management/fleetmember.tsp index 6da428ce9561..17ca4859798d 100644 --- a/specification/containerservice/Fleet.Management/fleetmember.tsp +++ b/specification/containerservice/Fleet.Management/fleetmember.tsp @@ -21,7 +21,7 @@ model FleetMember is ProxyResource { @key("fleetMemberName") @path @segment("members") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) name: string; ...EntityTagProperty; @@ -40,7 +40,7 @@ model FleetMemberProperties { // omitting it for now as response headers do not impact SDK generation. // ...EtagResponseEnvelope; - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @doc("The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. e.g.: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'.") clusterResourceId: ClusterResourceId; @@ -51,7 +51,7 @@ model FleetMemberProperties { @added(Versions.v2023_03_15_preview) group?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: FleetMemberProvisioningState; } @@ -106,9 +106,7 @@ interface FleetMembers { @operationId("FleetMembers_Update") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "original-uri", - } + #{ `final-state-via`: "original-uri" } ) updateAsync is ArmCustomPatchAsync< FleetMember, diff --git a/specification/containerservice/Fleet.Management/helpers.tsp b/specification/containerservice/Fleet.Management/helpers.tsp index bf648fe7ecb9..3b78f8082d2d 100644 --- a/specification/containerservice/Fleet.Management/helpers.tsp +++ b/specification/containerservice/Fleet.Management/helpers.tsp @@ -51,9 +51,7 @@ op FleetCustomPatchSync< @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) @armResourceCreateOrUpdate(TResource) @put @@ -76,9 +74,7 @@ op FleetArmResourceCreateOrUpdateAsync< @doc("Delete a {name}", TResource) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) @armResourceDelete(TResource) @delete diff --git a/specification/containerservice/Fleet.Management/main.tsp b/specification/containerservice/Fleet.Management/main.tsp index 1a7e6c1fa51f..55c8e75c9a78 100644 --- a/specification/containerservice/Fleet.Management/main.tsp +++ b/specification/containerservice/Fleet.Management/main.tsp @@ -13,9 +13,7 @@ using TypeSpec.Versioning; using TypeSpec.OpenAPI; @armProviderNamespace -@service({ - title: "ContainerServiceFleetClient", -}) +@service(#{ title: "ContainerServiceFleetClient" }) @doc("Azure Kubernetes Fleet Manager api client.") @versioned(Versions) namespace Microsoft.ContainerService; diff --git a/specification/containerservice/Fleet.Management/update/autoupgradeprofile.tsp b/specification/containerservice/Fleet.Management/update/autoupgradeprofile.tsp index f2840d188c41..d73d9e789bac 100644 --- a/specification/containerservice/Fleet.Management/update/autoupgradeprofile.tsp +++ b/specification/containerservice/Fleet.Management/update/autoupgradeprofile.tsp @@ -30,7 +30,7 @@ model AutoUpgradeProfile @minLength(1) @maxLength(50) @path - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) name: string; ...EntityTagProperty; @@ -45,11 +45,11 @@ union AutoUpgradeProfileProvisioningState { @doc("The properties of the AutoUpgradeProfile.") @added(Versions.v2024_05_02_preview) model AutoUpgradeProfileProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the AutoUpgradeProfile resource.") provisioningState?: AutoUpgradeProfileProvisioningState; - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @doc("The resource id of the UpdateStrategy resource to reference. If not specified, the auto upgrade will run on all clusters which are members of the fleet.") updateStrategyId?: FleetUpdateStrategyResourceId; @@ -88,7 +88,7 @@ union UpgradeChannel { @doc("The node image upgrade to be applied to the target clusters in auto upgrade.") @added(Versions.v2024_05_02_preview) model AutoUpgradeNodeImageSelection { - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @doc("The node image upgrade type.") type: AutoUpgradeNodeImageSelectionType; } diff --git a/specification/containerservice/Fleet.Management/update/common.tsp b/specification/containerservice/Fleet.Management/update/common.tsp index 258ff298c61a..b23abf99439e 100644 --- a/specification/containerservice/Fleet.Management/update/common.tsp +++ b/specification/containerservice/Fleet.Management/update/common.tsp @@ -13,7 +13,7 @@ namespace Microsoft.ContainerService; A valid strategy contains no duplicate groups within or across stages. """) model UpdateRunStrategy { - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) @doc("The list of stages that compose this update run. Min size: 1.") stages: UpdateStage[]; } @@ -26,7 +26,7 @@ model UpdateStage { @maxLength(50) name: string; - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) @doc("Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.") groups?: UpdateGroup[]; diff --git a/specification/containerservice/Fleet.Management/update/run.tsp b/specification/containerservice/Fleet.Management/update/run.tsp index c4545b678ddb..65132b3d228b 100644 --- a/specification/containerservice/Fleet.Management/update/run.tsp +++ b/specification/containerservice/Fleet.Management/update/run.tsp @@ -24,7 +24,7 @@ model UpdateRun is ProxyResource { @minLength(1) @maxLength(50) @path - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) name: string; ...EntityTagProperty; @@ -45,7 +45,7 @@ scalar FleetUpdateStrategyResourceId @doc("The properties of the UpdateRun.") model UpdateRunProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the UpdateRun resource.") provisioningState?: UpdateRunProvisioningState; @@ -76,7 +76,7 @@ model UpdateRunProperties { @doc("The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be modified until the run is started.") managedClusterUpdate: ManagedClusterUpdate; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the UpdateRun.") status?: UpdateRunStatus; } @@ -86,7 +86,7 @@ model ManagedClusterUpdate { @doc("The upgrade to apply to the ManagedClusters.") upgrade: ManagedClusterUpgradeSpec; - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @doc("The node image upgrade to be applied to the target nodes in update run.") @added(Versions.v2023_06_15_preview) nodeImageSelection?: NodeImageSelection; @@ -95,13 +95,13 @@ model ManagedClusterUpdate { @doc("The node image upgrade to be applied to the target nodes in update run.") @added(Versions.v2023_06_15_preview) model NodeImageSelection { - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @doc("The node image upgrade type.") type: NodeImageSelectionType; @added(Versions.v2024_05_02_preview) @doc("Custom node image versions to upgrade the nodes to. This field is required if node image selection type is Custom. Otherwise, it must be empty. For each node image family (e.g., 'AKSUbuntu-1804gen2containerd'), this field can contain at most one version (e.g., only one of 'AKSUbuntu-1804gen2containerd-2023.01.12' or 'AKSUbuntu-1804gen2containerd-2023.02.12', not both). If the nodes belong to a family without a matching image version in this field, they are not upgraded.") - @extension("x-ms-identifiers", ["version"]) + @identifiers(#["version"]) customNodeImageVersions?: NodeImageVersion[]; } @@ -176,35 +176,35 @@ union UpdateState { @doc("The status for an operation or group of operations.") model UpdateStatus { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The time the operation or group was started.") startTime?: utcDateTime; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The time the operation or group was completed.") completedTime?: utcDateTime; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The State of the operation or group.") state?: UpdateState; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The error details when a failure is encountered.") error?: Azure.ResourceManager.Foundations.ErrorDetail; // https://github.com/Azure/azure-rest-api-specs/blob/1de0b5315d62e1b40052bad2c9a2f2c89d84ff0f/specification/common-types/resource-management/v5/types.json#L260 } @doc("The status of a UpdateRun.") model UpdateRunStatus { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the UpdateRun.") status?: UpdateStatus; - @visibility("read") - @extension("x-ms-identifiers", ["name"]) + @visibility(Lifecycle.Read) + @extension("x-ms-identifiers", #["name"]) @doc("The stages composing an update run. Stages are run sequentially withing an UpdateRun.") stages?: UpdateStageStatus[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The node image upgrade specs for the update run. It is only set in update run when `NodeImageSelection.type` is `Consistent`.") @added(Versions.v2023_06_15_preview) nodeImageSelection?: NodeImageSelectionStatus; @@ -213,8 +213,8 @@ model UpdateRunStatus { @doc("The node image upgrade specs for the update run.") @added(Versions.v2023_06_15_preview) model NodeImageSelectionStatus { - @extension("x-ms-identifiers", ["version"]) - @visibility("read") + @visibility(Lifecycle.Read) + @identifiers(#["version"]) @doc("The image versions to upgrade the nodes to.") selectedNodeImageVersions?: NodeImageVersion[]; } @@ -222,77 +222,77 @@ model NodeImageSelectionStatus { @doc("The node upgrade image version.") @added(Versions.v2023_06_15_preview) model NodeImageVersion { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The image version to upgrade the nodes to (e.g., 'AKSUbuntu-1804gen2containerd-2022.12.13').") version?: string; } @doc("The status of a UpdateStage.") model UpdateStageStatus { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the UpdateStage.") status?: UpdateStatus; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The name of the UpdateStage.") name?: string; - @visibility("read") - @extension("x-ms-identifiers", ["name"]) + @visibility(Lifecycle.Read) + @extension("x-ms-identifiers", #["name"]) @doc("The list of groups to be updated as part of this UpdateStage.") groups?: UpdateGroupStatus[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the wait period configured on the UpdateStage.") afterStageWaitStatus?: WaitStatus; } @doc("The status of a UpdateGroup.") model UpdateGroupStatus { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the UpdateGroup.") status?: UpdateStatus; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The name of the UpdateGroup.") name?: string; - @visibility("read") - @extension("x-ms-identifiers", ["name"]) + @visibility(Lifecycle.Read) + @extension("x-ms-identifiers", #["name"]) @doc("The list of member this UpdateGroup updates.") members?: MemberUpdateStatus[]; } @doc("The status of the wait duration.") model WaitStatus { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the wait duration.") status?: UpdateStatus; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The wait duration configured in seconds.") waitDurationInSeconds?: int32; } @doc("The status of a member update operation.") model MemberUpdateStatus { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the MemberUpdate operation.") status?: UpdateStatus; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The name of the FleetMember.") name?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Azure resource id of the target Kubernetes cluster.") clusterResourceId?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The operation resource id of the latest attempt to perform the operation.") operationId?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status message after processing the member update operation.") @added(Versions.v2023_06_15_preview) message?: string; @@ -334,7 +334,7 @@ model SkipTarget { @added(Versions.v2024_02_02_preview) model SkipProperties { @doc("The targets to skip.") - @extension("x-ms-identifiers", ["type", "name"]) + @identifiers(#["type", "name"]) targets: SkipTarget[]; } diff --git a/specification/containerservice/Fleet.Management/update/strategy.tsp b/specification/containerservice/Fleet.Management/update/strategy.tsp index 38c5e48fed09..88f622312375 100644 --- a/specification/containerservice/Fleet.Management/update/strategy.tsp +++ b/specification/containerservice/Fleet.Management/update/strategy.tsp @@ -27,7 +27,7 @@ model FleetUpdateStrategy is ProxyResource { @minLength(1) @maxLength(50) @path - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) name: string; ...EntityTagProperty; @@ -41,11 +41,11 @@ union FleetUpdateStrategyProvisioningState { @doc("The properties of the UpdateStrategy.") model FleetUpdateStrategyProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the UpdateStrategy resource.") provisioningState?: FleetUpdateStrategyProvisioningState; - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) @doc("Defines the update sequence of the clusters.") strategy: UpdateRunStrategy; } @@ -70,9 +70,7 @@ interface FleetUpdateStrategies { #suppress "@azure-tools/typespec-azure-core/no-openapi" "DO NOT COPY - migrate to LRO apis" @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) delete is ArmResourceDeleteAsync< FleetUpdateStrategy, diff --git a/specification/containerstorage/ContainerStorage.Management/assignment.tsp b/specification/containerstorage/ContainerStorage.Management/assignment.tsp index 7db50eb86839..a4bd791ca8bf 100644 --- a/specification/containerstorage/ContainerStorage.Management/assignment.tsp +++ b/specification/containerstorage/ContainerStorage.Management/assignment.tsp @@ -37,11 +37,11 @@ scalar AssignmentId @doc("Assignment Properties") model Assignment { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Indicates if the assignment is in a usable state") status?: AssignmentStatus; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Resource id for the assigned resource") id: AssignmentId; } diff --git a/specification/containerstorage/ContainerStorage.Management/main.tsp b/specification/containerstorage/ContainerStorage.Management/main.tsp index 660b6199a9b1..b2e6b774ebd6 100644 --- a/specification/containerstorage/ContainerStorage.Management/main.tsp +++ b/specification/containerstorage/ContainerStorage.Management/main.tsp @@ -11,9 +11,7 @@ using TypeSpec.Versioning; using Azure.ResourceManager; @armProviderNamespace -@service({ - title: "Azure-ContainerStorageRP", -}) +@service(#{ title: "Azure-ContainerStorageRP" }) @versioned(Versions) @doc("Azure Container Storage Resource Provider API.") namespace Microsoft.ContainerStorage; diff --git a/specification/containerstorage/ContainerStorage.Management/pool.tsp b/specification/containerstorage/ContainerStorage.Management/pool.tsp index 058c739b4908..759cbb8a0457 100644 --- a/specification/containerstorage/ContainerStorage.Management/pool.tsp +++ b/specification/containerstorage/ContainerStorage.Management/pool.tsp @@ -16,9 +16,7 @@ interface Pools { #suppress "@azure-tools/typespec-azure-core/no-openapi" "DOT NOT COPY - migrate to LRO apis" @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrReplaceAsync< @@ -49,14 +47,14 @@ model Pool is TrackedResource { @doc("Pool Properties") model PoolProperties { @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("The operational status of the resource") - @visibility("read") + @visibility(Lifecycle.Read) status?: ResourceOperationalStatus; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @maxItems(3) @doc("List of availability zones that resources can be created in.") zones?: Zone[]; @@ -68,7 +66,7 @@ model PoolProperties { poolType: PoolType; @doc("ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) reclaimPolicy?: ReclaimPolicy; @doc("List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many.") @@ -137,16 +135,16 @@ model Disk { @doc("Properties shared between azureDisk and elasticSan") model ProvisionedPoolProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Managed resource group for the pool.") resourceGroup?: string; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Sku name") skuName?: SkuType; @doc("Encryption specifies the encryption configuration for the Azure Disk pool") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) encryption?: Encryption; } diff --git a/specification/containerstorage/ContainerStorage.Management/snapshot.tsp b/specification/containerstorage/ContainerStorage.Management/snapshot.tsp index 985c25b21a13..a9722b6a021d 100644 --- a/specification/containerstorage/ContainerStorage.Management/snapshot.tsp +++ b/specification/containerstorage/ContainerStorage.Management/snapshot.tsp @@ -16,9 +16,7 @@ interface Snapshots { #suppress "@azure-tools/typespec-azure-core/no-openapi" "DOT NOT COPY - migrate to LRO apis" @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrReplaceAsync< @@ -43,18 +41,18 @@ model Snapshot is ProxyResource { @doc("Volume Snapshot Properties") model SnapshotProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; @doc("The status of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) status?: ResourceOperationalStatus; @doc("Reference to the source volume") @minLength(3) @maxLength(253) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]$") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) source: string; } diff --git a/specification/containerstorage/ContainerStorage.Management/volume.tsp b/specification/containerstorage/ContainerStorage.Management/volume.tsp index c730fd1676cc..dc5ecf3c69ae 100644 --- a/specification/containerstorage/ContainerStorage.Management/volume.tsp +++ b/specification/containerstorage/ContainerStorage.Management/volume.tsp @@ -16,9 +16,7 @@ interface Volumes { #suppress "@azure-tools/typespec-azure-core/no-openapi" "DOT NOT COPY - migrate to LRO apis" @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrReplaceAsync< @@ -50,12 +48,12 @@ model Volume is ProxyResource { @doc("Volume Properties") model VolumeProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; @doc("The status of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) status?: ResourceOperationalStatus; #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @@ -67,14 +65,14 @@ model VolumeProperties { @minValue(1) capacityGiB: int64; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Properties of the volume") volumeType?: VolumeType; } @doc("Properties of the volume") model VolumeType { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Properties of the ElasticSAN iSCSI target") elasticSan?: ElasticSanVolumeProperties; } diff --git a/specification/contosowidgetmanager/Contoso.Management/employee.tsp b/specification/contosowidgetmanager/Contoso.Management/employee.tsp index b796033881f6..9458cfb54ebd 100644 --- a/specification/contosowidgetmanager/Contoso.Management/employee.tsp +++ b/specification/contosowidgetmanager/Contoso.Management/employee.tsp @@ -28,7 +28,7 @@ model EmployeeProperties { profile?: bytes; /** The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/contosowidgetmanager/Contoso.Management/main.tsp b/specification/contosowidgetmanager/Contoso.Management/main.tsp index 4645475daca6..3554bb219527 100644 --- a/specification/contosowidgetmanager/Contoso.Management/main.tsp +++ b/specification/contosowidgetmanager/Contoso.Management/main.tsp @@ -13,9 +13,7 @@ using Azure.ResourceManager; /** Microsoft.Contoso Resource Provider management API. */ @armProviderNamespace -@service({ - title: "Microsoft.Contoso management service", -}) +@service(#{ title: "Microsoft.Contoso management service" }) @versioned(Microsoft.Contoso.Versions) namespace Microsoft.Contoso; diff --git a/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp b/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp index 7e5e683af7f9..1b81deedc230 100644 --- a/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp +++ b/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp @@ -10,9 +10,7 @@ using TypeSpec.Versioning; using Azure.Core; @useAuth(AadOauth2Auth<["https://contoso.azure.com/.default"]>) -@service({ - title: "Contoso Widget Manager", -}) +@service(#{ title: "Contoso Widget Manager" }) @versioned(Contoso.WidgetManager.Versions) namespace Azure.Contoso.WidgetManager; @@ -28,7 +26,7 @@ enum Versions { model WidgetSuite { @key("widgetName") @doc("The widget name.") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The ID of the widget's manufacturer.") diff --git a/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleet.tsp b/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleet.tsp index 430deadf7ca3..05963457e68f 100644 --- a/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleet.tsp +++ b/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleet.tsp @@ -38,7 +38,7 @@ interface Fleets { /** * Modifies a fleet resource. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetDatabase.tsp b/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetDatabase.tsp index 27ea588ee1df..ae09c0631015 100644 --- a/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetDatabase.tsp +++ b/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetDatabase.tsp @@ -40,7 +40,7 @@ interface FleetDatabases { /** * Updates a fleet database. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetTier.tsp b/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetTier.tsp index dcc1ea57a864..737712b0264f 100644 --- a/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetTier.tsp +++ b/specification/databasefleetmanager/DatabaseFleetManager.Management/FleetTier.tsp @@ -40,7 +40,7 @@ interface FleetTiers { /** * Updates a tier. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleetspace.tsp b/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleetspace.tsp index 0aaf6ab7e4ea..3ea71eca6cf7 100644 --- a/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleetspace.tsp +++ b/specification/databasefleetmanager/DatabaseFleetManager.Management/Fleetspace.tsp @@ -40,7 +40,7 @@ interface Fleetspaces { /** * Modifies a fleetspace resource. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/databasefleetmanager/DatabaseFleetManager.Management/main.tsp b/specification/databasefleetmanager/DatabaseFleetManager.Management/main.tsp index 7283cee9e25a..67aafd7e83ad 100644 --- a/specification/databasefleetmanager/DatabaseFleetManager.Management/main.tsp +++ b/specification/databasefleetmanager/DatabaseFleetManager.Management/main.tsp @@ -27,9 +27,7 @@ using TypeSpec.Versioning; * Database Fleet Client */ @armProviderNamespace -@service({ - title: "DatabaseFleetClient", -}) +@service(#{ title: "DatabaseFleetClient" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.DatabaseFleetManager; diff --git a/specification/databasefleetmanager/DatabaseFleetManager.Management/models.tsp b/specification/databasefleetmanager/DatabaseFleetManager.Management/models.tsp index b8317ee17f3f..a65f7bd2ddcb 100644 --- a/specification/databasefleetmanager/DatabaseFleetManager.Management/models.tsp +++ b/specification/databasefleetmanager/DatabaseFleetManager.Management/models.tsp @@ -103,7 +103,7 @@ model DatabaseChangeTierDefinition { /** * A target tier name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) targetTierName?: string; } @@ -114,101 +114,101 @@ model FleetDatabaseProperties { /** * Resource identifier for the underlying database resource. */ - @visibility("read") + @visibility(Lifecycle.Read) originalDatabaseId?: string; /** * Database state. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureProvisioningState; /** * Create mode. Available options: Default - Create a database. Copy - Copy the source database (source database name must be specified) PointInTimeRestore - Create a database by restoring source database from a point in time (source database name and restore from time must be specified) */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) createMode?: DatabaseCreateMode; /** * Name of the tier this database belongs to. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) tierName?: string; /** * Connection string to connect to the database with. */ - @visibility("read") + @visibility(Lifecycle.Read) connectionString?: string; /** * If true, database is recoverable. */ - @visibility("read") + @visibility(Lifecycle.Read) recoverable?: boolean; /** * Restore from time when CreateMode is PointInTimeRestore. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. restoreFromTime?: utcDateTime; /** * Earliest restore time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. earliestRestoreTime?: utcDateTime; /** * Latest restore time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. latestRestoreTime?: utcDateTime; /** * Backup retention in days. */ - @visibility("read") + @visibility(Lifecycle.Read) backupRetentionDays?: int32; /** * Maximum database size in Gb. */ - @visibility("read") + @visibility(Lifecycle.Read) databaseSizeGbMax?: int32; /** * Source database name used when CreateMode is Copy or PointInTimeRestore. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sourceDatabaseName?: string; /** * Additional database properties to be applied as the underlying database resource tags. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "Model properties or operation parameters should not be of type Record. ARM requires Resource provider teams to define types explicitly." - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) resourceTags?: Record; /** * Identity property. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) identity?: Identity; /** * Transparent Data Encryption properties */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) transparentDataEncryption?: TransparentDataEncryption; /** * Database collation. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) collation?: string; } @@ -219,20 +219,20 @@ model Identity { /** * Identity type of the main principal. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) identityType?: IdentityType; /** * User identity ids */ - @visibility("read", "create", "update") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) + @OpenAPI.extension("x-ms-identifiers", #[]) userAssignedIdentities?: DatabaseIdentity[]; /** * The federated client id for the SQL Database. It is used for cross tenant CMK scenario. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) federatedClientId?: uuid; } @@ -243,7 +243,7 @@ model DatabaseIdentity { /** * Resource Id of the database identity. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) resourceId?: Azure.Core.armResourceIdentifier<[ { type: "Microsoft.ManagedIdentity/userAssignedIdentities"; @@ -253,13 +253,13 @@ model DatabaseIdentity { /** * Principal Id of the database identity. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) principalId?: uuid; /** * Client Id of the database identity. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) clientId?: uuid; } @@ -270,19 +270,19 @@ model TransparentDataEncryption { /** * Customer Managed Key (CMK) Uri. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) keyUri?: url; /** * Additional Keys */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) keys?: string[]; /** * Enable key auto rotation */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) enableAutoRotation?: boolean; } @@ -293,7 +293,7 @@ model DatabaseRenameDefinition { /** * New database name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) newName?: string; } @@ -304,19 +304,19 @@ model FirewallRuleProperties { /** * Start IP address. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) startIpAddress?: string; /** * End IP address. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) endIpAddress?: string; /** * Provisioning state. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureProvisioningState; } @@ -328,13 +328,13 @@ model FleetUpdate { * Resource tags. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) tags?: Record; /** * The Database Fleet properties. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) properties?: FleetProperties; } @@ -345,13 +345,13 @@ model FleetProperties { /** * Fleet description. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) description?: string; /** * Provisioning state. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureProvisioningState; } @@ -362,19 +362,19 @@ model DestinationTierOverride { /** * Resource type. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) resourceType: ResourceType; /** * Destination tier name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) tierName: string; /** * Resource name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) resourceName: string; } @@ -385,31 +385,31 @@ model MainPrincipal { /** * Login name of the main principal. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) login?: string; /** * Application Id of the main principal. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) applicationId?: uuid; /** * Object Id of the main principal. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) objectId?: uuid; /** * Tenant Id of the main principal. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) tenantId?: uuid; /** * Principal type of the main principal. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) principalType?: PrincipalType; } @@ -420,19 +420,19 @@ model FleetspaceProperties { /** * Fleetspace state. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureProvisioningState; /** * Maximum number of vCores database fleet manager is allowed to provision in the fleetspace. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) capacityMax?: int32; /** * Main Microsoft Entra ID principal that has admin access to all databases in the fleetspace. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) mainPrincipal?: MainPrincipal; } @@ -443,32 +443,32 @@ model RegisterServerDefinition { /** * Destination tier name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) tierName?: string; /** * Source subscription id. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sourceSubscriptionId?: string; /** * Source resource group name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sourceResourceGroupName?: string; /** * Source SQL Server name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sourceServerName?: string; /** * Destination tier overrides. */ - @visibility("read", "create") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read, Lifecycle.Create) + @OpenAPI.extension("x-ms-identifiers", #[]) destinationTierOverrides?: DestinationTierOverride[]; } @@ -479,79 +479,79 @@ model FleetTierProperties { /** * If true, tier is disabled. */ - @visibility("read") + @visibility(Lifecycle.Read) disabled?: boolean; /** * If true, serverless resources are provisioned in the tier. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) serverless?: boolean; /** * If true, databases are pooled. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) pooled?: boolean; /** * Service tier of provisioned resources. Supported values: GeneralPurpose, Hyperscale. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) serviceTier?: string; /** * Family of provisioned resources, for example Gen5. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) family?: string; /** * Capacity of provisioned resources in the tier, in units matching the specified service tier, for example vCore for GeneralPurpose. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) capacity?: int32; /** * Maximum number of databases per pool. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) poolNumOfDatabasesMax?: int32; /** * Number of high availability replicas for databases in this tier. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) highAvailabilityReplicaCount?: int32; /** * Enable zone redundancy for all databases in this tier. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) zoneRedundancy?: ZoneRedundancy; /** * Minimum allocated capacity per database, in units matching the specified service tier. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) databaseCapacityMin?: float64; /** * Maximum allocated capacity per database, in units matching the specified service tier. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) databaseCapacityMax?: float64; /** * Maximum database size in Gb. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) databaseSizeGbMax?: int32; /** * Provisioning state. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureProvisioningState; } @@ -562,6 +562,6 @@ model FleetDatabaseFilterParameters { /** * Filter on database tier name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) tierName?: string; } diff --git a/specification/databasewatcher/DatabaseWatcher.Management/alertRuleResources.tsp b/specification/databasewatcher/DatabaseWatcher.Management/alertRuleResources.tsp index fedb1f03b13a..302780195a49 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/alertRuleResources.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/alertRuleResources.tsp @@ -45,7 +45,7 @@ model AlertRuleResourceProperties { @doc("The creation time of the alert rule resource.") creationTime: utcDateTime; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the alert rule resource.") provisioningState?: ResourceProvisioningState; diff --git a/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp b/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp index 2ec06866bdb6..ffcf48c68a78 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp @@ -42,7 +42,7 @@ model TargetProperties { @maxLength(200) connectionServerName: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the resource.") provisioningState?: ResourceProvisioningState; } diff --git a/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp b/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp index c3fded3d3ce3..b59f81da28b4 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp @@ -36,24 +36,24 @@ model HealthValidation is ProxyResource { @doc("The generic properties of the health validation resource.") @added(Versions.v2024_10_01_preview) model HealthValidationProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The start time of health validation, in UTC.") startTime: utcDateTime; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The end time of health validation, in UTC.") endTime: utcDateTime; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The current health validation status.") status: validationStatus; - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @identifiers(#[]) @doc("The list of issues found by health validation.") issues: ValidationIssue[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the health validation resource.") provisioningState?: ResourceProvisioningState; } @@ -85,31 +85,31 @@ union validationStatus { @doc("The model of a health validation issue.") @added(Versions.v2024_10_01_preview) model ValidationIssue { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The error code of the issue.") errorCode: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The error message of the issue.") errorMessage: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The additional details for the issue.") additionalDetails?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The recommendation for resolving the issue.") recommendationMessage: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The URL related to resolving the issue.") recommendationUrl?: url; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The resource ID of the Azure resource related to the issue.") relatedResourceId?: Azure.Core.armResourceIdentifier<[]>; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The type of the Azure resource related to the issue.") relatedResourceType?: string; } diff --git a/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp b/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp index 8a15cad9787f..724988f45ae4 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp @@ -47,11 +47,11 @@ model SharedPrivateLinkResourceProperties { @doc("The DNS zone segment to be included in the DNS name of the shared private link. Value is required for Azure Data Explorer clusters and SQL managed instances, and must be omitted for SQL logical servers and key vaults. The value is the second segment of the host FQDN name of the resource that the shared private link resource is for. For example: if the host name is 'adx-cluster-21187695.eastus.kusto.windows.net', then the value is 'eastus'; if the host name is 'sql-mi-23961134.767d5869f605.database.windows.net', then the value is '767d5869f605'.") dnsZone?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.") status?: SharedPrivateLinkResourceStatus; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the resource.") provisioningState?: ResourceProvisioningState; } diff --git a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp index 16e1b4e24bd4..7964dc983c97 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp @@ -10,9 +10,7 @@ import "./sqlVmTarget.tsp"; import "./sharedPrivateLinkResource.tsp"; #suppress "@azure-tools/typespec-azure-resource-manager/arm-common-types-version" "Using invalid versions of ManagedIdentity" -@service({ - title: "Microsoft.DatabaseWatcher", -}) +@service(#{ title: "Microsoft.DatabaseWatcher" }) @versioned(Microsoft.DatabaseWatcher.Versions) @armProviderNamespace namespace Microsoft.DatabaseWatcher; @@ -69,10 +67,10 @@ model WatcherProperties { datastore?: Datastore; @doc("The monitoring collection status of the watcher.") - @visibility("read") + @visibility(Lifecycle.Read) status?: WatcherStatus; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The provisioning state of the resource watcher.") provisioningState?: DatabaseWatcherProvisioningState; @@ -158,9 +156,7 @@ interface Watchers { @armResourceAction(Watcher) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) start( ...ResourceInstanceParameters, @@ -174,9 +170,7 @@ interface Watchers { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) stop( ...ResourceInstanceParameters, diff --git a/specification/devcenter/DevCenter/DevBox/models.tsp b/specification/devcenter/DevCenter/DevBox/models.tsp index 4d06fa4ab090..4563ba54271e 100644 --- a/specification/devcenter/DevCenter/DevBox/models.tsp +++ b/specification/devcenter/DevCenter/DevBox/models.tsp @@ -417,7 +417,7 @@ model Pool { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) @doc("Pool name.") name: string; @@ -466,17 +466,17 @@ model Pool { @doc("Hardware specifications for the Dev Box.") model HardwareProfile { @doc("The name of the SKU.") - @visibility("read") + @visibility(Lifecycle.Read) skuName?: SkuName; #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @doc("The number of vCPUs available for the Dev Box.") - @visibility("read") + @visibility(Lifecycle.Read) vCPUs?: int32; #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @doc("The amount of memory available for the Dev Box.") - @visibility("read") + @visibility(Lifecycle.Read) memoryGB?: int32; } @@ -490,30 +490,30 @@ model StorageProfile { model OsDisk { #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @doc("The size of the OS Disk in gigabytes.") - @visibility("read") + @visibility(Lifecycle.Read) diskSizeGB?: int32; } @doc("Specifies information about the image used.") model ImageReference { @doc("The name of the image used.") - @visibility("read") + @visibility(Lifecycle.Read) name?: string; @doc("The version of the image.") - @visibility("read") + @visibility(Lifecycle.Read) version?: string; @doc("The operating system of the image.") - @visibility("read") + @visibility(Lifecycle.Read) operatingSystem?: string; @doc("The operating system build number of the image.") - @visibility("read") + @visibility(Lifecycle.Read) osBuildNumber?: string; @doc("The datetime that the backing image version was published, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) publishedDate?: utcDateTime; } @@ -558,7 +558,7 @@ model Schedule { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) @doc("Display name for the Schedule.") name: string; @@ -591,7 +591,7 @@ alias DevBoxListResult = Azure.Core.Page; @parentResource(User) model DevBox { @doc("The unique URI of the dev box.") - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2024_02_01) uri: url; @@ -600,88 +600,88 @@ model DevBox { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("Name of the project this Dev Box belongs to.") - @visibility("read") + @visibility(Lifecycle.Read) projectName?: string; @doc("The name of the Dev Box pool this machine belongs to.") @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) poolName: string; @doc("Indicates whether hibernate is enabled/disabled or unknown.") - @visibility("read") + @visibility(Lifecycle.Read) hibernateSupport?: HibernateSupport; @doc("The current provisioning state of the Dev Box.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: DevBoxProvisioningState; @doc(""" The current action state of the Dev Box. This is state is based on previous action performed by user. """) - @visibility("read") + @visibility(Lifecycle.Read) actionState?: string; @doc("The current power state of the Dev Box.") - @visibility("read") + @visibility(Lifecycle.Read) powerState?: PowerState; @doc(""" A unique identifier for the Dev Box. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). """) - @visibility("read") + @visibility(Lifecycle.Read) uniqueId?: Azure.Core.uuid; @doc("Provisioning or action error details. Populated only for error states.") - @visibility("read") + @visibility(Lifecycle.Read) error?: Azure.Core.Foundations.Error; @doc(""" Azure region where this Dev Box is located. This will be the same region as the Virtual Network it is attached to. """) - @visibility("read") + @visibility(Lifecycle.Read) location?: Azure.Core.azureLocation; @doc("The operating system type of this Dev Box.") - @visibility("read") + @visibility(Lifecycle.Read) osType?: OsType; @doc("The AAD object id of the user this Dev Box is assigned to.") - @visibility("read") + @visibility(Lifecycle.Read) user?: Azure.Core.uuid; @doc("Information about the Dev Box's hardware resources.") - @visibility("read") + @visibility(Lifecycle.Read) hardwareProfile?: HardwareProfile; @doc("Storage settings for this Dev Box.") - @visibility("read") + @visibility(Lifecycle.Read) storageProfile?: StorageProfile; @doc("Information about the image used for this Dev Box.") - @visibility("read") + @visibility(Lifecycle.Read) imageReference?: ImageReference; @doc("Creation time of this Dev Box, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) createdTime?: utcDateTime; @doc("Last time a user connected to this Dev Box, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2024_10_01_preview) lastConnectedTime?: utcDateTime; @doc("Indicates whether the owner of the Dev Box is a local administrator.") - @visibility("read") + @visibility(Lifecycle.Read) localAdministrator?: LocalAdminStatus; } @@ -711,7 +711,7 @@ model DevBoxAction { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The action that will be taken.") @@ -775,7 +775,7 @@ model DevBoxOperation { @minLength(36) @maxLength(36) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$") - @visibility("read") + @visibility(Lifecycle.Read) @key("operationId") operationId: Azure.Core.uuid; @@ -870,15 +870,15 @@ model PagedCustomizationTaskDefinition model CustomizationTaskDefinition { @doc("Full name of the task: {catalogName}/{taskName}.") @key("taskName") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("Name of the catalog that the task belongs to.") - @visibility("read") + @visibility(Lifecycle.Read) catalogName: string; @doc("The unique URI of the customization task.") - @visibility("read") + @visibility(Lifecycle.Read) uri?: url; @doc("Description of the task.") @@ -898,7 +898,7 @@ model CustomizationTaskDefinitionParameter { type: CustomizationTaskDefinitionParameterType; @doc("Whether or not the parameter is required.") - @visibility("read") + @visibility(Lifecycle.Read) required?: boolean; @doc("Default value for the parameter.") @@ -922,7 +922,7 @@ model CustomizationTaskList { model CustomizationTask { @doc("Name of the task.") @key("taskName") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) name: string; @doc("Parameters for the task.") @@ -938,23 +938,23 @@ model CustomizationTask { runAs?: CustomizationTaskExecutionAccount; @doc("ID of the task instance.") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("The unique URI for retrieving the task logs.") - @visibility("read") + @visibility(Lifecycle.Read) logUri?: string; @doc("Status of the task.") - @visibility("read") + @visibility(Lifecycle.Read) status?: CustomizationTaskStatus; @doc("Start time of the task, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) startTime?: utcDateTime; @doc("End time of the task, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) endTime?: utcDateTime; } @@ -1000,7 +1000,7 @@ model CustomizationGroup { tasks?: CustomizationTask[]; @doc("The unique URI of the customization group.") - @visibility("read") + @visibility(Lifecycle.Read) uri?: string; @doc("Name of the customization group.") @@ -1008,19 +1008,19 @@ model CustomizationGroup { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("Status of the customization group.") - @visibility("read") + @visibility(Lifecycle.Read) status?: CustomizationGroupStatus; @doc("Start time of the customization group, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) startTime?: utcDateTime; @doc("End time of the customization group, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) endTime?: utcDateTime; } @@ -1031,20 +1031,20 @@ model CustomizationGroup { model DevBoxSnapshot { @key("snapshotId") @doc("The id of the snapshot. Should be treated as opaque string.") - @visibility("read") + @visibility(Lifecycle.Read) snapshotId: string; @doc("The datetime that the snapshot was created, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) createdTime: utcDateTime; @doc("The datetime when the snapshot expires, will only be shown for a manual snapshot, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2024_10_01_preview) expirationTime?: utcDateTime; @doc("The type of the snapshot indicates whether it is manual or automatic.") - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2024_10_01_preview) snapshotType: SnapshotType; } diff --git a/specification/devcenter/DevCenter/Environments/models.tsp b/specification/devcenter/DevCenter/Environments/models.tsp index 19c522594bdf..e1d31732df1a 100644 --- a/specification/devcenter/DevCenter/Environments/models.tsp +++ b/specification/devcenter/DevCenter/Environments/models.tsp @@ -174,7 +174,7 @@ model Environment { ...EnvironmentUpdateProperties; @doc("The unique URI of the environment.") - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2024_02_01) uri: url; @@ -183,35 +183,35 @@ model Environment { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("Environment type.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) environmentType: string; @doc("The AAD object id of the owner of this Environment.") - @visibility("read") + @visibility(Lifecycle.Read) user?: Azure.Core.uuid; @doc("The provisioning state of the environment.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: EnvironmentProvisioningState; @doc("The identifier of the resource group containing the environment's resources.") - @visibility("read") + @visibility(Lifecycle.Read) resourceGroupId?: string; @doc("Name of the catalog.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) catalogName: string; @doc("Name of the environment definition.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) environmentDefinitionName: string; @doc("Provisioning error details. Populated only for error states.") - @visibility("read") + @visibility(Lifecycle.Read) error?: Azure.Core.Foundations.Error; } @@ -268,7 +268,7 @@ model EnvironmentOperation { @minLength(36) @maxLength(36) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$") - @visibility("read") + @visibility(Lifecycle.Read) @key("operationId") operationId: Azure.Core.uuid; @@ -304,12 +304,12 @@ model EnvironmentAction { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) @key("actionName") name: string; @doc("Uri of the action resource.") - @visibility("read") + @visibility(Lifecycle.Read) uri: url; @doc("The action that will be taken.") @@ -319,7 +319,7 @@ model EnvironmentAction { next?: EnvironmentNextAction; @doc("Object Id of the user who last modified the action.") - @visibility("read") + @visibility(Lifecycle.Read) lastModifiedBy?: Azure.Core.uuid; @doc("Time the object was last modified, in RFC3339 format.") @@ -346,7 +346,7 @@ model Catalog { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -368,7 +368,7 @@ model EnvironmentDefinition { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("Name of the catalog.") @@ -437,7 +437,7 @@ model EnvironmentType { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc(""" diff --git a/specification/devcenter/DevCenter/main.tsp b/specification/devcenter/DevCenter/main.tsp index 47bbdcaeeb3a..82d0281560c2 100644 --- a/specification/devcenter/DevCenter/main.tsp +++ b/specification/devcenter/DevCenter/main.tsp @@ -19,9 +19,7 @@ using TypeSpec.Http; } ]> ) -@service({ - title: "DevCenter", -}) +@service(#{ title: "DevCenter" }) @server( "{endpoint}", "DevCenter service", diff --git a/specification/devcenter/DevCenter/shared/models.tsp b/specification/devcenter/DevCenter/shared/models.tsp index fb0e0c1d2b4e..7b6a54115df8 100644 --- a/specification/devcenter/DevCenter/shared/models.tsp +++ b/specification/devcenter/DevCenter/shared/models.tsp @@ -15,7 +15,7 @@ namespace DevCenterService; @parentResource(Project) model OperationStatus { @doc("Fully qualified ID for the operation status.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("The operation id name.") @@ -23,7 +23,7 @@ model OperationStatus { @minLength(36) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$") @key("operationId") - @visibility("read") + @visibility(Lifecycle.Read) name: Azure.Core.uuid; @doc("Provisioning state of the resource.") @@ -63,7 +63,7 @@ model Project { @minLength(3) @maxLength(63) @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("Description of the project.") @@ -90,7 +90,7 @@ model User { @minLength(2) @maxLength(36) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") - @visibility("read") + @visibility(Lifecycle.Read) userId: string; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp index 1c932f32c9b9..1f03d1781f50 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp @@ -29,14 +29,14 @@ model AssetEndpointProfile is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("The extended location.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @doc("Defines the Asset Endpoint Profile properties.") model AssetEndpointProfileProperties { @doc("Globally unique, immutable, non-reusable id.") - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; @doc("The local valid URI specifying the network address/DNS name of a southbound device. The scheme part of the targetAddress URI specifies the type of the device. The additionalConfiguration field holds further connector type specific configuration.") @@ -62,17 +62,17 @@ model AssetEndpointProfileProperties { additionalConfiguration?: string; @doc("Reference to a discovered asset endpoint profile. Populated only if the asset endpoint profile has been created from discovery flow. Discovered asset endpoint profile name must be provided.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @added(Versions.v2024_09_01_preview) discoveredAssetEndpointProfileRef?: string; @doc("Read only object to reflect changes that have occurred on the Edge. Similar to Kubernetes status property for custom resources.") - @visibility("read") + @visibility(Lifecycle.Read) @added(Versions.v2024_09_01_preview) status?: AssetEndpointProfileStatus; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -125,7 +125,7 @@ model X509Credentials { @removed(Versions.v2024_09_01_preview) model TransportAuthentication { @doc("Defines a reference to a secret which contains all certificates and private keys that can be used by the southbound connector connecting to the shop floor/OT device. The accepted extensions are .der for certificates and .pfx/.pem for private keys.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) @removed(Versions.v2024_09_01_preview) ownCertificates: OwnCertificate[]; } @@ -147,8 +147,8 @@ model OwnCertificate { @added(Versions.v2024_09_01_preview) model AssetEndpointProfileStatus { @doc("Array object to transfer and persist errors that originate from the Edge.") - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @identifiers(#[]) errors?: AssetEndpointProfileStatusError[]; } @@ -156,11 +156,11 @@ model AssetEndpointProfileStatus { @added(Versions.v2024_09_01_preview) model AssetEndpointProfileStatusError { @doc("Error code for classification of errors (ex: 400, 404, 500, etc.).") - @visibility("read") + @visibility(Lifecycle.Read) code?: int32; @doc("Human readable helpful error message to provide additional context for error (ex: “targetAddress 'foo' is not a valid url”).") - @visibility("read") + @visibility(Lifecycle.Read) message?: string; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp index ffd77ae3ecd5..005fa401c441 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp @@ -29,14 +29,14 @@ model Asset is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("The extended location.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @doc("Defines the asset properties.") model AssetProperties { @doc("Globally unique, immutable, non-reusable id.") - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; @doc("Resource path to asset type (model) definition.") @@ -47,7 +47,7 @@ model AssetProperties { enabled?: boolean; @doc("Asset id provided by the customer.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) externalAssetId?: string; @doc("Human-readable display name.") @@ -57,17 +57,17 @@ model AssetProperties { description?: string; @doc("A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must have the format /.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @removed(Versions.v2024_09_01_preview) assetEndpointProfileUri: string; @doc("A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must provide asset endpoint profile name.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @added(Versions.v2024_09_01_preview) assetEndpointProfileRef: string; @doc("An integer that is incremented each time the resource is modified.") - @visibility("read") + @visibility(Lifecycle.Read) @typeChangedFrom(Versions.v2024_09_01_preview, int32) version?: int64; @@ -100,7 +100,7 @@ model AssetProperties { attributes?: Record; @doc("Reference to a list of discovered assets. Populated only if the asset has been created from discovery flow. Discovered asset names must be provided.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @added(Versions.v2024_09_01_preview) discoveredAssetRefs?: string[]; @@ -121,24 +121,24 @@ model AssetProperties { @doc("Array of data points that are part of the asset. Each data point can reference an asset type capability and have per-data point configuration.") @removed(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", []) + @identifiers(#[]) dataPoints?: DataPoint[]; @doc("Array of datasets that are part of the asset. Each dataset describes the data points that make up the set.") @added(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", []) + @identifiers(#[]) datasets?: Dataset[]; @doc("Array of events that are part of the asset. Each event can have per-event configuration.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) events?: Event[]; @doc("Read only object to reflect changes that have occurred on the Edge. Similar to Kubernetes status property for custom resources.") - @visibility("read") + @visibility(Lifecycle.Read) status?: AssetStatus; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -155,7 +155,7 @@ model Dataset { topic?: Topic; @doc("Array of data points that are part of the dataset. Each data point can have per-data point configuration.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dataPoints?: DataPoint[]; } @@ -296,36 +296,36 @@ union EventObservabilityMode { @doc("Defines the asset status properties.") model AssetStatus { @doc("Array object to transfer and persist errors that originate from the Edge.") - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @identifiers(#[]) errors?: AssetStatusError[]; @doc("A read only incremental counter indicating the number of times the configuration has been modified from the perspective of the current actual (Edge) state of the Asset. Edge would be the only writer of this value and would sync back up to the cloud. In steady state, this should equal version.") @typeChangedFrom(Versions.v2024_09_01_preview, int32) - @visibility("read") + @visibility(Lifecycle.Read) version?: int64; @doc("Array of dataset statuses that describe the status of each dataset.") - @visibility("read") + @visibility(Lifecycle.Read) @added(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", []) + @identifiers(#[]) datasets?: AssetStatusDataset[]; @doc("Array of event statuses that describe the status of each event.") - @visibility("read") + @visibility(Lifecycle.Read) @added(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", []) + @identifiers(#[]) events?: AssetStatusEvent[]; } @doc("Defines the asset status error properties.") model AssetStatusError { @doc("Error code for classification of errors (ex: 400, 404, 500, etc.).") - @visibility("read") + @visibility(Lifecycle.Read) code?: int32; @doc("Human readable helpful error message to provide additional context for error (ex: “capability Id 'foo' does not exist”).") - @visibility("read") + @visibility(Lifecycle.Read) message?: string; } @@ -333,11 +333,11 @@ model AssetStatusError { @added(Versions.v2024_09_01_preview) model AssetStatusDataset { @doc("The name of the dataset. Must be unique within the status.datasets array. This name is used to correlate between the spec and status dataset information.") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The message schema reference object.") - @visibility("read") + @visibility(Lifecycle.Read) messageSchemaReference?: MessageSchemaReference; } @@ -345,11 +345,11 @@ model AssetStatusDataset { @added(Versions.v2024_09_01_preview) model AssetStatusEvent { @doc("The name of the event. Must be unique within the status.events array. This name is used to correlate between the spec and status event information.") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The message schema reference object.") - @visibility("read") + @visibility(Lifecycle.Read) messageSchemaReference?: MessageSchemaReference; } @@ -357,15 +357,15 @@ model AssetStatusEvent { @added(Versions.v2024_09_01_preview) model MessageSchemaReference { @doc("The message schema registry namespace.") - @visibility("read") + @visibility(Lifecycle.Read) schemaRegistryNamespace: string; @doc("The message schema name.") - @visibility("read") + @visibility(Lifecycle.Read) schemaName: string; @doc("The message schema version.") - @visibility("read") + @visibility(Lifecycle.Read) schemaVersion: string; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/billings.tsp b/specification/deviceregistry/DeviceRegistry.Management/billings.tsp index 94d03f4b5f16..f305df1aebe2 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/billings.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/billings.tsp @@ -30,7 +30,7 @@ model BillingContainer is ProxyResource { // Suppress linter false positive for etag properties not allowed at top level of ProxyResource #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Resource ETag") - @visibility("read") + @visibility(Lifecycle.Read) etag?: string; } @@ -38,7 +38,7 @@ model BillingContainer is ProxyResource { @doc("Defines the billingContainer properties.") model BillingContainerProperties { @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp index db54c1ea9248..2a8a5dd25d61 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp @@ -32,7 +32,7 @@ model DiscoveredAssetEndpointProfile // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("The extended location.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -47,7 +47,6 @@ model DiscoveredAssetEndpointProfileProperties { additionalConfiguration?: string; @doc("List of supported authentication methods supported by the target server.") - @extension("x-ms-identifiers", []) supportedAuthenticationMethods?: AuthenticationMethod[]; @doc("Defines the configuration for the connector type that is being used with the endpoint profile.") @@ -60,7 +59,7 @@ model DiscoveredAssetEndpointProfileProperties { version: int64; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp index c2e5f972ca26..3bd134540229 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp @@ -31,7 +31,7 @@ model DiscoveredAsset is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("The extended location.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -40,7 +40,7 @@ model DiscoveredAsset is TrackedResource { @removed(Versions.v2024_11_01) model DiscoveredAssetProperties { @doc("A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must provide asset endpoint profile name.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) assetEndpointProfileRef: string; @doc("Identifier used to detect changes in the asset.") @@ -83,15 +83,15 @@ model DiscoveredAssetProperties { defaultTopic?: Topic; @doc("Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) datasets?: DiscoveredDataset[]; @doc("Array of events that are part of the asset. Each event can have per-event configuration.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) events?: DiscoveredEvent[]; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -109,7 +109,7 @@ model DiscoveredDataset { topic?: Topic; @doc("Array of data points that are part of the dataset. Each data point can have per-data point configuration.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dataPoints?: DiscoveredDataPoint[]; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/main.tsp b/specification/deviceregistry/DeviceRegistry.Management/main.tsp index 2ad32ec367fa..3da8aaa76b70 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/main.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/main.tsp @@ -17,9 +17,7 @@ using Azure.ResourceManager.Private; using Azure.ResourceManager.Foundations; @armProviderNamespace -@service({ - title: "Microsoft.DeviceRegistry management service", -}) +@service(#{ title: "Microsoft.DeviceRegistry management service" }) @doc("Microsoft.DeviceRegistry Resource Provider management API.") @versioned(Versions) namespace Microsoft.DeviceRegistry; diff --git a/specification/deviceregistry/DeviceRegistry.Management/schemaRegistries.tsp b/specification/deviceregistry/DeviceRegistry.Management/schemaRegistries.tsp index c2829fe04fc9..6d4763bbfb22 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/schemaRegistries.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/schemaRegistries.tsp @@ -34,11 +34,11 @@ model SchemaRegistry is TrackedResource { @doc("Defines the schema registry properties.") model SchemaRegistryProperties { @doc("Globally unique, immutable, non-reusable id.") - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; @doc("Schema registry namespace. Uniquely identifies a schema registry within a tenant.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @pattern("^[a-z0-9][a-z0-9-]*[a-z0-9]$") @maxLength(32) `namespace`: string; @@ -50,11 +50,11 @@ model SchemaRegistryProperties { description?: string; @doc("The Storage Account's Container URL where schemas will be stored.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) storageAccountContainerUrl: string; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -78,7 +78,7 @@ model Schema is ProxyResource { @doc("Defines the schema properties.") model SchemaProperties { @doc("Globally unique, immutable, non-reusable id.") - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; @doc("Human-readable display name.") @@ -88,15 +88,15 @@ model SchemaProperties { description?: string; @doc("Format of the schema.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) format: Format; @doc("Type of the schema.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) schemaType: SchemaType; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "" @@ -148,22 +148,22 @@ model SchemaVersion is ProxyResource { @doc("Defines the schema version properties.") model SchemaVersionProperties { @doc("Globally unique, immutable, non-reusable id.") - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; @doc("Human-readable description of the schema.") description?: string; @doc("Schema content.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) schemaContent: string; @doc("Hash of the schema content.") - @visibility("read") + @visibility(Lifecycle.Read) hash?: string; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json index 3a4b127055f5..5a71618f28bc 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json @@ -3411,8 +3411,7 @@ "description": "List of supported authentication methods supported by the target server.", "items": { "$ref": "#/definitions/AuthenticationMethod" - }, - "x-ms-identifiers": [] + } }, "endpointProfileType": { "type": "string", @@ -3476,8 +3475,7 @@ "description": "List of supported authentication methods supported by the target server.", "items": { "$ref": "#/definitions/AuthenticationMethod" - }, - "x-ms-identifiers": [] + } }, "endpointProfileType": { "type": "string", diff --git a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp index dcae61cf5117..a61e479ea6d0 100644 --- a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp +++ b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp @@ -13,9 +13,7 @@ using Azure.ResourceManager; @armCommonTypesVersion(CommonTypes.Versions.v5) @armProviderNamespace -@service({ - title: "Managed DevOps Infrastructure", -}) +@service(#{ title: "Managed DevOps Infrastructure" }) @versioned(Versions) namespace Microsoft.DevOpsInfrastructure; @@ -74,7 +72,7 @@ model GitHubOrganizationProfile extends OrganizationProfile { kind: "GitHub"; @doc("The list of GitHub organizations/repositories the pool should be present in.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) organizations: GitHubOrganization[]; } @doc("Defines a GitHub organization") @@ -92,7 +90,7 @@ model AzureDevOpsOrganizationProfile extends OrganizationProfile { kind: "AzureDevOps"; @doc("The list of Azure DevOps organizations the pool should be present in.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) organizations: Organization[]; @doc("The type of permission which determines which accounts are admins on the Azure DevOps pool.") @@ -152,7 +150,7 @@ model VmssFabricProfile extends FabricProfile { sku: DevOpsAzureSku; @doc("The VM images of the machines in the pool.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) images: PoolImage[]; @doc("The OS profile of the machines in the pool.") @@ -177,7 +175,7 @@ model StorageProfile { osDiskStorageAccountType?: OsDiskStorageAccountType; @doc("A list of empty data disks to attach.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) dataDisks?: DataDisk[]; } @@ -448,7 +446,7 @@ interface Pools { Pool, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< Pool, Azure.ResourceManager.Foundations.ResourceUpdateModel @@ -471,7 +469,7 @@ model ResourceDetailsObject is ProxyResource { @doc("The name of the resource.") @key("resourceName") @segment("resources") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } @@ -625,7 +623,7 @@ model ResourceSkuLocationInfo { zones: string[]; @doc("Gets details of capabilities available to a SKU in specific zones.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) zoneDetails: ResourceSkuZoneDetails[]; } @@ -635,7 +633,7 @@ model ResourceSkuZoneDetails { name: string[]; @doc("A list of capabilities that are available for the SKU in the specified list of zones.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) capabilities: ResourceSkuCapabilities[]; } @@ -646,7 +644,7 @@ model ResourceSku is ProxyResource { @doc("The name of the SKU.") @key("skuName") @segment("skus") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } @@ -670,15 +668,15 @@ model ResourceSkuProperties { locations: azureLocation[]; @doc("A list of locations and availability zones in those locations where the SKU is available") - @extension("x-ms-identifiers", []) + @identifiers(#[]) locationInfo: ResourceSkuLocationInfo[]; @doc("Name value pairs to describe the capability.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) capabilities: ResourceSkuCapabilities[]; @doc("The restrictions of the SKU.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) restrictions: ResourceSkuRestrictions[]; } @@ -691,7 +689,6 @@ model Location is ProxyResource { @path @segment("locations") @doc("Name of the location.") - @visibility("public") name: string; } @@ -725,7 +722,7 @@ interface SubscriptionUsages { @parentResource(Location) model Quota { @doc("The name of the quota.") - @visibility("read") + @visibility(Lifecycle.Read) name?: QuotaName; @doc("Fully qualified ARM resource id") @@ -759,7 +756,7 @@ model Image is ProxyResource { @path @segment("images") @doc("Name of the image.") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -792,7 +789,7 @@ model ImageVersion is ProxyResource { @doc("The name of the image version.") @key("imageVersionName") @segment("versions") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } diff --git a/specification/durabletask/DurableTask.Management/main.tsp b/specification/durabletask/DurableTask.Management/main.tsp index 7e953c4cd78e..41c7adba0957 100644 --- a/specification/durabletask/DurableTask.Management/main.tsp +++ b/specification/durabletask/DurableTask.Management/main.tsp @@ -10,9 +10,7 @@ using Azure.ResourceManager; using Azure.ResourceManager.Foundations; @armProviderNamespace -@service({ - title: "Microsoft.DurableTask", -}) +@service(#{ title: "Microsoft.DurableTask" }) @versioned(Versions) namespace Microsoft.DurableTask; @@ -41,12 +39,12 @@ model Scheduler is Azure.ResourceManager.TrackedResource { @doc("Details of the Scheduler") @added(Versions.v2024_10_01_Preview) model SchedulerProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation") provisioningState?: ProvisioningState; @doc("URL of the durable task scheduler") - @visibility("read") + @visibility(Lifecycle.Read) endpoint?: string; @doc("IP allow list for durable task scheduler. Values can be IPv4, IPv6 or CIDR") @@ -66,7 +64,7 @@ model SchedulerSku { capacity?: int32; @doc("Indicates whether the current SKU configuration is zone redundant") - @visibility("read") + @visibility(Lifecycle.Read) redundancyState?: RedundancyState; } @@ -95,12 +93,12 @@ union RedundancyState { @doc("The properties of Task Hub") model TaskHubProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation") provisioningState?: ProvisioningState; @doc("URL of the durable task scheduler dashboard") - @visibility("read") + @visibility(Lifecycle.Read) dashboardUrl?: url; } diff --git a/specification/edge/Microsoft.Edge.Management/main.tsp b/specification/edge/Microsoft.Edge.Management/main.tsp index adaeeffd563e..bbe517a261b9 100644 --- a/specification/edge/Microsoft.Edge.Management/main.tsp +++ b/specification/edge/Microsoft.Edge.Management/main.tsp @@ -11,9 +11,7 @@ using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; @armProviderNamespace -@service({ - title: "Microsoft.Edge", -}) +@service(#{ title: "Microsoft.Edge" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Edge; diff --git a/specification/edge/Microsoft.Edge.Sites.Management/Site.tsp b/specification/edge/Microsoft.Edge.Sites.Management/Site.tsp index 5b37d514dfe5..166e5c06d0e2 100644 --- a/specification/edge/Microsoft.Edge.Sites.Management/Site.tsp +++ b/specification/edge/Microsoft.Edge.Sites.Management/Site.tsp @@ -18,7 +18,7 @@ model Site is ProxyResource { @path @key("siteName") @segment("sites") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/edge/Microsoft.Edge.Sites.Management/main.tsp b/specification/edge/Microsoft.Edge.Sites.Management/main.tsp index 56582c3ac3c4..4c84e081145e 100644 --- a/specification/edge/Microsoft.Edge.Sites.Management/main.tsp +++ b/specification/edge/Microsoft.Edge.Sites.Management/main.tsp @@ -15,9 +15,7 @@ using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Operations API is published as part of same RP in edge folder." @doc("Azure Edge Sites Resource Provider management API.") @armProviderNamespace -@service({ - title: "Edge Sites", -}) +@service(#{ title: "Edge Sites" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Edge; diff --git a/specification/edge/Microsoft.Edge.Sites.Management/models.tsp b/specification/edge/Microsoft.Edge.Sites.Management/models.tsp index ca28cc582f38..63af73ff60e8 100644 --- a/specification/edge/Microsoft.Edge.Sites.Management/models.tsp +++ b/specification/edge/Microsoft.Edge.Sites.Management/models.tsp @@ -27,7 +27,7 @@ model SiteProperties { ]>; @doc("Provisioning state of last operation") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/edgezones/EdgeZones.Management/main.tsp b/specification/edgezones/EdgeZones.Management/main.tsp index c5511b1efade..4ed93c0a348a 100644 --- a/specification/edgezones/EdgeZones.Management/main.tsp +++ b/specification/edgezones/EdgeZones.Management/main.tsp @@ -10,9 +10,7 @@ using TypeSpec.Versioning; using Azure.ResourceManager; @armProviderNamespace("Microsoft.EdgeZones") -@service({ - title: "Microsoft.EdgeZones", -}) +@service(#{ title: "Microsoft.EdgeZones" }) @versioned(Versions) @armCommonTypesVersion(CommonTypes.Versions.v5) namespace Microsoft.EdgeZones; @@ -64,47 +62,47 @@ union RegistrationState { @doc("The properties of an Extended Zone resource.") model ExtendedZoneProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Status of the last operation performed by the subscription on the Edge Zone resource") provisioningState?: ProvisioningState; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Indicates the Azure Extended Zone registration’s approval status.") registrationState?: RegistrationState; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Display name of the Azure Extended Zone.") displayName: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Regional display name of the Azure Extended Zone.") regionalDisplayName: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Type of region for the Azure Extended Zone.") regionType: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Category of region for the Azure Extended Zone.") regionCategory: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Geography of the Azure Extended Zone.") geography: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Geography Group of the Azure Extended Zone.") geographyGroup: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Longitude of the Azure Extended Zone.") longitude: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Latitude of the Azure Extended Zone.") latitude: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Home Location of the Azure Extended Zone.") homeLocation: string; } diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp index 166fce13e580..35cba6216b4c 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp +++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/main.tsp @@ -30,9 +30,7 @@ import "./propertyNameOverride.tsp"; /** Azure Messaging EventGrid SystemEvents */ #suppress "@azure-tools/typespec-azure-core/auth-required" "!!FIXME!!" -@service({ - title: "Azure.Messaging.SystemEvents", -}) +@service(#{ title: "Azure.Messaging.SystemEvents" }) @versioned(ServiceApiVersions) namespace Microsoft.EventGrid.SystemEvents { using TypeSpec.Versioning; diff --git a/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp b/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp index 752a178456e8..58b10263afd3 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp +++ b/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp @@ -16,9 +16,7 @@ import "@azure-tools/typespec-azure-core"; } ]> ) -@service({ - title: "Azure.Messaging.EventGridClient", -}) +@service(#{ title: "Azure.Messaging.EventGridClient" }) // // Supported operations. @@ -208,7 +206,7 @@ namespace Microsoft.EventGrid { model Topic { @key @doc("Topic Name.") - @visibility("read") + @visibility(Lifecycle.Read) topicName: string; } @@ -218,7 +216,7 @@ namespace Microsoft.EventGrid { model EventSubscription { @key @doc("Event Subscription Name.") - @visibility("read") + @visibility(Lifecycle.Read) eventSubscriptionName: string; } diff --git a/specification/ews/SecretSyncController.Management/azurekeyvaultsecretproviderclass.tsp b/specification/ews/SecretSyncController.Management/azurekeyvaultsecretproviderclass.tsp index c51f77453ab4..5e1ba8fc71f5 100644 --- a/specification/ews/SecretSyncController.Management/azurekeyvaultsecretproviderclass.tsp +++ b/specification/ews/SecretSyncController.Management/azurekeyvaultsecretproviderclass.tsp @@ -43,7 +43,7 @@ model AzureKeyVaultSecretProviderClassProperties { objects?: string; @doc("Provisioning state of the AzureKeyVaultSecretProviderClass instance.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/ews/SecretSyncController.Management/main.tsp b/specification/ews/SecretSyncController.Management/main.tsp index 987493b11fdc..c575647534d9 100644 --- a/specification/ews/SecretSyncController.Management/main.tsp +++ b/specification/ews/SecretSyncController.Management/main.tsp @@ -13,9 +13,7 @@ using Azure.Core; using Azure.ResourceManager; @armProviderNamespace("Microsoft.SecretSyncController") -@service({ - title: "Microsoft.SecretSyncController", -}) +@service(#{ title: "Microsoft.SecretSyncController" }) @doc("Microsoft.SecretSyncController resource provider.") @versioned(Microsoft.SecretSyncController.Versions) namespace Microsoft.SecretSyncController; diff --git a/specification/ews/SecretSyncController.Management/secretsync.tsp b/specification/ews/SecretSyncController.Management/secretsync.tsp index daf2ba4d8c17..ad6e7e2430d5 100644 --- a/specification/ews/SecretSyncController.Management/secretsync.tsp +++ b/specification/ews/SecretSyncController.Management/secretsync.tsp @@ -46,15 +46,15 @@ model SecretSyncProperties { @doc("An array of SecretObjectData that maps secret data from the external secret provider to the Kubernetes secret. Each entry specifies the source secret in the external provider and the corresponding key in the Kubernetes secret.") @minItems(1) - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) objectSecretMapping: KubernetesSecretObjectMapping[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("SecretSyncStatus defines the observed state of the secret synchronization process.") status?: SecretSyncStatus; @doc("Provisioning state of the SecretSync instance.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -106,12 +106,12 @@ union StatusConditionType { @doc("SecretSyncStatus defines the observed state of the secret synchronization process.") model SecretSyncStatus { @doc("LastSuccessfulSyncTime represents the last time the secret was retrieved from the Provider and updated.") - @visibility("read") + @visibility(Lifecycle.Read) lastSuccessfulSyncTime?: utcDateTime; - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) @doc("Conditions represent the status of the secret create and update processes. The status can be True, False, or Unknown with various reasons and messages explaining the state. Examples of reasons include CreateSucceeded, ProviderError, InvalidClusterSecretLabelError, InvalidClusterSecretAnnotationError, UnknownError, ValidatingAdmissionPolicyCheckFailed, UserInputValidationFailed, ControllerSpcError, ControllerInternalError, NoValueChange, and ValueChangeOrForceUpdateDetected.") - @visibility("read") + @visibility(Lifecycle.Read) conditions?: SecretSyncCondition[]; // Not including syncHash at the moment for security concerns TODO #28507544 https://msazure.visualstudio.com/One/_workitems/edit/28507544 @@ -120,30 +120,30 @@ model SecretSyncStatus { @doc("A condition represents the status of the secret create and update processes.") model SecretSyncCondition { @doc("LastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.") - @visibility("read") + @visibility(Lifecycle.Read) lastTransitionTime?: utcDateTime; @doc("Message is a human readable message indicating details about the transition. This may be an empty string.") - @visibility("read") + @visibility(Lifecycle.Read) message: string; @doc("ObservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.") - @visibility("read") + @visibility(Lifecycle.Read) observedGeneration?: int64; @doc("Reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(1) @maxLength(1024) @pattern("^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$") reason: string; @doc("Status of the condition, one of True, False, Unknown.") - @visibility("read") + @visibility(Lifecycle.Read) status: StatusConditionType; @doc("Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to de-conflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(316) @pattern("^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$") type: string; diff --git a/specification/fabric/Microsoft.Fabric.Management/capacity.tsp b/specification/fabric/Microsoft.Fabric.Management/capacity.tsp index 5aea05b0c457..25eb77d5e5ba 100644 --- a/specification/fabric/Microsoft.Fabric.Management/capacity.tsp +++ b/specification/fabric/Microsoft.Fabric.Management/capacity.tsp @@ -20,7 +20,7 @@ model FabricCapacity is TrackedResource { @key("capacityName") @path @segment("capacities") - @visibility("read") + @visibility(Lifecycle.Read) name: string; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "The standard ResourceSkuProperty does not fit our case" @@ -32,7 +32,7 @@ model FabricCapacity is TrackedResource { interface FabricCapacities { get is ArmResourceRead; createOrUpdate is ArmResourceCreateOrReplaceAsync; - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< FabricCapacity, Azure.ResourceManager.Foundations.ResourceUpdateModel< diff --git a/specification/fabric/Microsoft.Fabric.Management/main.tsp b/specification/fabric/Microsoft.Fabric.Management/main.tsp index 8b1fd65b7070..fb3a2c71b9a3 100644 --- a/specification/fabric/Microsoft.Fabric.Management/main.tsp +++ b/specification/fabric/Microsoft.Fabric.Management/main.tsp @@ -13,9 +13,7 @@ using Azure.ResourceManager; /** Microsoft.Fabric Resource Provider management API. */ @armProviderNamespace -@service({ - title: "Microsoft.Fabric management service", -}) +@service(#{ title: "Microsoft.Fabric management service" }) @versioned(Microsoft.Fabric.Versions) namespace Microsoft.Fabric; diff --git a/specification/fabric/Microsoft.Fabric.Management/models.tsp b/specification/fabric/Microsoft.Fabric.Management/models.tsp index 09a3cf078350..9fd6a4223757 100644 --- a/specification/fabric/Microsoft.Fabric.Management/models.tsp +++ b/specification/fabric/Microsoft.Fabric.Management/models.tsp @@ -15,11 +15,11 @@ interface Operations extends Azure.ResourceManager.Operations {} @doc("The Microsoft Fabric capacity properties.") model FabricCapacityProperties { @doc("The current deployment state of Microsoft Fabric resource. The provisioningState is to indicate states for resource provisioning.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("The current state of Microsoft Fabric resource. The state is to indicate more states outside of resource provisioning.") - @visibility("read") + @visibility(Lifecycle.Read) state?: ResourceState; @doc("The capacity administration") @@ -172,7 +172,7 @@ model CapacityNameParameter { @doc("Describes Resource Quota") model Quota { @doc("The name of the quota.") - @visibility("read") + @visibility(Lifecycle.Read) name?: QuotaName; @doc("The unit of usage measurement.") diff --git a/specification/github-network/GitHub.Network.Management/NetworkSettingsResource.tsp b/specification/github-network/GitHub.Network.Management/NetworkSettingsResource.tsp index 1e5be8121450..45d4654eb3c5 100644 --- a/specification/github-network/GitHub.Network.Management/NetworkSettingsResource.tsp +++ b/specification/github-network/GitHub.Network.Management/NetworkSettingsResource.tsp @@ -22,7 +22,7 @@ model NetworkSettingsResource @path @key("networkSettingsName") @segment("networkSettings") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/github-network/GitHub.Network.Management/main.tsp b/specification/github-network/GitHub.Network.Management/main.tsp index 7a95393f817a..332c577cc05b 100644 --- a/specification/github-network/GitHub.Network.Management/main.tsp +++ b/specification/github-network/GitHub.Network.Management/main.tsp @@ -15,9 +15,7 @@ using TypeSpec.Versioning; @doc("GitHub.Network Resource Provider REST API") @armProviderNamespace -@service({ - title: "GitHub.Network client", -}) +@service(#{ title: "GitHub.Network client" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace GitHub.Network; diff --git a/specification/github-network/GitHub.Network.Management/models.tsp b/specification/github-network/GitHub.Network.Management/models.tsp index 3381b16c76d6..ac309b8e80b5 100644 --- a/specification/github-network/GitHub.Network.Management/models.tsp +++ b/specification/github-network/GitHub.Network.Management/models.tsp @@ -37,15 +37,15 @@ union ProvisioningState { @doc("NetworkSettings resource-specific properties.") model NetworkSettingsResourceProperties { @doc("Specifies a subnet ID for vnet-injection.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) subnetId?: string; @doc("Specifies the GitHub business (enterprise/organization) ID associated to the Azure subscription.") @added(Versions.`2024-04-01-preview`) - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) businessId?: string; @doc("The managed application provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/healthdataaiservices/HealthDataAIServices.DeidServices/main.tsp b/specification/healthdataaiservices/HealthDataAIServices.DeidServices/main.tsp index 94da13487ef5..c910c064b67b 100644 --- a/specification/healthdataaiservices/HealthDataAIServices.DeidServices/main.tsp +++ b/specification/healthdataaiservices/HealthDataAIServices.DeidServices/main.tsp @@ -11,9 +11,7 @@ using Azure.Core.Traits; // Official Name: Azure Health Data Services de-identification service @useAuth(AadToken) -@service({ - title: "Azure Health Data Services de-identification service", -}) +@service(#{ title: "Azure Health Data Services de-identification service" }) @server( "{endpoint}", "De-identification Service service endpoint", diff --git a/specification/healthdataaiservices/HealthDataAIServices.DeidServices/models_document_flow.tsp b/specification/healthdataaiservices/HealthDataAIServices.DeidServices/models_document_flow.tsp index 903d4e8250f7..6023b28a1e05 100644 --- a/specification/healthdataaiservices/HealthDataAIServices.DeidServices/models_document_flow.tsp +++ b/specification/healthdataaiservices/HealthDataAIServices.DeidServices/models_document_flow.tsp @@ -15,7 +15,7 @@ namespace HealthDataAIServices.DeidServices; model DeidentificationJob { @key @doc("The name of a job.") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(36) @minLength(3) // Must be 3 to match regex @pattern("^[a-zA-Z0-9][a-zA-Z0-9-_]+[a-zA-Z0-9]$") @@ -36,12 +36,12 @@ model DeidentificationJob { // Readonly Properties @doc("Current status of a job.") - @visibility("read") + @visibility(Lifecycle.Read) @pollingOperationParameter status: Azure.Core.Foundations.OperationState; @doc("Error when job fails in it's entirety.") - @visibility("read") + @visibility(Lifecycle.Read) error?: Azure.Core.Foundations.Error; @doc(""" @@ -51,19 +51,19 @@ model DeidentificationJob { If the job failed, this is the time when the job failed. """) - @visibility("read") + @visibility(Lifecycle.Read) lastUpdatedAt: utcDateTime; @doc("Date and time when the job was created.") - @visibility("read") + @visibility(Lifecycle.Read) createdAt: utcDateTime; @doc("Date and time when the job was started.") - @visibility("read") + @visibility(Lifecycle.Read) startedAt?: utcDateTime; @doc("Summary of a job. Exists only when the job is completed.") - @visibility("read") + @visibility(Lifecycle.Read) summary?: DeidentificationJobSummary; } @@ -96,7 +96,7 @@ model DeidentificationJobSummary { model DeidentificationDocumentDetails { @key @doc("Id of the document details.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Location for the input.") diff --git a/specification/healthdataaiservices/HealthDataAIServices.Management/main.tsp b/specification/healthdataaiservices/HealthDataAIServices.Management/main.tsp index c7faddb17e9b..e726ca68085d 100644 --- a/specification/healthdataaiservices/HealthDataAIServices.Management/main.tsp +++ b/specification/healthdataaiservices/HealthDataAIServices.Management/main.tsp @@ -11,9 +11,7 @@ using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-core/casing-style" "Using the AI acronym similar to what was done for OpenAI" @armProviderNamespace("Microsoft.HealthDataAIServices") -@service({ - title: "Microsoft.HealthDataAIServices", -}) +@service(#{ title: "Microsoft.HealthDataAIServices" }) @versioned(Microsoft.HealthDataAIServices.Versions) namespace Microsoft.HealthDataAIServices; @@ -101,16 +99,16 @@ enum PublicNetworkAccess { @doc("Details of the HealthDataAIServices DeidService.") model DeidServiceProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Deid service url.") serviceUrl?: string; @doc("List of private endpoint connections.") - @visibility("read") + @visibility(Lifecycle.Read) privateEndpointConnections?: PrivateEndpointConnection[]; @doc("Gets or sets allow or disallow public network access to resource") diff --git a/specification/hybridconnectivity/HybridConnectivity.Management/EndpointResource.tsp b/specification/hybridconnectivity/HybridConnectivity.Management/EndpointResource.tsp index fd49cc7d0d9d..327ac079050e 100644 --- a/specification/hybridconnectivity/HybridConnectivity.Management/EndpointResource.tsp +++ b/specification/hybridconnectivity/HybridConnectivity.Management/EndpointResource.tsp @@ -84,7 +84,7 @@ interface EndpointResources { * Update the endpoint to the target resource. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @parameterVisibility + @patch(#{ implicitOptionality: false }) @operationId("Endpoints_Update") update is ArmCustomPatchSync< EndpointResource, diff --git a/specification/hybridconnectivity/HybridConnectivity.Management/PublicCloud.tsp b/specification/hybridconnectivity/HybridConnectivity.Management/PublicCloud.tsp index b7cfea0a3090..5236f96d666d 100644 --- a/specification/hybridconnectivity/HybridConnectivity.Management/PublicCloud.tsp +++ b/specification/hybridconnectivity/HybridConnectivity.Management/PublicCloud.tsp @@ -101,15 +101,15 @@ model PublicCloudConnectorProperties { awsCloudProfile: AwsCloudProfile; @doc("Host cloud the public cloud connector.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) hostType: HostType; @doc("The resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; @doc("Connector primary identifier.") - @visibility("read") + @visibility(Lifecycle.Read) connectorPrimaryIdentifier?: string; } @@ -124,14 +124,14 @@ union HostType { @doc("cloud profile for AWS.") model AwsCloudProfile { @doc("Account id for the AWS account.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) accountId: string; @doc("List of AWS accounts which need to be excluded.") excludedAccounts?: string[]; @doc("Boolean value that indicates whether the account is organizational or not. True represents organization account, whereas false represents a single account.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) isOrganizationalAccount?: boolean = false; } @@ -152,7 +152,7 @@ model SolutionConfiguration @doc("Solution configuration resource.") model SolutionConfigurationProperties { @doc("The resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; @doc("The type of the solution") @@ -162,15 +162,15 @@ model SolutionConfigurationProperties { solutionSettings?: SolutionSettings; @doc("The status of solution configurations") - @visibility("read") + @visibility(Lifecycle.Read) status?: SolutionConfigurationStatus; @doc("The detailed message of status details") - @visibility("read") + @visibility(Lifecycle.Read) statusDetails?: string; @doc("The last time resources were inventoried") - @visibility("read") + @visibility(Lifecycle.Read) lastSyncTime?: utcDateTime; } @@ -248,7 +248,7 @@ model InventoryResource is ProxyResource { @doc("Inventory resource") @segment("inventory") @key("inventoryId") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } @@ -271,7 +271,7 @@ model InventoryProperties { statusDetails?: string; @doc("The resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/hybridconnectivity/HybridConnectivity.Management/ServiceConfigurationResource.tsp b/specification/hybridconnectivity/HybridConnectivity.Management/ServiceConfigurationResource.tsp index 0cab92af822a..c0b6727724f6 100644 --- a/specification/hybridconnectivity/HybridConnectivity.Management/ServiceConfigurationResource.tsp +++ b/specification/hybridconnectivity/HybridConnectivity.Management/ServiceConfigurationResource.tsp @@ -51,7 +51,7 @@ interface ServiceConfigurationResources { * Update the service details in the service configurations of the target resource. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @parameterVisibility + @patch(#{ implicitOptionality: false }) @operationId("ServiceConfigurations_Update") update is ArmCustomPatchSync< ServiceConfigurationResource, diff --git a/specification/hybridconnectivity/HybridConnectivity.Management/main.tsp b/specification/hybridconnectivity/HybridConnectivity.Management/main.tsp index ea1bd71facf2..ed1dfc96621f 100644 --- a/specification/hybridconnectivity/HybridConnectivity.Management/main.tsp +++ b/specification/hybridconnectivity/HybridConnectivity.Management/main.tsp @@ -27,9 +27,7 @@ using TypeSpec.Versioning; @armProviderNamespace @armCommonTypesVersion(CommonTypes.Versions.v5) @versioned(Versions) -@service({ - title: "Hybrid Connectivity Management API", -}) +@service(#{ title: "Hybrid Connectivity Management API" }) @doc("REST API for public clouds.") namespace Microsoft.HybridConnectivity; diff --git a/specification/hybridconnectivity/HybridConnectivity.Management/models.tsp b/specification/hybridconnectivity/HybridConnectivity.Management/models.tsp index af0ba559bb43..84d2033223c1 100644 --- a/specification/hybridconnectivity/HybridConnectivity.Management/models.tsp +++ b/specification/hybridconnectivity/HybridConnectivity.Management/models.tsp @@ -74,7 +74,7 @@ model EndpointProperties { * The resource provisioning state. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: string; } @@ -85,25 +85,25 @@ model Resource { /** * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * The name of the resource */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ - @visibility("read") + @visibility(Lifecycle.Read) systemData?: SystemData; } @@ -134,7 +134,7 @@ model ServiceConfigurationProperties { /** * The resource provisioning state. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -208,7 +208,7 @@ model RelayNamespaceAccessProperties { /** * Access key for hybrid connection. */ - @visibility("read") + @visibility(Lifecycle.Read) accessKey?: string; /** diff --git a/specification/impact/Impact.Management/ImpactCategories.tsp b/specification/impact/Impact.Management/ImpactCategories.tsp index 17f111bac027..52abeaebdbd1 100644 --- a/specification/impact/Impact.Management/ImpactCategories.tsp +++ b/specification/impact/Impact.Management/ImpactCategories.tsp @@ -21,7 +21,7 @@ model ImpactCategory @key("impactCategoryName") @segment("impactCategories") @doc("Name of the impact category") - @visibility("Read") + @visibility(Lifecycle.Read) @path name: string; } @@ -40,7 +40,7 @@ model ImpactCategoryProperties is ResourceProperties { description?: string; @doc("The workloadImpact properties which are required when reporting with the impact category") - @extension("x-ms-identifiers", []) + @identifiers(#[]) requiredImpactProperties?: RequiredImpactProperties[]; } diff --git a/specification/impact/Impact.Management/connectors.tsp b/specification/impact/Impact.Management/connectors.tsp index 82c6ae93d49f..4a3da99f91a1 100644 --- a/specification/impact/Impact.Management/connectors.tsp +++ b/specification/impact/Impact.Management/connectors.tsp @@ -24,18 +24,18 @@ model Connector is ProxyResource { @doc("Details of the Connector.") model ConnectorProperties is ResourceProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("unique id of the connector.") connectorId: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("tenant id of this connector") tenantId: string; @doc("connector type") connectorType: Platform; - @visibility("read") + @visibility(Lifecycle.Read) @doc("last run time stamp of this connector in UTC time zone") lastRunTimeStamp: utcDateTime; } diff --git a/specification/impact/Impact.Management/impact.tsp b/specification/impact/Impact.Management/impact.tsp index 89c58648f8e5..a5474d7adcbe 100644 --- a/specification/impact/Impact.Management/impact.tsp +++ b/specification/impact/Impact.Management/impact.tsp @@ -10,9 +10,7 @@ using TypeSpec.Versioning; using Azure.ResourceManager; @armProviderNamespace -@service({ - title: "Microsoft.Impact", -}) +@service(#{ title: "Microsoft.Impact" }) @versioned(Versions) @armCommonTypesVersion(CommonTypes.Versions.v3) namespace Microsoft.Impact; diff --git a/specification/impact/Impact.Management/insights.tsp b/specification/impact/Impact.Management/insights.tsp index d135f430e683..cadd6bb3bbb4 100644 --- a/specification/impact/Impact.Management/insights.tsp +++ b/specification/impact/Impact.Management/insights.tsp @@ -18,7 +18,7 @@ model Insight is ProxyResource { @key("insightName") @segment("insights") @doc("Name of the insight") - @visibility("Read") + @visibility(Lifecycle.Read) @path name: string; } @@ -30,7 +30,7 @@ model InsightUnderSubscription is ProxyResource { @key("insightName") @segment("insights") @doc("Name of the insight") - @visibility("Read") + @visibility(Lifecycle.Read) @path name: string; } diff --git a/specification/impact/Impact.Management/main.tsp b/specification/impact/Impact.Management/main.tsp index 22adb27d4bcd..7057b5d19e86 100644 --- a/specification/impact/Impact.Management/main.tsp +++ b/specification/impact/Impact.Management/main.tsp @@ -30,6 +30,6 @@ union ProvisioningState { @doc("General resource properties.") model ResourceProperties { @doc("Resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/impact/Impact.Management/workloadImpacts.tsp b/specification/impact/Impact.Management/workloadImpacts.tsp index 8f0deae30327..f32be32dc695 100644 --- a/specification/impact/Impact.Management/workloadImpacts.tsp +++ b/specification/impact/Impact.Management/workloadImpacts.tsp @@ -18,7 +18,7 @@ model WorkloadImpact is ProxyResource { @key("workloadImpactName") @segment("workloadImpacts") @doc("workloadImpact resource ") - @visibility("Read") + @visibility(Lifecycle.Read) @path name: string; } @@ -35,12 +35,12 @@ model WorkloadImpactProperties is ResourceProperties { impactedResourceId: string; @doc("Unique ID of the impact (UUID)") - @visibility("read") + @visibility(Lifecycle.Read) @pattern("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}") impactUniqueId?: string; @doc("Time at which impact is reported") - @visibility("read") + @visibility(Lifecycle.Read) reportedTimeUtc?: utcDateTime; @doc("Category of the impact, details can found from /impactCategories API") @@ -50,11 +50,10 @@ model WorkloadImpactProperties is ResourceProperties { impactDescription?: string; @doc("The ARM correlation ids, this is important field for control plane related impacts") - @extension("x-ms-identifiers", []) armCorrelationIds?: string[]; @doc("Details about performance issue. Applicable for performance impacts.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) performance?: Performance[]; @doc("Details about connectivity issue. Applicable when root resource causing the issue is not identified. For example, when a VM is impacted due to a network issue, the impacted resource is identified as the VM, but the root cause is the network. In such cases, the connectivity field will have the details about the network issue") diff --git a/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json b/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json index 89de17921485..d91d640f5860 100644 --- a/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json +++ b/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json @@ -1838,8 +1838,7 @@ "description": "The ARM correlation ids, this is important field for control plane related impacts", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "performance": { "type": "array", diff --git a/specification/informatica/Informatica.DataManagement.Management/main.tsp b/specification/informatica/Informatica.DataManagement.Management/main.tsp index 1f248963d92d..c009d4df49b7 100644 --- a/specification/informatica/Informatica.DataManagement.Management/main.tsp +++ b/specification/informatica/Informatica.DataManagement.Management/main.tsp @@ -5,10 +5,7 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; @armProviderNamespace -@service({ - title: "Informatica.DataManagement", - description: "Azure Native Services Informatica DataManagement", -}) +@service(#{ title: "Informatica.DataManagement" }) @versioned(Versions) @armCommonTypesVersion("v3") namespace Informatica.DataManagement; @@ -259,7 +256,7 @@ model InformaticaServerlessRuntimeResource @doc("Properties specific to the Informatica DataManagement Organization resource.") model OrganizationProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Provisioning State of the resource.") provisioningState?: ProvisioningState; @@ -392,7 +389,7 @@ model ServerlessMetadataResponse { @doc("Serverless Runtime properties.") model InformaticaServerlessRuntimeProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("Provisioning State of the resource.") provisioningState?: ProvisioningState; @@ -418,7 +415,7 @@ model InformaticaServerlessRuntimeProperties { serverlessRuntimeNetworkProfile?: ServerlessRuntimeNetworkProfile; @doc("String KV pairs indicating Advanced custom properties.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) advancedCustomProperties?: AdvancedCustomProperties[]; @doc("Supplementary file location.") @@ -428,7 +425,7 @@ model InformaticaServerlessRuntimeProperties { serverlessRuntimeConfig?: ServerlessRuntimeConfigProperties; @doc("Serverless Runtime Tags") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) serverlessRuntimeTags?: ServerlessRuntimeTag[]; @doc("Serverless runtime user context properties") @@ -438,11 +435,11 @@ model InformaticaServerlessRuntimeProperties { @doc("Serverless Runtime config properties.") model ServerlessRuntimeConfigProperties { @doc("The List of Informatica Serverless Runtime CDI Config Properties.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) cdiConfigProps?: CdiConfigProps[]; @doc("The List of Informatica Serverless Runtime CDIE Config Properties.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) cdieConfigProps?: CdiConfigProps[]; } @@ -452,18 +449,18 @@ model ServerlessConfigProperties { platform?: PlatformType; @doc("List of application types supported by informatica") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) applicationTypes?: ApplicationTypeMetadata[]; @doc("The list of compute units with possible array of values") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) computeUnits?: ComputeUnitsMetadata[]; @doc("Serverless Runtime execution timeout") executionTimeout?: string; @doc("List of supported serverless informatica regions") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) regions?: RegionsMetadata[]; } @@ -527,7 +524,7 @@ model CdiConfigProps { engineVersion: string; @doc("ApplicationConfigs of the CDI or CDIE.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) applicationConfigs: ApplicationConfigs[]; } @@ -712,7 +709,7 @@ model ServerlessRuntimePropertiesCustomUpdate { serverlessRuntimeNetworkProfile?: ServerlessRuntimeNetworkProfileUpdate; @doc("String KV pairs indicating Advanced custom properties.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) advancedCustomProperties?: AdvancedCustomProperties[]; @doc("Supplementary file location.") @@ -722,7 +719,7 @@ model ServerlessRuntimePropertiesCustomUpdate { serverlessRuntimeConfig?: ServerlessRuntimeConfigPropertiesUpdate; @doc("Serverless Runtime Tags") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) serverlessRuntimeTags?: ServerlessRuntimeTag[]; @doc("Serverless runtime user context properties") diff --git a/specification/iotoperations/IoTOperations.Management/main.tsp b/specification/iotoperations/IoTOperations.Management/main.tsp index 9ee8c7a96fe4..9617c6f68a43 100644 --- a/specification/iotoperations/IoTOperations.Management/main.tsp +++ b/specification/iotoperations/IoTOperations.Management/main.tsp @@ -24,9 +24,7 @@ using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-core/casing-style" @armProviderNamespace -@service({ - title: "Microsoft.IoTOperations management service.", -}) +@service(#{ title: "Microsoft.IoTOperations management service." }) @doc("Microsoft.IoTOperations Resource Provider management API.") @versioned(Versions) namespace Microsoft.IoTOperations; @@ -46,7 +44,7 @@ interface Operations extends Azure.ResourceManager.Operations {} interface Instance { get is ArmResourceRead; createOrUpdate is ArmResourceCreateOrUpdateAsync; - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/authentications.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/authentications.tsp index 7ece81f4d3d5..ceab868ecea1 100644 --- a/specification/iotoperations/IoTOperations.Management/models/broker/authentications.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/broker/authentications.tsp @@ -28,17 +28,17 @@ model BrokerAuthenticationResource // Extended location is not included in ProxyResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @doc("BrokerAuthentication Resource properties") model BrokerAuthenticationProperties { @doc("Defines a set of Broker authentication methods to be used on `BrokerListeners`. For each array element one authenticator type supported.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) authenticationMethods: BrokerAuthenticatorMethods[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/authorizations.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/authorizations.tsp index 1328d4f938ba..989d0d2c69a1 100644 --- a/specification/iotoperations/IoTOperations.Management/models/broker/authorizations.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/broker/authorizations.tsp @@ -28,7 +28,7 @@ model BrokerAuthorizationResource // Extended location is not included in ProxyResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -37,7 +37,7 @@ model BrokerAuthorizationProperties { @doc("The list of authorization policies supported by the Authorization Resource.") authorizationPolicies: AuthorizationConfig; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -48,21 +48,21 @@ model AuthorizationConfig { cache?: OperationalMode = OperationalMode.Enabled; @doc("The authorization rules to follow. If no rule is set, but Authorization Resource is used that would mean DenyAll.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) rules?: AuthorizationRule[]; } @doc("AuthorizationConfig Rule Properties") model AuthorizationRule { @doc("Give access to Broker methods and topics.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) brokerResources: BrokerResourceRule[]; @doc("Give access to clients based on the following properties.") principals: PrincipalDefinition; @doc("Give access to state store resources.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) stateStoreResources?: StateStoreResourceRule[]; } @@ -70,7 +70,7 @@ model AuthorizationRule { model PrincipalDefinition { #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @doc("A list of key-value pairs that match the attributes of the clients. The attributes are case-sensitive and must match the attributes provided by the clients during authentication.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) attributes?: Record[] = #[]; @doc("A list of client IDs that match the clients. The client IDs are case-sensitive and must match the client IDs provided by the clients during connection.") diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/brokers.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/brokers.tsp index 7f2cd7e7265f..90a891346fbe 100644 --- a/specification/iotoperations/IoTOperations.Management/models/broker/brokers.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/broker/brokers.tsp @@ -27,36 +27,36 @@ model BrokerResource is ProxyResource { // Extended location is not included in ProxyResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @doc("Broker Resource properties") model BrokerProperties { - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Advanced settings of Broker.") advanced?: AdvancedSettings; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("The cardinality details of the broker.") cardinality?: Cardinality; @doc("Spec defines the desired identities of Broker diagnostics settings.") diagnostics?: BrokerDiagnostics; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Settings of Disk Backed Message Buffer.") diskBackedMessageBuffer?: DiskBackedMessageBuffer; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("This setting controls whether Kubernetes CPU resource limits are requested. Increasing the number of replicas or workers proportionally increases the amount of CPU resources requested. If this setting is enabled and there are insufficient CPU resources, an error will be emitted.") generateResourceLimits?: GenerateResourceLimits; - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) @doc("Memory profile of Broker.") memoryProfile?: BrokerMemoryProfile = BrokerMemoryProfile.Medium; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -184,7 +184,7 @@ model VolumeClaimSpec { storageClassName?: string; @doc("AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) accessModes?: string[]; @doc("This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.") @@ -214,7 +214,7 @@ model VolumeClaimResourceRequirements { @doc("VolumeClaimSpecSelector properties") model VolumeClaimSpecSelector { @doc("MatchExpressions is a list of label selector requirements. The requirements are ANDed.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) matchExpressions?: VolumeClaimSpecSelectorMatchExpressions[]; #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" diff --git a/specification/iotoperations/IoTOperations.Management/models/broker/listeners.tsp b/specification/iotoperations/IoTOperations.Management/models/broker/listeners.tsp index e53eb67b5ef8..4ce950686248 100644 --- a/specification/iotoperations/IoTOperations.Management/models/broker/listeners.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/broker/listeners.tsp @@ -26,7 +26,7 @@ model BrokerListenerResource is ProxyResource { // Extended location is not included in ProxyResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -36,13 +36,13 @@ model BrokerListenerProperties { serviceName?: string; @doc("Ports on which this listener accepts client connections.") - @OpenAPI.extension("x-ms-identifiers", ["port"]) + @OpenAPI.extension("x-ms-identifiers", #["port"]) ports: ListenerPort[]; @doc("Kubernetes Service type of this listener.") serviceType?: ServiceType = ServiceType.ClusterIp; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowEndpoints.tsp b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowEndpoints.tsp index 0e14725b6ddd..b049e4058d75 100644 --- a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowEndpoints.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowEndpoints.tsp @@ -28,7 +28,7 @@ model DataflowEndpointResource is ProxyResource { // Extended location is not included in ProxyResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -55,7 +55,7 @@ model DataflowEndpointProperties { @doc("Broker endpoint.") mqttSettings?: DataflowEndpointMqtt; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowProfiles.tsp b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowProfiles.tsp index 0ef472e489f9..ceb99364ea5e 100644 --- a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowProfiles.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflowProfiles.tsp @@ -28,7 +28,7 @@ model DataflowProfileResource is ProxyResource { // Extended location is not included in ProxyResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -42,7 +42,7 @@ model DataflowProfileProperties { @maxValue(20) instanceCount?: int32 = 1; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflows.tsp b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflows.tsp index 4d84a7f82da8..adc91380c2de 100644 --- a/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflows.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/dataflows/dataflows.tsp @@ -28,7 +28,7 @@ model DataflowResource is ProxyResource { // Extended location is not included in ProxyResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -38,10 +38,10 @@ model DataflowProperties { mode?: OperationalMode = OperationalMode.Enabled; @doc("List of operations including source and destination references as well as transformation.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) operations: DataflowOperation[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -89,15 +89,15 @@ model DataflowBuiltInTransformationSettings { @doc("Enrich data from Broker State Store. Dataset references a key in Broker State Store.") @maxItems(1) - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) datasets?: DataflowBuiltInTransformationDataset[] = #[]; @doc("Filters input record or datapoints based on condition.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) filter?: DataflowBuiltInTransformationFilter[] = #[]; @doc("Maps input to output message.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) map?: DataflowBuiltInTransformationMap[] = #[]; } diff --git a/specification/iotoperations/IoTOperations.Management/models/instance.tsp b/specification/iotoperations/IoTOperations.Management/models/instance.tsp index 1626412c71f6..494fb5f2ccb0 100644 --- a/specification/iotoperations/IoTOperations.Management/models/instance.tsp +++ b/specification/iotoperations/IoTOperations.Management/models/instance.tsp @@ -26,7 +26,7 @@ model InstanceResource is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; ...ManagedServiceIdentityProperty; @@ -44,11 +44,11 @@ model InstanceProperties { description?: string; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("The Azure IoT Operations version.") - @visibility("read") + @visibility(Lifecycle.Read) version?: string; @doc("The reference to the Schema Registry for this AIO Instance.") diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp index aaa1467a4af4..bf1b001ac5ac 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp @@ -27,7 +27,7 @@ model Dataset is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -50,7 +50,7 @@ model DatasetProperties { keys?: Record; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp index 7d1ea14a8b4f..a95d692e52b0 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp @@ -25,7 +25,7 @@ model Instance is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -35,7 +35,7 @@ model InstanceProperties { description?: string; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/main.tsp b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/main.tsp index 2523f0703133..513285cf94d9 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/main.tsp +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/main.tsp @@ -14,9 +14,7 @@ using Azure.Core; using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-core/casing-style" @armProviderNamespace -@service({ - title: "Microsoft.IoTOperationsDataProcessor management service.", -}) +@service(#{ title: "Microsoft.IoTOperationsDataProcessor management service." }) @versioned(Versions) @doc("Microsoft.IoTOperationsDataProcessor Resource Provider management API.") namespace Microsoft.IoTOperationsDataProcessor; diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp index 7217eb1e207e..035b698b506d 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp @@ -27,7 +27,7 @@ model Pipeline is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -47,7 +47,7 @@ model PipelineProperties { stages: Record; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp index 4b10424701e1..091ccf279a20 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp @@ -18,9 +18,7 @@ using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-core/casing-style" @armProviderNamespace -@service({ - title: "Microsoft.IoTOperationsMQ management service", -}) +@service(#{ title: "Microsoft.IoTOperationsMQ management service" }) @versioned(Versions) @doc("Microsoft.IoTOperationsMQ Resource Provider management API.") namespace Microsoft.IoTOperationsMQ; diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp index e08683a47957..ec3e7031a8a7 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp @@ -8,7 +8,7 @@ namespace Microsoft.IoTOperationsMQ; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "Extended location is a valid property" alias ExtendedLocation = { @doc("Extended Location") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocationProperty; }; diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp index 2db61da54310..697d85726af4 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp @@ -62,7 +62,7 @@ model DataLakeConnectorProperties { @doc("The protocol to use for connecting with Brokers. NOTE - Enum only storage is supported at at time.") target: DataLakeTargetStorage; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -203,7 +203,7 @@ model DataLakeConnectorTopicMapProperties { @doc("TopicMap for DataLake connector.") mapping: DataLakeConnectorMap; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -241,7 +241,7 @@ model DataLakeConnectorMap { @doc("Delta table properties") model DeltaTable { @doc("Schema list supported.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) schema: DeltaTableSchema[]; @doc("Delta table name.") diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/diagnosticservice.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/diagnosticservice.tsp index e2d4017fdcd7..cfba68c25c8a 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/diagnosticservice.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/diagnosticservice.tsp @@ -61,7 +61,7 @@ model DiagnosticServiceProperties { @doc("The destination to collect traces. Diagnostic service will push traces to this endpoint") openTelemetryTracesCollectorAddr?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp index 358d4b90bf51..2f437b412c51 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp @@ -57,7 +57,7 @@ model KafkaConnectorProperties { @doc("The Node Tolerations for the Bridge Connector pods.") nodeTolerations?: NodeTolerations; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -206,10 +206,10 @@ model KafkaTopicMapProperties { partitionStrategy?: KafkaPartitionStrategy = KafkaPartitionStrategy.default; @doc("The route details for Kafka connector.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) routes: KafkaRoutes[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mq.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mq.tsp index d404733d630e..658d40b76386 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mq.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mq.tsp @@ -31,7 +31,7 @@ model MqResource is TrackedResource { @doc("MQ Resource properties") model MqProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp index 05f4ffd6cc24..3a2ba2d27ed2 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp @@ -58,7 +58,7 @@ model MqttBridgeConnectorProperties { @doc("The protocol to use for connecting with Brokers.") protocol: MqttProtocol; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; @@ -148,10 +148,10 @@ model MqttBridgeTopicMapProperties { mqttBridgeConnectorRef: string; @doc("The route details for MqttBridge connector.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) routes?: MqttBridgeRoutes[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp index 3b60a89c2511..79f1cfdf7855 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp @@ -70,7 +70,7 @@ model BrokerProperties { @doc("The Running Mode of the Broker Deployment.") mode: RunMode; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -250,7 +250,6 @@ model DiskBackedMessageBufferSettings { @doc("VolumeClaimSpec properties") model VolumeClaimSpec { @doc("AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1") - @OpenAPI.extension("x-ms-identifiers", []) accessModes?: string[]; @doc("This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.") @@ -317,7 +316,7 @@ model VolumeClaimResourceRequirements { @doc("VolumeClaimSpecSelector properties") model VolumeClaimSpecSelector { @doc("MatchExpressions is a list of label selector requirements. The requirements are ANDed.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) matchExpressions?: VolumeClaimSpecSelectorMatchExpressions[]; #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @@ -419,7 +418,7 @@ model BrokerListenerProperties { @doc("Defines configuration of a TLS server certificate. NOTE Enum - Only one TLS Cert method is supported") tls?: TlsCertMethod; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -509,13 +508,13 @@ model BrokerAuthenticationResource model BrokerAuthenticationProperties { // GENERATION FIX TEMP - add "minProperties": 1 and "maxProperties": 1 to this property after creation. @doc("The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) authenticationMethods: BrokerAuthenticatorMethods[]; @doc("The array of listener Resources it supports.") listenerRef: string[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -649,7 +648,7 @@ model BrokerAuthorizationProperties { @doc("The array of listener Resources it supports.") listenerRef: string[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -660,14 +659,14 @@ model AuthorizationConfig { enableCache?: boolean = true; @doc("Authorization Rules to be used. If no rule is set, but Authorization Resource is used that would mean DenyAll.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) rules?: AuthorizationBasicRule[]; } @doc("BasicRules of AuthorizationConfig Polar rules are not supported") model AuthorizationBasicRule { @doc("This subfield defines the broker resources that the Basic Rule is applied on.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) brokerResources: ResourceInfoDefinition[]; @doc("This subfield defines the identities that represent the clients.") @@ -678,7 +677,7 @@ model AuthorizationBasicRule { model PrincipalDefinition { #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @doc("A list of key-value pairs that match the attributes of the clients. The attributes are case-sensitive and must match the attributes provided by the clients during authentication.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) attributes?: Record[] = #[]; @doc("A list of client IDs that match the clients. The client IDs are case-sensitive and must match the client IDs provided by the clients during connection.") diff --git a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json index 70205ed0f26a..ec78541163d9 100644 --- a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json +++ b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json @@ -9226,8 +9226,7 @@ "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dataSource": { "$ref": "#/definitions/VolumeClaimDataSource", @@ -9314,8 +9313,7 @@ "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dataSource": { "$ref": "#/definitions/VolumeClaimDataSourceUpdate", diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp index b7150ac379e9..717e01bb6953 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp @@ -25,7 +25,7 @@ model Instance is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -47,7 +47,7 @@ model InstanceProperties { version?: string; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/main.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/main.tsp index c408995e3c32..417376a9b657 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/main.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/main.tsp @@ -15,9 +15,7 @@ using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-core/casing-style" @armProviderNamespace -@service({ - title: "Microsoft.IoTOperationsOrchestrator management service.", -}) +@service(#{ title: "Microsoft.IoTOperationsOrchestrator management service." }) @doc("Microsoft.IoTOperationsOrchestrator Resource Provider management API.") @versioned(Versions) namespace Microsoft.IoTOperationsOrchestrator; diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp index 32d72ed4b026..258192b24e41 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp @@ -25,21 +25,21 @@ model Solution is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @doc("The properties of a Solution resource.") model SolutionProperties { @doc("A list of components") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) components?: ComponentProperties[]; @doc("Version of the particular resource.") version?: string; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp index d736a18ed658..943eb4927d70 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp @@ -25,21 +25,21 @@ model Target is TrackedResource { // Extended location is not included in TrackedResource yet #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" @doc("Edge location of the resource.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @doc("The properties of a Target resource.") model TargetProperties { @doc("A list of components.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) components?: ComponentProperties[]; @doc("Deployment scope (such as Kubernetes namespace).") scope?: string; @doc("Defines the device topology for a target or instance.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) topologies?: TopologiesProperties[]; @doc("Reconciliation Policy.") @@ -49,14 +49,14 @@ model TargetProperties { version?: string; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @doc("Defines a desired runtime component.") model TopologiesProperties { @doc("bindings description.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) bindings?: BindingProperties[]; } diff --git a/specification/keyvault/Security.KeyVault.BackupRestore/main.tsp b/specification/keyvault/Security.KeyVault.BackupRestore/main.tsp index 771a18389c48..32cc3ec08e84 100644 --- a/specification/keyvault/Security.KeyVault.BackupRestore/main.tsp +++ b/specification/keyvault/Security.KeyVault.BackupRestore/main.tsp @@ -27,9 +27,7 @@ using Azure.Core; } ]> ) -@service({ - title: "KeyVaultClient", -}) +@service(#{ title: "KeyVaultClient" }) @versioned(Versions) @server( "{vaultBaseUrl}", diff --git a/specification/keyvault/Security.KeyVault.Certificates/main.tsp b/specification/keyvault/Security.KeyVault.Certificates/main.tsp index 90006aececd2..65aad8bb7e9f 100644 --- a/specification/keyvault/Security.KeyVault.Certificates/main.tsp +++ b/specification/keyvault/Security.KeyVault.Certificates/main.tsp @@ -21,9 +21,7 @@ using Azure.Core; } ]> ) -@service({ - title: "KeyVaultClient", -}) +@service(#{ title: "KeyVaultClient" }) @versioned(Versions) @server( "{vaultBaseUrl}", diff --git a/specification/keyvault/Security.KeyVault.Certificates/models.tsp b/specification/keyvault/Security.KeyVault.Certificates/models.tsp index 7b40c435995e..4207acbefb13 100644 --- a/specification/keyvault/Security.KeyVault.Certificates/models.tsp +++ b/specification/keyvault/Security.KeyVault.Certificates/models.tsp @@ -155,7 +155,7 @@ model CertificateListResult { * The URL to get the next set of certificates. */ @TypeSpec.nextLink - @visibility("read") + @visibility(Lifecycle.Read) nextLink?: string; } @@ -196,13 +196,13 @@ model CertificateAttributes { /** * softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0. */ - @visibility("read") + @visibility(Lifecycle.Read) recoverableDays?: int32; /** * Reflects the deletion recovery level currently in effect for certificates in the current vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged user; otherwise, only the system can purge the certificate, at the end of the retention interval. */ - @visibility("read") + @visibility(Lifecycle.Read) recoveryLevel?: DeletionRecoveryLevel; } @@ -234,14 +234,14 @@ model Attributes { /** * Creation time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) created?: utcDateTime; /** * Last updated time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) updated?: utcDateTime; } @@ -260,14 +260,14 @@ model DeletedCertificateBundle { /** * The time when the certificate is scheduled to be purged, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) scheduledPurgeDate?: utcDateTime; /** * The time when the certificate was deleted, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) deletedDate?: utcDateTime; } @@ -279,26 +279,26 @@ model CertificateBundle { /** * The certificate id. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * The key id. */ - @visibility("read") + @visibility(Lifecycle.Read) kid?: string; /** * The secret id. */ - @visibility("read") + @visibility(Lifecycle.Read) sid?: string; /** * Thumbprint of the certificate. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "Preserving original casing" - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "x5t") @encode("base64url") X509Thumbprint?: bytes; @@ -306,7 +306,7 @@ model CertificateBundle { /** * The management policy. */ - @visibility("read") + @visibility(Lifecycle.Read) policy?: CertificatePolicy; /** @@ -343,7 +343,7 @@ model CertificatePolicy { /** * The certificate id. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** @@ -560,7 +560,7 @@ model Contacts { /** * Identifier for the contacts collection. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** @@ -602,14 +602,14 @@ model CertificateIssuerListResult { * A response message containing a list of certificate issuers in the key vault along with a link to the next page of certificate issuers. */ @items - @visibility("read") + @visibility(Lifecycle.Read) value?: CertificateIssuerItem[]; /** * The URL to get the next set of certificate issuers. */ @TypeSpec.nextLink - @visibility("read") + @visibility(Lifecycle.Read) nextLink?: string; } @@ -729,14 +729,14 @@ model IssuerAttributes { /** * Creation time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) created?: utcDateTime; /** * Last updated time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) updated?: utcDateTime; } @@ -748,7 +748,7 @@ model IssuerBundle { /** * Identifier for the issuer object. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** @@ -834,7 +834,7 @@ model CertificateOperation { /** * The certificate id. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** @@ -991,7 +991,7 @@ model BackupCertificateResult { /** * The backup blob containing the backed up certificate. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("base64url") value?: bytes; } @@ -1017,14 +1017,14 @@ model DeletedCertificateListResult { * A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates. */ @items - @visibility("read") + @visibility(Lifecycle.Read) value?: DeletedCertificateItem[]; /** * The URL to get the next set of deleted certificates. */ @TypeSpec.nextLink - @visibility("read") + @visibility(Lifecycle.Read) nextLink?: string; } @@ -1042,14 +1042,14 @@ model DeletedCertificateItem { /** * The time when the certificate is scheduled to be purged, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) scheduledPurgeDate?: utcDateTime; /** * The time when the certificate was deleted, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) deletedDate?: utcDateTime; } @@ -1061,6 +1061,6 @@ model PendingCertificateSigningRequestResult { /** * The pending certificate signing request as Base64 encoded string. */ - @visibility("read") + @visibility(Lifecycle.Read) value?: string; } diff --git a/specification/keyvault/Security.KeyVault.Certificates/routes.tsp b/specification/keyvault/Security.KeyVault.Certificates/routes.tsp index 211954736233..56be40e6fb61 100644 --- a/specification/keyvault/Security.KeyVault.Certificates/routes.tsp +++ b/specification/keyvault/Security.KeyVault.Certificates/routes.tsp @@ -395,10 +395,9 @@ op getCertificate is KeyVaultOperation< * Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission. */ #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Foundations.Operation is necessary for Key Vault" -@parameterVisibility +@patch(#{ implicitOptionality: false }) @summary("Updates a certificate operation.") @route("/certificates/{certificate-name}/pending") -@patch op updateCertificateOperation is KeyVaultOperation< { /** diff --git a/specification/keyvault/Security.KeyVault.Common/common.tsp b/specification/keyvault/Security.KeyVault.Common/common.tsp index e2c7b37901a6..ccaffdd9fb3f 100644 --- a/specification/keyvault/Security.KeyVault.Common/common.tsp +++ b/specification/keyvault/Security.KeyVault.Common/common.tsp @@ -21,19 +21,19 @@ union Error { /** * The error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: string, /** * The error message. */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string, /** * The key vault server error. */ - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "innererror") innerError?: Error, }, @@ -48,6 +48,6 @@ model KeyVaultError { * The key vault server error. */ #suppress "@azure-tools/typespec-azure-core/no-nullable" "Intentionally nullable model" - @visibility("read") + @visibility(Lifecycle.Read) error?: Error; } diff --git a/specification/keyvault/Security.KeyVault.Keys/main.tsp b/specification/keyvault/Security.KeyVault.Keys/main.tsp index 90006aececd2..65aad8bb7e9f 100644 --- a/specification/keyvault/Security.KeyVault.Keys/main.tsp +++ b/specification/keyvault/Security.KeyVault.Keys/main.tsp @@ -21,9 +21,7 @@ using Azure.Core; } ]> ) -@service({ - title: "KeyVaultClient", -}) +@service(#{ title: "KeyVaultClient" }) @versioned(Versions) @server( "{vaultBaseUrl}", diff --git a/specification/keyvault/Security.KeyVault.Keys/models.tsp b/specification/keyvault/Security.KeyVault.Keys/models.tsp index 4f13f0ff19c2..984aa8edde86 100644 --- a/specification/keyvault/Security.KeyVault.Keys/models.tsp +++ b/specification/keyvault/Security.KeyVault.Keys/models.tsp @@ -375,13 +375,13 @@ model KeyAttributes { /** * softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0. */ - @visibility("read") + @visibility(Lifecycle.Read) recoverableDays?: int32; /** * Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval. */ - @visibility("read") + @visibility(Lifecycle.Read) recoveryLevel?: DeletionRecoveryLevel; /** @@ -392,7 +392,7 @@ model KeyAttributes { /** * The underlying HSM Platform. */ - @visibility("read") + @visibility(Lifecycle.Read) hsmPlatform?: string; /** @@ -457,14 +457,14 @@ model Attributes { /** * Creation time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) created?: utcDateTime; /** * Last updated time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) updated?: utcDateTime; } @@ -513,7 +513,7 @@ model KeyBundle { /** * True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true. */ - @visibility("read") + @visibility(Lifecycle.Read) managed?: boolean; /** @@ -669,14 +669,14 @@ model DeletedKeyBundle { /** * The time when the key is scheduled to be purged, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) scheduledPurgeDate?: utcDateTime; /** * The time when the key was deleted, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) deletedDate?: utcDateTime; } @@ -718,14 +718,14 @@ model KeyListResult { * A response message containing a list of keys in the key vault along with a link to the next page of keys. */ @items - @visibility("read") + @visibility(Lifecycle.Read) value?: KeyItem[]; /** * The URL to get the next set of keys. */ @nextLink - @visibility("read") + @visibility(Lifecycle.Read) nextLink?: string; } @@ -751,7 +751,7 @@ model KeyItem { /** * True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true. */ - @visibility("read") + @visibility(Lifecycle.Read) managed?: boolean; } @@ -762,7 +762,7 @@ model BackupKeyResult { /** * The backup blob containing the backed up key. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("base64url") value?: bytes; } @@ -821,13 +821,13 @@ model KeyOperationResult { /** * Key identifier */ - @visibility("read") + @visibility(Lifecycle.Read) kid?: string; /** * The result of the operation. */ - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "value") @encode("base64url") result?: bytes; @@ -835,14 +835,14 @@ model KeyOperationResult { /** * Cryptographically random, non-repeating initialization vector for symmetric algorithms. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("base64url") iv?: bytes; /** * The tag to authenticate when performing decryption with an authenticated algorithm. */ - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "tag") @encode("base64url") authenticationTag?: bytes; @@ -850,7 +850,7 @@ model KeyOperationResult { /** * Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms. */ - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "aad") @encode("base64url") additionalAuthenticatedData?: bytes; @@ -904,7 +904,7 @@ model KeyVerifyResult { /** * True if the signature is verified, otherwise false. */ - @visibility("read") + @visibility(Lifecycle.Read) value?: boolean; } @@ -937,7 +937,7 @@ model KeyReleaseResult { /** * A signed object containing the released key. */ - @visibility("read") + @visibility(Lifecycle.Read) value?: string; } @@ -950,14 +950,14 @@ model DeletedKeyListResult { * A response message containing a list of deleted keys in the key vault along with a link to the next page of deleted keys. */ @items - @visibility("read") + @visibility(Lifecycle.Read) value?: DeletedKeyItem[]; /** * The URL to get the next set of deleted keys. */ @nextLink - @visibility("read") + @visibility(Lifecycle.Read) nextLink?: string; } @@ -975,14 +975,14 @@ model DeletedKeyItem { /** * The time when the key is scheduled to be purged, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) scheduledPurgeDate?: utcDateTime; /** * The time when the key was deleted, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) deletedDate?: utcDateTime; } @@ -994,7 +994,7 @@ model KeyRotationPolicy { /** * The key policy id. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** @@ -1060,14 +1060,14 @@ model KeyRotationPolicyAttributes { /** * The key rotation policy created time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) created?: utcDateTime; /** * The key rotation policy's last updated time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) updated?: utcDateTime; } diff --git a/specification/keyvault/Security.KeyVault.RBAC/main.tsp b/specification/keyvault/Security.KeyVault.RBAC/main.tsp index 771a18389c48..32cc3ec08e84 100644 --- a/specification/keyvault/Security.KeyVault.RBAC/main.tsp +++ b/specification/keyvault/Security.KeyVault.RBAC/main.tsp @@ -27,9 +27,7 @@ using Azure.Core; } ]> ) -@service({ - title: "KeyVaultClient", -}) +@service(#{ title: "KeyVaultClient" }) @versioned(Versions) @server( "{vaultBaseUrl}", diff --git a/specification/keyvault/Security.KeyVault.RBAC/models.tsp b/specification/keyvault/Security.KeyVault.RBAC/models.tsp index 2a3cddedf5cc..ebce3eaac4af 100644 --- a/specification/keyvault/Security.KeyVault.RBAC/models.tsp +++ b/specification/keyvault/Security.KeyVault.RBAC/models.tsp @@ -243,19 +243,19 @@ model RoleDefinition { /** * The role definition ID. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * The role definition name. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * The role definition type. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: RoleDefinitionType; /** @@ -357,19 +357,19 @@ model RoleAssignment { /** * The role assignment ID. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * The role assignment name. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * The role assignment type. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** diff --git a/specification/keyvault/Security.KeyVault.Secrets/main.tsp b/specification/keyvault/Security.KeyVault.Secrets/main.tsp index 90006aececd2..65aad8bb7e9f 100644 --- a/specification/keyvault/Security.KeyVault.Secrets/main.tsp +++ b/specification/keyvault/Security.KeyVault.Secrets/main.tsp @@ -21,9 +21,7 @@ using Azure.Core; } ]> ) -@service({ - title: "KeyVaultClient", -}) +@service(#{ title: "KeyVaultClient" }) @versioned(Versions) @server( "{vaultBaseUrl}", diff --git a/specification/keyvault/Security.KeyVault.Secrets/models.tsp b/specification/keyvault/Security.KeyVault.Secrets/models.tsp index 462100f70847..74bcea38396c 100644 --- a/specification/keyvault/Security.KeyVault.Secrets/models.tsp +++ b/specification/keyvault/Security.KeyVault.Secrets/models.tsp @@ -85,13 +85,13 @@ model SecretAttributes { /** * softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0. */ - @visibility("read") + @visibility(Lifecycle.Read) recoverableDays?: int32; /** * Reflects the deletion recovery level currently in effect for secrets in the current vault. If it contains 'Purgeable', the secret can be permanently deleted by a privileged user; otherwise, only the system can purge the secret, at the end of the retention interval. */ - @visibility("read") + @visibility(Lifecycle.Read) recoveryLevel?: DeletionRecoveryLevel; } @@ -123,14 +123,14 @@ model Attributes { /** * Creation time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) created?: utcDateTime; /** * Last updated time in UTC. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) updated?: utcDateTime; } @@ -167,13 +167,13 @@ model SecretBundle { /** * If this is a secret backing a KV certificate, then this field specifies the corresponding key backing the KV certificate. */ - @visibility("read") + @visibility(Lifecycle.Read) kid?: string; /** * True if the secret's lifetime is managed by key vault. If this is a secret backing a certificate, then managed will be true. */ - @visibility("read") + @visibility(Lifecycle.Read) managed?: boolean; } @@ -191,14 +191,14 @@ model DeletedSecretBundle { /** * The time when the secret is scheduled to be purged, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) scheduledPurgeDate?: utcDateTime; /** * The time when the secret was deleted, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) deletedDate?: utcDateTime; } @@ -233,14 +233,14 @@ model SecretListResult { * A response message containing a list of secrets in the key vault along with a link to the next page of secrets. */ @items - @visibility("read") + @visibility(Lifecycle.Read) value?: SecretItem[]; /** * The URL to get the next set of secrets. */ @nextLink - @visibility("read") + @visibility(Lifecycle.Read) nextLink?: string; } @@ -271,7 +271,7 @@ model SecretItem { /** * True if the secret's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true. */ - @visibility("read") + @visibility(Lifecycle.Read) managed?: boolean; } @@ -284,14 +284,14 @@ model DeletedSecretListResult { * A response message containing a list of deleted secrets in the key vault along with a link to the next page of deleted secrets. */ @items - @visibility("read") + @visibility(Lifecycle.Read) value?: DeletedSecretItem[]; /** * The URL to get the next set of deleted secrets. */ @nextLink - @visibility("read") + @visibility(Lifecycle.Read) nextLink?: string; } @@ -309,14 +309,14 @@ model DeletedSecretItem { /** * The time when the secret is scheduled to be purged, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) scheduledPurgeDate?: utcDateTime; /** * The time when the secret was deleted, in UTC */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("unixTimestamp", int32) deletedDate?: utcDateTime; } @@ -328,7 +328,7 @@ model BackupSecretResult { /** * The backup blob containing the backed up secret. */ - @visibility("read") + @visibility(Lifecycle.Read) @encode("base64url") value?: bytes; } diff --git a/specification/keyvault/Security.KeyVault.Settings/main.tsp b/specification/keyvault/Security.KeyVault.Settings/main.tsp index 771a18389c48..32cc3ec08e84 100644 --- a/specification/keyvault/Security.KeyVault.Settings/main.tsp +++ b/specification/keyvault/Security.KeyVault.Settings/main.tsp @@ -27,9 +27,7 @@ using Azure.Core; } ]> ) -@service({ - title: "KeyVaultClient", -}) +@service(#{ title: "KeyVaultClient" }) @versioned(Versions) @server( "{vaultBaseUrl}", diff --git a/specification/keyvault/Security.KeyVault.Settings/models.tsp b/specification/keyvault/Security.KeyVault.Settings/models.tsp index 75919ca03934..bdcddd722829 100644 --- a/specification/keyvault/Security.KeyVault.Settings/models.tsp +++ b/specification/keyvault/Security.KeyVault.Settings/models.tsp @@ -74,6 +74,6 @@ model SettingsListResult { /** * A response message containing a list of account settings with their associated value. */ - @visibility("read") + @visibility(Lifecycle.Read) settings?: Setting[]; } diff --git a/specification/keyvault/Security.KeyVault.Settings/routes.tsp b/specification/keyvault/Security.KeyVault.Settings/routes.tsp index 3dd4a95737cd..6a2e40cb9320 100644 --- a/specification/keyvault/Security.KeyVault.Settings/routes.tsp +++ b/specification/keyvault/Security.KeyVault.Settings/routes.tsp @@ -16,10 +16,9 @@ namespace KeyVault; * Description of the pool setting to be updated */ #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Foundations.Operation is necessary for Key Vault" -@parameterVisibility @summary("Updates key vault account setting, stores it, then returns the setting name and value to the client.") @route("/settings/{setting-name}") -@patch +@patch(#{ implicitOptionality: false }) op updateSetting is KeyVaultOperation< { ...SettingNameParameter; diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp index b712c105ebbb..13e8ce951469 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp @@ -28,7 +28,7 @@ model BgpPeerProperties { @doc("Peer Address") peerAddress: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Resource provision state") provisioningState?: ProvisioningState; } diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp index c98fc6b2ad66..26e02df84172 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/common.tsp @@ -10,9 +10,7 @@ using TypeSpec.Versioning; using Azure.ResourceManager; @armProviderNamespace("Microsoft.KubernetesRuntime") -@service({ - title: "Microsoft.KubernetesRuntime", -}) +@service(#{ title: "Microsoft.KubernetesRuntime" }) @versioned(Microsoft.KubernetesRuntime.Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.KubernetesRuntime; diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp index 3e66d03532e1..eee82c095602 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp @@ -47,7 +47,7 @@ model LoadBalancerProperties { @added(Microsoft.KubernetesRuntime.Versions.v2024_03_01) bgpPeers?: string[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Resource provision state") provisioningState?: ProvisioningState; } diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp index 16bf30a3c455..718d7a955b81 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/service.tsp @@ -11,11 +11,11 @@ namespace Microsoft.KubernetesRuntime; @doc("Properties for the service resource") model ServiceProperties { @doc("The object id of the service principal of the RP provisioned in the tenant") - @visibility("read") + @visibility(Lifecycle.Read) rpObjectId?: uuid; @doc("Resource provision state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp index f45b061e8d77..5090aa74d62b 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp @@ -117,11 +117,11 @@ model StorageClassProperties { mountOptions?: string[]; @doc("Provisioner name") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) provisioner?: string; @doc("Binding mode of volumes: Immediate, WaitForFirstConsumer") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) volumeBindingMode?: VolumeBindingMode; @doc("The access mode: [ReadWriteOnce, ReadWriteMany] or [ReadWriteOnce]") @@ -144,11 +144,11 @@ model StorageClassProperties { @doc("Properties of the StorageClass") // prevent generation of buggy StorageClassPropertiesUpdate model - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) typeProperties: StorageClassTypeProperties; @doc("Resource provision state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/liftrarize/ArizeAi.ObservabilityEval.Management/main.tsp b/specification/liftrarize/ArizeAi.ObservabilityEval.Management/main.tsp index 6da60d288ae2..584365718ab2 100644 --- a/specification/liftrarize/ArizeAi.ObservabilityEval.Management/main.tsp +++ b/specification/liftrarize/ArizeAi.ObservabilityEval.Management/main.tsp @@ -14,9 +14,7 @@ using LiftrBase; /* ArizeAi.ObservabilityEval Resource Provider management API. */ @armProviderNamespace -@service({ - title: "ArizeAi.ObservabilityEval management service", -}) +@service(#{ title: "ArizeAi.ObservabilityEval management service" }) @versioned(ArizeAi.ObservabilityEval.Versions) namespace ArizeAi.ObservabilityEval; diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp b/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp index 34f517b11aba..0fbe5ae3b28c 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp +++ b/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp @@ -95,7 +95,7 @@ model OfferDetails { @added(Versions.v2024_08_27_preview) @added(Versions.v2024_08_27) @doc("Current subscription end date and time") - @visibility("read") + @visibility(Lifecycle.Read) endDate?: utcDateTime; } @@ -124,14 +124,14 @@ model UserDetails { @doc("Base resource properties that can be extended for arm resources.") model BaseResourceProperties { @doc("Marketplace details of the resource.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) marketplace: MarketplaceDetails; @doc("Details of the user.") user: UserDetails; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } @@ -149,7 +149,7 @@ model SingleSignOnProperties { @doc("List of AAD domains fetched from Microsoft Graph for user.") aadDomains?: string[]; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Provisioning State of the resource") provisioningState?: ResourceProvisioningState; } diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp index 2c2da6856c65..a24ae9f97b5c 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp +++ b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp @@ -13,9 +13,7 @@ using TypeSpec.Versioning; using LiftrBase.Data; @armProviderNamespace -@service({ - title: "Astronomer.Astro", -}) +@service(#{ title: "Astronomer.Astro" }) @versioned(Astronomer.Astro.Versions) namespace Astronomer.Astro; diff --git a/specification/liftrneon/Neon.Postgres.Management/LiftrBase/main.tsp b/specification/liftrneon/Neon.Postgres.Management/LiftrBase/main.tsp index afbeebb94191..6fd92d34cabb 100644 --- a/specification/liftrneon/Neon.Postgres.Management/LiftrBase/main.tsp +++ b/specification/liftrneon/Neon.Postgres.Management/LiftrBase/main.tsp @@ -113,7 +113,7 @@ model CompanyDetails { @doc("Base resource properties that can be extended for arm resources.") model BaseResourceProperties { @doc("Marketplace details of the resource.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) marketplaceDetails: MarketplaceDetails; @doc("Details of the user.") @@ -123,7 +123,7 @@ model BaseResourceProperties { companyDetails: CompanyDetails; @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/liftrneon/Neon.Postgres.Management/main.tsp b/specification/liftrneon/Neon.Postgres.Management/main.tsp index f61718301480..c31bbba3cf36 100644 --- a/specification/liftrneon/Neon.Postgres.Management/main.tsp +++ b/specification/liftrneon/Neon.Postgres.Management/main.tsp @@ -11,10 +11,7 @@ using TypeSpec.Versioning; using LiftrBase.Data; @armProviderNamespace -@service({ - title: "Neon.Postgres", - description: "Azure Native Services Integration for Neon Postgres", -}) +@service(#{ title: "Neon.Postgres" }) @versioned(Neon.Postgres.Versions) @armCommonTypesVersion("v5") namespace Neon.Postgres; diff --git a/specification/liftrpinecone/Pinecone.VectorDb.Management/main.tsp b/specification/liftrpinecone/Pinecone.VectorDb.Management/main.tsp index 7f19a2d666aa..1d49e2fc7beb 100644 --- a/specification/liftrpinecone/Pinecone.VectorDb.Management/main.tsp +++ b/specification/liftrpinecone/Pinecone.VectorDb.Management/main.tsp @@ -14,9 +14,7 @@ using LiftrBase; /* Pinecone Resource Provider management API. */ @armProviderNamespace -@service({ - title: "Pinecone management service", -}) +@service(#{ title: "Pinecone management service" }) @versioned(Pinecone.VectorDb.Versions) namespace Pinecone.VectorDb; diff --git a/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase.Storage/main.tsp b/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase.Storage/main.tsp index f693c72d9208..9d9de1e22374 100644 --- a/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase.Storage/main.tsp +++ b/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase.Storage/main.tsp @@ -39,7 +39,7 @@ model FileSystemResourceProperties { /** * Provisioning State of the resource */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** @@ -130,7 +130,7 @@ model FileSystemResource @path @key("fileSystemName") @segment("fileSystems") - @visibility("read") + @visibility(Lifecycle.Read) @pattern("^[a-zA-Z0-9_-]*$") name: string; diff --git a/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase/main.tsp b/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase/main.tsp index 066f7f1ef702..8ade310f3cca 100644 --- a/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase/main.tsp +++ b/specification/liftrqumulo/Qumulo.Storage.Management/LiftrBase/main.tsp @@ -78,7 +78,7 @@ model MarketplaceDetails { /** * Marketplace subscription status */ - @visibility("read") + @visibility(Lifecycle.Read) marketplaceSubscriptionStatus?: MarketplaceSubscriptionStatus; } diff --git a/specification/liftrqumulo/Qumulo.Storage.Management/main.tsp b/specification/liftrqumulo/Qumulo.Storage.Management/main.tsp index e634bb7bc3da..8afa224022d3 100644 --- a/specification/liftrqumulo/Qumulo.Storage.Management/main.tsp +++ b/specification/liftrqumulo/Qumulo.Storage.Management/main.tsp @@ -18,9 +18,7 @@ using LiftrBase; @armProviderNamespace @useLibraryNamespace(LiftrBase.Storage) -@service({ - title: "Qumulo.Storage", -}) +@service(#{ title: "Qumulo.Storage" }) @versioned(Versions) namespace Qumulo.Storage; @@ -64,7 +62,7 @@ interface FileSystems { * Update a FileSystemResource */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @parameterVisibility + @patch(#{ implicitOptionality: false }) @operationId("FileSystems_Update") update is ArmCustomPatchSync; diff --git a/specification/liftrweightsandbiases/Liftr.WeightsAndBiases.Management/main.tsp b/specification/liftrweightsandbiases/Liftr.WeightsAndBiases.Management/main.tsp index e612add85ea1..e9962ecbfa19 100644 --- a/specification/liftrweightsandbiases/Liftr.WeightsAndBiases.Management/main.tsp +++ b/specification/liftrweightsandbiases/Liftr.WeightsAndBiases.Management/main.tsp @@ -14,9 +14,7 @@ using LiftrBase; /* Microsoft.WeightsAndBiases Resource Provider management API. */ @armProviderNamespace -@service({ - title: "Microsoft.WeightsAndBiases management service", -}) +@service(#{ title: "Microsoft.WeightsAndBiases management service" }) @versioned(Microsoft.WeightsAndBiases.Versions) namespace Microsoft.WeightsAndBiases; diff --git a/specification/loadtestservice/LoadTestService.Management/main.tsp b/specification/loadtestservice/LoadTestService.Management/main.tsp index 965f7e0ebc7d..45808495a417 100644 --- a/specification/loadtestservice/LoadTestService.Management/main.tsp +++ b/specification/loadtestservice/LoadTestService.Management/main.tsp @@ -12,9 +12,7 @@ using Azure.Core; using Azure.ResourceManager; @armProviderNamespace -@service({ - title: "LoadTest Client", -}) +@service(#{ title: "LoadTest Client" }) @doc("LoadTest client provides access to LoadTest Resource and it's status operations.") @versioned(APIVersions) namespace Microsoft.LoadTestService; diff --git a/specification/loadtestservice/LoadTestService.Management/models.tsp b/specification/loadtestservice/LoadTestService.Management/models.tsp index e294dc6cb1d7..46b18a92f2a1 100644 --- a/specification/loadtestservice/LoadTestService.Management/models.tsp +++ b/specification/loadtestservice/LoadTestService.Management/models.tsp @@ -112,7 +112,7 @@ union type { @doc("Details about the connection between the Batch service and the endpoint.") model EndpointDetail { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The port an endpoint is connected to.") port?: int32; } @@ -120,29 +120,29 @@ model EndpointDetail { @doc("A domain name and connection details used to access a dependency.") model EndpointDependency { @doc("The domain name of the dependency. Domain names may be fully qualified or may contain a * wildcard.") - @visibility("read") + @visibility(Lifecycle.Read) @key domainName: string; @doc("Human-readable supplemental information about the dependency and when it is applicable.") - @visibility("read") + @visibility(Lifecycle.Read) description?: string; @doc("The list of connection details for this endpoint.") - @visibility("read") - @extension("x-ms-identifiers", ["port"]) + @visibility(Lifecycle.Read) + @identifiers(#["port"]) endpointDetails?: EndpointDetail[]; } @doc("A collection of related endpoints from the same service for which the Batch service requires outbound access.") model OutboundEnvironmentEndpoint { @doc("The type of service that Azure Load Testing connects to.") - @visibility("read") + @visibility(Lifecycle.Read) category?: string; @doc("The endpoints for this service to which the Batch service makes outbound calls.") - @visibility("read") - @extension("x-ms-identifiers", ["domainName"]) + @visibility(Lifecycle.Read) + @identifiers(#["domainName"]) endpoints?: EndpointDependency[]; } @@ -176,7 +176,7 @@ model QuotaResourceProperties { usage?: int32; @doc("Resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceState; } @@ -196,16 +196,16 @@ model QuotaResource is ProxyResource { model MaxMonthlyVirtualUserHoursResourceProperties { @doc("Current limit value, with -1 indicating that there is no limit.") @minValue(-1) - @visibility("read") + @visibility(Lifecycle.Read) limit?: int32; @doc("Current usage value.") @minValue(0) - @visibility("read") + @visibility(Lifecycle.Read) usage?: int32; @doc("Resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceState; } @@ -238,12 +238,12 @@ model LoadTestProperties { @doc("Description of the resource.") description?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("Resource provisioning state.") provisioningState?: ResourceState; #suppress "@azure-tools/typespec-azure-core/casing-style" "URI is an abbervation and should be upper case" - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(2083) @doc("Resource data plane URI.") dataPlaneURI?: string; @@ -255,19 +255,19 @@ model LoadTestProperties { @doc("Check quota availability response object.") model CheckQuotaAvailabilityResponse { @doc("Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"") - @visibility("read") + @visibility(Lifecycle.Read) type: string; @doc("Azure Resource Manager metadata containing createdBy and modifiedBy information.") - @visibility("read") + @visibility(Lifecycle.Read) systemData?: Azure.ResourceManager.Foundations.SystemData; @doc("The name of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) name?: string; #suppress "deprecated" "Legacy flatten" diff --git a/specification/loadtestservice/LoadTestService/main.tsp b/specification/loadtestservice/LoadTestService/main.tsp index 046ee0fc5136..1b9e4f6bffa1 100644 --- a/specification/loadtestservice/LoadTestService/main.tsp +++ b/specification/loadtestservice/LoadTestService/main.tsp @@ -10,9 +10,7 @@ using Azure.Core; @versioned(APIVersions) @useAuth(Oauth2) -@service({ - title: "Azure Load Testing", -}) +@service(#{ title: "Azure Load Testing" }) @server( "https://{endpoint}", "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", diff --git a/specification/loadtestservice/LoadTestService/models.notificationrule.tsp b/specification/loadtestservice/LoadTestService/models.notificationrule.tsp index c05a4f1ac08a..3f7a639d8863 100644 --- a/specification/loadtestservice/LoadTestService/models.notificationrule.tsp +++ b/specification/loadtestservice/LoadTestService/models.notificationrule.tsp @@ -99,7 +99,7 @@ model NotificationRule { @minLength(2) @pattern("^[a-z0-9_-]*$") @doc("The unique identifier of the notification rule.") - @visibility("read") + @visibility(Lifecycle.Read) notificationRuleId: string; @maxLength(50) diff --git a/specification/loadtestservice/LoadTestService/models.testprofile.tsp b/specification/loadtestservice/LoadTestService/models.testprofile.tsp index 2a04e965f67d..ecd2250abdc7 100644 --- a/specification/loadtestservice/LoadTestService/models.testprofile.tsp +++ b/specification/loadtestservice/LoadTestService/models.testprofile.tsp @@ -17,7 +17,7 @@ model TestProfileIdPathParameter { @maxLength(50) @minLength(2) @key - @visibility("read") + @visibility(Lifecycle.Read) @pattern("^[a-z0-9_-]*$") testProfileId: string; } @@ -26,7 +26,7 @@ model TestProfileIdPathParameter { @added(APIVersions.v2024_05_01_preview) model TestProfileRunIdPathParameter { @doc("Unique identifier for the test profile run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(50) @minLength(2) @key @@ -120,7 +120,7 @@ model TestProfileRunRecommendation { @discriminator("kind") model TargetResourceConfigurations { @doc("Kind of the resource for which the configurations apply.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) kind: ResourceKind; } @@ -155,11 +155,11 @@ model TestProfile { description?: string; @doc("Associated test ID for the test profile. This property is required for creating a Test Profile and it's not allowed to be updated.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) testId?: string; @doc("Target resource ID on which the test profile is created. This property is required for creating a Test Profile and it's not allowed to be updated.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) targetResourceId?: string; @doc("Configurations of the target resource on which testing would be done.") @@ -186,52 +186,52 @@ model TestProfileRun { description?: string; @doc("Associated test profile ID for the test profile run. This is required to create a test profile run and can't be updated.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) testProfileId?: string; // End section: Properties provided by user // Begin section: Properties populated from Test Profile @doc("Target resource ID on which the test profile run is created") - @visibility("read") + @visibility(Lifecycle.Read) targetResourceId?: string; @doc("Configurations of the target resource on which the test profile ran.") - @visibility("read") + @visibility(Lifecycle.Read) targetResourceConfigurations?: TargetResourceConfigurations; // End section: Properties populated from Test Profile // Begin section: Test profile Run specific information @doc("The test profile run status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: TestProfileRunStatus; @doc("Error details if there is any failure in test profile run. These errors are specific to the Test Profile Run.") - @visibility("read") + @visibility(Lifecycle.Read) errorDetails?: ErrorDetails[]; @doc("The test profile run start DateTime(RFC 3339 literal format).") - @visibility("read") + @visibility(Lifecycle.Read) startDateTime?: utcDateTime; @doc("The test profile run end DateTime(RFC 3339 literal format).") - @visibility("read") + @visibility(Lifecycle.Read) endDateTime?: utcDateTime; @doc("Test profile run duration in seconds.") - @visibility("read") + @visibility(Lifecycle.Read) durationInSeconds?: int64; @doc(""" Details of the test runs ran as part of the test profile run. Key is the testRunId of the corresponding testRun. """) - @visibility("read") + @visibility(Lifecycle.Read) testRunDetails?: Record; @doc("Recommendations provided based on a successful test profile run.") - @visibility("read") + @visibility(Lifecycle.Read) recommendations?: TestProfileRunRecommendation[]; // End section: Test profile run specific information diff --git a/specification/loadtestservice/LoadTestService/models.trigger.tsp b/specification/loadtestservice/LoadTestService/models.trigger.tsp index 0ae7132cc633..266e1554fe45 100644 --- a/specification/loadtestservice/LoadTestService/models.trigger.tsp +++ b/specification/loadtestservice/LoadTestService/models.trigger.tsp @@ -100,7 +100,7 @@ model ScheduleTestsTrigger extends Trigger { @doc("Start date time of the trigger in UTC timezone. (RFC 3339 literal format)") startDateTime?: utcDateTime; - @visibility("read") + @visibility(Lifecycle.Read) recurrenceStatus?: RecurrenceStatus; @doc("Recurrence details of the trigger. Null if schedule is not recurring.") @@ -127,7 +127,7 @@ model Trigger { @minLength(2) @pattern("^[a-z0-9_-]*$") @doc("The unique identifier of the trigger.") - @visibility("read") + @visibility(Lifecycle.Read) triggerId: string; @maxLength(50) @@ -146,7 +146,7 @@ model Trigger { state?: TriggerState; @doc("Details of current state of the trigger.") - @visibility("read") + @visibility(Lifecycle.Read) stateDetails?: StateDetails; ...SystemMetaData; diff --git a/specification/loadtestservice/LoadTestService/models.tsp b/specification/loadtestservice/LoadTestService/models.tsp index ff0ecf9d9de4..1bf1c100dcf0 100644 --- a/specification/loadtestservice/LoadTestService/models.tsp +++ b/specification/loadtestservice/LoadTestService/models.tsp @@ -309,7 +309,7 @@ model Test { baselineTestRunId?: string; @doc("The input artifacts for the test.") - @visibility("read") + @visibility(Lifecycle.Read) inputArtifacts?: TestInputArtifacts; ...TestIdPathParameter; @@ -399,11 +399,11 @@ model PassFailMetric { action?: PFAction = PFAction.continue; @doc("The actual value of the client metric for the test run.") - @visibility("read") + @visibility(Lifecycle.Read) actualValue?: float64; @doc("Outcome of the test run.") - @visibility("read") + @visibility(Lifecycle.Read) result?: PFResult; } @@ -431,11 +431,11 @@ model PassFailServerMetric { action?: PFAction = PFAction.continue; @doc("The actual value of the server metric ") - @visibility("read") + @visibility(Lifecycle.Read) actualValue?: float64; @doc("Outcome of the test run.") - @visibility("read") + @visibility(Lifecycle.Read) result?: PFResult; } @@ -560,7 +560,7 @@ model TestInputArtifacts { urlTestConfigFileInfo?: TestFileInfo; @doc("Additional supported files for the test run") - @visibility("read") + @visibility(Lifecycle.Read) additionalFileInfo?: TestFileInfo[]; } @@ -573,23 +573,23 @@ model FileInfo { @doc("File URL.") //update description - @visibility("read") + @visibility(Lifecycle.Read) url?: url; @doc("File type") - @visibility("read") + @visibility(Lifecycle.Read) fileType?: FileType; @doc("Expiry time of the file (RFC 3339 literal format)") - @visibility("read") + @visibility(Lifecycle.Read) expireDateTime?: utcDateTime; @doc("Validation status of the file") - @visibility("read") + @visibility(Lifecycle.Read) validationStatus?: FileStatus; @doc("Validation failure error details") - @visibility("read") + @visibility(Lifecycle.Read) validationFailureDetails?: string; } @@ -603,7 +603,7 @@ model TestAppComponents { components: Record; @doc("Test identifier") - @visibility("read") + @visibility(Lifecycle.Read) testId?: string; ...SystemMetaData; @@ -616,7 +616,7 @@ model AppComponent { @doc(""" fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName} """) - @visibility("read") + @visibility(Lifecycle.Read) resourceId: string; @doc("Azure resource name, required while creating the app component.") @@ -629,11 +629,11 @@ model AppComponent { displayName?: string; @doc("Resource group name of the Azure resource") - @visibility("read") + @visibility(Lifecycle.Read) resourceGroup?: string; @doc("Subscription Id of the Azure resource") - @visibility("read") + @visibility(Lifecycle.Read) subscriptionId?: string; @doc("Kind of Azure resource type") @@ -643,7 +643,7 @@ model AppComponent { @doc("Test server metrics configuration") model TestServerMetricConfig { @doc("Test identifier") - @visibility("read") + @visibility(Lifecycle.Read) testId?: string; @doc(""" @@ -663,7 +663,7 @@ model TestServerMetricConfig { """) model ResourceMetric { @doc("Unique name for metric.") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("Azure resource id.") @@ -716,7 +716,7 @@ model TestRun { environmentVariables?: Record; @doc("Error details if there is any failure in load test run") - @visibility("read") + @visibility(Lifecycle.Read) errorDetails?: ErrorDetails[]; @doc(""" @@ -724,7 +724,7 @@ model TestRun { The sampler name is the same as the name mentioned in the test script. Sampler name "Total" represents the aggregated statistics of all the samplers. """) - @visibility("read") + @visibility(Lifecycle.Read) testRunStatistics?: Record; @doc(""" @@ -732,24 +732,24 @@ model TestRun { The region name should of format accepted by ARM, and should be a region supported by Azure Load Testing. For example, East US should be passed as "eastus". The region name must match one of the strings in the "Name" column returned from running the "az account list-locations -o table" Azure CLI command. """) - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2024_03_01_preview) regionalStatistics?: Record; @doc("The load test configuration.") - @visibility("read") + @visibility(Lifecycle.Read) loadTestConfiguration?: LoadTestConfiguration; @doc("Collection of test run artifacts") - @visibility("read") + @visibility(Lifecycle.Read) testArtifacts?: TestRunArtifacts; @doc("Test result for pass/Fail criteria used during the test run.") - @visibility("read") + @visibility(Lifecycle.Read) testResult?: PFTestResult; @doc("Number of virtual users, for which test has been run.") - @visibility("read") + @visibility(Lifecycle.Read) virtualUsers?: int32; @maxLength(50) @@ -767,41 +767,41 @@ model TestRun { description?: string; @doc("The test run status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: Status; @doc("The test run start DateTime(RFC 3339 literal format).") - @visibility("read") + @visibility(Lifecycle.Read) startDateTime?: utcDateTime; @doc("The test run end DateTime(RFC 3339 literal format).") - @visibility("read") + @visibility(Lifecycle.Read) endDateTime?: utcDateTime; @doc("Test run initiated time.") - @visibility("read") + @visibility(Lifecycle.Read) executedDateTime?: utcDateTime; @doc("Portal url.") - @visibility("read") + @visibility(Lifecycle.Read) portalUrl?: string; @doc("Test run duration in milliseconds.") - @visibility("read") + @visibility(Lifecycle.Read) duration?: int64; @doc("Virtual user hours consumed by the test run.") - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2024_07_01_preview) virtualUserHours?: float64; @doc("Subnet ID on which the load test instances should run.") - @visibility("read") + @visibility(Lifecycle.Read) subnetId?: string; @added(APIVersions.v2023_04_01_preview) @doc("Type of test.") - @visibility("read") + @visibility(Lifecycle.Read) kind?: TestKind; @added(APIVersions.v2024_05_01_preview) @@ -815,7 +815,7 @@ model TestRun { #suppress "@azure-tools/typespec-azure-core/casing-style" "IP is an abbervation and should be all caps" @added(APIVersions.v2023_04_01_preview) @doc("Inject load test engines without deploying public IP for outbound access") - @visibility("read") + @visibility(Lifecycle.Read) publicIPDisabled?: boolean; @added(APIVersions.v2024_07_01_preview) @@ -828,105 +828,105 @@ model TestRun { @doc("Error details if there is any failure in load test run") model ErrorDetails { @doc("Error details in case test run was not successfully run.") - @visibility("read") + @visibility(Lifecycle.Read) message?: string; } @doc("Test run statistics.") model TestRunStatistics { @doc("Transaction name.") - @visibility("read") + @visibility(Lifecycle.Read) transaction?: string; @doc("Sampler count.") - @visibility("read") + @visibility(Lifecycle.Read) sampleCount?: float64; @doc("Error count.") - @visibility("read") + @visibility(Lifecycle.Read) errorCount?: float64; @doc("Error percentage.") - @visibility("read") + @visibility(Lifecycle.Read) errorPct?: float64; @doc("Mean response time.") - @visibility("read") + @visibility(Lifecycle.Read) meanResTime?: float64; @doc("Median response time.") - @visibility("read") + @visibility(Lifecycle.Read) medianResTime?: float64; @doc("Max response time.") - @visibility("read") + @visibility(Lifecycle.Read) maxResTime?: float64; @doc("Minimum response time.") - @visibility("read") + @visibility(Lifecycle.Read) minResTime?: float64; @doc("90 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct1ResTime?: float64; @doc("95 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct2ResTime?: float64; @doc("99 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct3ResTime?: float64; @added(APIVersions.v2024_05_01_preview) @doc("75 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct75ResTime?: float64; @added(APIVersions.v2024_05_01_preview) @doc("96 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct96ResTime?: float64; @added(APIVersions.v2024_05_01_preview) @doc("97 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct97ResTime?: float64; @added(APIVersions.v2024_05_01_preview) @doc("98 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct98ResTime?: float64; @added(APIVersions.v2024_05_01_preview) @doc("99.9 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct999ResTime?: float64; @added(APIVersions.v2024_05_01_preview) @doc("99.99 percentile response time.") - @visibility("read") + @visibility(Lifecycle.Read) pct9999ResTime?: float64; @doc("Throughput.") - @visibility("read") + @visibility(Lifecycle.Read) throughput?: float64; #suppress "@azure-tools/typespec-azure-core/casing-style" "KBytes is expected" @doc("Received network bytes.") - @visibility("read") + @visibility(Lifecycle.Read) receivedKBytesPerSec?: float64; #suppress "@azure-tools/typespec-azure-core/casing-style" "KBytes is expected" @doc("Send network bytes.") - @visibility("read") + @visibility(Lifecycle.Read) sentKBytesPerSec?: float64; } @doc("Collection of test run artifacts") model TestRunArtifacts { @doc("The input artifacts for the test run.") - @visibility("read") + @visibility(Lifecycle.Read) inputArtifacts?: TestRunInputArtifacts; @doc("The output artifacts for the test run.") @@ -952,7 +952,7 @@ model TestRunInputArtifacts { urlTestConfigFileInfo?: TestRunFileInfo; @doc("Additional supported files for the test run") - @visibility("read") + @visibility(Lifecycle.Read) additionalFileInfo?: TestRunFileInfo[]; } @@ -1107,7 +1107,7 @@ model DimensionValue { @pagedResult model DimensionValueList { @doc("The dimension name") - @visibility("read") + @visibility(Lifecycle.Read) @added(APIVersions.v2023_04_01_preview) name?: string; @@ -1151,7 +1151,7 @@ model TestRunAppComponents { components: Record; @doc("Test run identifier") - @visibility("read") + @visibility(Lifecycle.Read) testRunId?: string; ...SystemMetaData; @@ -1160,7 +1160,7 @@ model TestRunAppComponents { @doc("Test run server metrics configuration") model TestRunServerMetricConfig { @doc("Test run identifier") - @visibility("read") + @visibility(Lifecycle.Read) testRunId?: string; @doc(""" @@ -1260,19 +1260,19 @@ model ListTestQueryParams { @doc("System metadata.") model SystemMetaData { @doc("The creation datetime(RFC 3339 literal format).") - @visibility("read") + @visibility(Lifecycle.Read) createdDateTime?: utcDateTime; @doc("The user that created.") - @visibility("read") + @visibility(Lifecycle.Read) createdBy?: string; @doc("The last Modified datetime(RFC 3339 literal format).") - @visibility("read") + @visibility(Lifecycle.Read) lastModifiedDateTime?: utcDateTime; @doc("The user that last modified.") - @visibility("read") + @visibility(Lifecycle.Read) lastModifiedBy?: string; } @@ -1282,7 +1282,7 @@ model TestIdPathParameter { @maxLength(50) @minLength(2) @key - @visibility("read") + @visibility(Lifecycle.Read) @pattern("^[a-z0-9_-]*$") testId: string; } @@ -1290,7 +1290,7 @@ model TestIdPathParameter { @doc("Test run Id path parameter.") model TestRunIdPathParameter { @doc("Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(50) @minLength(2) @key diff --git a/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp b/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp index 761b00f283cc..dde80650b31f 100644 --- a/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp +++ b/specification/machinelearning/Azure.AI.ChatProtocol/main.tsp @@ -13,9 +13,7 @@ namespace Azure.AI { } @doc("Azure APIs for the Azure Chat protocol.") -@service({ - title: "Azure ML Chat", -}) +@service(#{ title: "Azure ML Chat" }) @useAuth( ApiKeyAuth | OAuth2Auth<[ { diff --git a/specification/machinelearningservices/AzureAI.Assets/common.tsp b/specification/machinelearningservices/AzureAI.Assets/common.tsp index d9a7f6e16736..3151b63470e6 100644 --- a/specification/machinelearningservices/AzureAI.Assets/common.tsp +++ b/specification/machinelearningservices/AzureAI.Assets/common.tsp @@ -12,19 +12,19 @@ namespace Microsoft.MachineLearningServices; @doc("Metadata pertaining to creation and last modification of the resource.") model SystemData { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The timestamp the resource was created at.") createdAt?: utcDateTime; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The identity that created the resource.") createdBy?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The identity type that created the resource.") createdByType?: string; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The timestamp of resource last modification (UTC)") lastModifiedAt?: utcDateTime; } diff --git a/specification/machinelearningservices/AzureAI.Assets/main.tsp b/specification/machinelearningservices/AzureAI.Assets/main.tsp index 561830ad433b..3714a3648019 100644 --- a/specification/machinelearningservices/AzureAI.Assets/main.tsp +++ b/specification/machinelearningservices/AzureAI.Assets/main.tsp @@ -19,9 +19,7 @@ using Azure.Core.Traits; } ]> ) -@service({ - title: "Azure Machine Learning Data Plane Services", -}) +@service(#{ title: "Azure Machine Learning Data Plane Services" }) @server( "{endpoint}/genericasset/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", "Machinelearning Services Asset APIs", diff --git a/specification/machinelearningservices/AzureAI.Assets/model.tsp b/specification/machinelearningservices/AzureAI.Assets/model.tsp index 92b142d12792..67604cfb09d7 100644 --- a/specification/machinelearningservices/AzureAI.Assets/model.tsp +++ b/specification/machinelearningservices/AzureAI.Assets/model.tsp @@ -18,7 +18,7 @@ namespace Microsoft.MachineLearningServices; @doc("AssetVersion Definition") model AssetVersion { @doc("Fully qualified resource Id: azureml://workspace/{workspaceName}/indexes/{name}/versions/{version} of the index.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("Update stage to 'Archive' to archive the asset. Default is Development, which means the asset is under development.") @@ -28,7 +28,7 @@ model AssetVersion { description?: string; @doc("Metadata containing createdBy and modifiedBy information.") - @visibility("read") + @visibility(Lifecycle.Read) systemData?: SystemData; @doc("Asset's tags. Unlike properties, tags are fully mutable.") @@ -48,7 +48,7 @@ model Index is AssetVersion { @pagedResult model PagedIndex { @doc("The list of Indexes.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @items value: Index[]; @@ -72,7 +72,7 @@ model Prompt is AssetVersion { @added(Versions.`2024-05-01-preview`) model PagedPrompt { @doc("The list of Prompts.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @items value: Prompt[]; diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp index 1d6698de39bf..376a026de8fc 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/FirewallRule.tsp @@ -13,7 +13,7 @@ model FirewallRule is ProxyResource { @pattern("^[a-zA-Z0-9][-_.a-zA-Z0-9]*") @key("firewallRuleName") @segment("firewallRules") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } @@ -21,7 +21,7 @@ model FirewallRule is ProxyResource { /** The properties of a mongo cluster firewall rule. */ model FirewallRuleProperties { /** The provisioning state of the firewall rule. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** The start IP address of the mongo cluster firewall rule. Must be IPv4 format. */ diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp index 985d2a0d1f3f..e59cdb9a1ce0 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp @@ -17,7 +17,7 @@ model MongoCluster is TrackedResource { @pattern("^[a-z0-9]+(-[a-z0-9]+)*") @key("mongoClusterName") @segment("mongoClusters") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } @@ -34,7 +34,7 @@ interface MongoClusters { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; /** Updates an existing mongo cluster. The request body can contain one to many of the properties present in the normal mongo cluster definition. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< MongoCluster, Azure.ResourceManager.Foundations.ResourceUpdateModel< @@ -77,25 +77,25 @@ scalar MongoClusterResourceId /** The properties of a mongo cluster. */ model MongoClusterProperties { /** The mode to create a mongo cluster. */ - @visibility("create") + @visibility(Lifecycle.Create) createMode?: CreateMode; /** The parameters to create a point-in-time restore mongo cluster. */ - @visibility("create") + @visibility(Lifecycle.Create) restoreParameters?: MongoClusterRestoreParameters; /** The parameters to create a replica mongo cluster. */ - @visibility("create") + @visibility(Lifecycle.Create) @added(Microsoft.DocumentDB.Versions.v2024_06_01_preview) replicaParameters?: MongoClusterReplicaParameters; /** The administrator's login for the mongo cluster. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) @removed(Versions.v2024_07_01) administratorLogin?: string; /** The password of the administrator login. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @removed(Versions.v2024_07_01) @secret administratorLoginPassword?: string; @@ -108,27 +108,27 @@ model MongoClusterProperties { serverVersion?: string; /** The default mongo connection string for the cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) connectionString?: string; /** Earliest restore timestamp in UTC ISO8601 format. */ - @visibility("read") + @visibility(Lifecycle.Read) @removed(Versions.v2024_07_01) earliestRestoreTime?: string; /** The provisioning state of the mongo cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** The status of the mongo cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) clusterStatus?: MongoClusterStatus; /** Whether or not public endpoint access is allowed for this mongo cluster. */ publicNetworkAccess?: PublicNetworkAccess; /** The list of node group specs in the cluster. */ - @extension("x-ms-identifiers", []) + @identifiers(#[]) @removed(Versions.v2024_07_01) nodeGroupSpecs?: NodeGroupSpec[]; @@ -157,7 +157,7 @@ model MongoClusterProperties { dataApi?: DataApiProperties; /** List of private endpoint connections. */ - @visibility("read") + @visibility(Lifecycle.Read) privateEndpointConnections?: PrivateEndpointConnection[]; /** List of private endpoint connections. */ @@ -166,12 +166,12 @@ model MongoClusterProperties { /** The replication properties for the mongo cluster */ @added(Microsoft.DocumentDB.Versions.v2024_06_01_preview) - @visibility("read") + @visibility(Lifecycle.Read) replica?: ReplicationProperties; /** The infrastructure version the cluster is provisioned on. */ @added(Microsoft.DocumentDB.Versions.v2024_06_01_preview) - @visibility("read") + @visibility(Lifecycle.Read) infrastructureVersion?: string; } @@ -245,15 +245,15 @@ union HighAvailabilityMode { @added(Versions.v2024_07_01) model BackupProperties { /** Earliest restore timestamp in UTC ISO8601 format. */ - @visibility("read") + @visibility(Lifecycle.Read) earliestRestoreTime?: string; } /** The connection strings for the given mongo cluster. */ model ListConnectionStringsResult { /** An array that contains the connection strings for a mongo cluster. */ - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @identifiers(#[]) connectionStrings?: ConnectionString[]; } @@ -261,16 +261,16 @@ model ListConnectionStringsResult { model ConnectionString { /** Value of the connection string */ #suppress "@azure-tools/typespec-azure-core/property-name-conflict" "https://github.com/Azure/typespec-azure/issues/417" - @visibility("read") + @visibility(Lifecycle.Read) @clientName("uri", "csharp") connectionString?: string; /** Description of the connection string */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** Name of the connection string. */ - @visibility("read") + @visibility(Lifecycle.Read) @added(Versions.v2024_07_01) name?: string; } @@ -364,15 +364,15 @@ union PromoteMode { @added(Microsoft.DocumentDB.Versions.v2024_06_01_preview) model ReplicationProperties { /** The resource id the source cluster for the replica cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceResourceId?: MongoClusterResourceId; /** The replication role of the cluster */ - @visibility("read") + @visibility(Lifecycle.Read) role?: ReplicationRole; /** The replication link state of the replica cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) replicationState?: ReplicationState; } @@ -459,11 +459,11 @@ union NodeKind { @added(Versions.v2024_07_01) model AdministratorProperties { /** The administrator user name. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) userName?: string; /** The administrator password. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret password?: string; } diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/Replica.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/Replica.tsp index 065daec358d1..6f94c7a774b4 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/Replica.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/Replica.tsp @@ -15,7 +15,7 @@ model Replica is ProxyResource { @pattern("^[a-z0-9]+(-[a-z0-9]+)*") @key("replicaName") @segment("replicas") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; } diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp index 4173fb71b5ee..1c247fd5c108 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/main.tsp @@ -16,9 +16,7 @@ using Azure.ResourceManager; #suppress "@azure-tools/typespec-azure-core/casing-style" "Existing resource provider namespace." #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Existing resource provider namespace." @armProviderNamespace -@service({ - title: "MongoClusterManagementClient", -}) +@service(#{ title: "MongoClusterManagementClient" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.DocumentDB; diff --git a/specification/monitor/Microsoft.Monitor.Management/typespec/azureMonitorWorkspace.tsp b/specification/monitor/Microsoft.Monitor.Management/typespec/azureMonitorWorkspace.tsp index 41813791d553..c5caa4e70db7 100644 --- a/specification/monitor/Microsoft.Monitor.Management/typespec/azureMonitorWorkspace.tsp +++ b/specification/monitor/Microsoft.Monitor.Management/typespec/azureMonitorWorkspace.tsp @@ -25,55 +25,55 @@ model AzureMonitorWorkspace #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "ETag is not included in TrackedResource." @doc("Resource entity tag (ETag)") - @visibility("read") + @visibility(Lifecycle.Read) etag?: string; } @doc("Properties that need to be specified to create a new workspace.") model AzureMonitorWorkspaceProperties { @doc("The immutable ID of the Azure Monitor workspace. This property is read-only.") - @visibility("read") + @visibility(Lifecycle.Read) accountId?: string; @doc("Information about metrics for the Azure Monitor workspace") metrics?: Metrics; @doc("The provisioning state of the Azure Monitor workspace. Set to Succeeded if everything is healthy.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @doc("The Data Collection Rule and Endpoint used for ingestion by default.") - @visibility("read") + @visibility(Lifecycle.Read) defaultIngestionSettings?: IngestionSettings; @doc("List of private endpoint connections.") - @visibility("read") + @visibility(Lifecycle.Read) privateEndpointConnections?: PrivateEndpointConnection[]; @doc("Gets or sets allow or disallow public network access to workspace") - @visibility("read") + @visibility(Lifecycle.Read) publicNetworkAccess?: PublicNetworkAccess; } @doc("Information about metrics for the workspace") model Metrics { @doc("The Prometheus query endpoint for the workspace") - @visibility("read") + @visibility(Lifecycle.Read) prometheusQueryEndpoint?: string; @doc("An internal identifier for the metrics container. Only to be used by the system") - @visibility("read") + @visibility(Lifecycle.Read) internalId?: string; } @doc("Settings for data ingestion") model IngestionSettings { @doc("The Azure resource Id of the default data collection rule for this workspace.") - @visibility("read") + @visibility(Lifecycle.Read) dataCollectionRuleResourceId?: string; @doc("The Azure resource Id of the default data collection endpoint for this workspace.") - @visibility("read") + @visibility(Lifecycle.Read) dataCollectionEndpointResourceId?: string; } @@ -100,7 +100,7 @@ interface AzureMonitorWorkspaces { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; @doc("Updates part of a workspace") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< AzureMonitorWorkspace, Azure.ResourceManager.Foundations.ResourceUpdateModel< diff --git a/specification/monitor/Microsoft.Monitor.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp b/specification/monitor/Microsoft.Monitor.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp index 42a49e07c5f8..28e862c23b53 100644 --- a/specification/monitor/Microsoft.Monitor.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp +++ b/specification/monitor/Microsoft.Monitor.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp @@ -39,14 +39,14 @@ model AzureMonitorWorkspaceLogsApiConfig { @doc("Schema map for azure monitor for logs.") model SchemaMap { @doc("Record Map.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) recordMap: RecordMap[]; @doc("Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) resourceMap?: ResourceMap[]; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("A scope map is a logical unit of the application code with which the emitted telemetry can be associated.") scopeMap?: ScopeMap[]; } diff --git a/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp b/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp index d51dddbc0d42..bbe2e056d351 100644 --- a/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp +++ b/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp @@ -31,7 +31,7 @@ model PipelineGroup is TrackedResource { #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "Extended location is not included in TrackedResource yet." @doc("The extended location for given pipeline group.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation?: CommonTypes.ExtendedLocation; } @@ -41,26 +41,26 @@ model PipelineGroupProperties { replicas?: int32; @doc("The receivers specified for a pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) receivers: Receiver[]; @doc("The processors specified for a pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) processors: Processor[]; @doc("The exporters specified for a pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) exporters: Exporter[]; @doc("The service section for a given pipeline group instance.") service: Service; @doc("Networking configurations for the pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) networkingConfigurations?: NetworkingConfiguration[]; @doc("The provisioning state of a pipeline group instance. Set to Succeeded if everything is healthy.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -154,11 +154,10 @@ union ExporterType { @doc("Service Info.") model Service { @doc("Pipelines belonging to a given pipeline group.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) pipelines: Pipeline[]; @doc("Persistence options to all pipelines in the instance.") - @extension("x-ms-identifiers", []) persistence?: PersistenceConfigurations; } @@ -172,15 +171,12 @@ model Pipeline { type: PipelineType; @doc("Reference to receivers configured for the pipeline.") - @extension("x-ms-identifiers", []) receivers: string[]; @doc("Reference to processors configured for the pipeline.") - @extension("x-ms-identifiers", []) processors?: string[]; @doc("Reference to exporters configured for the pipeline.") - @extension("x-ms-identifiers", []) exporters: string[]; } @@ -202,7 +198,7 @@ model NetworkingConfiguration { host?: string; @doc("Networking routes configuration.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) routes: NetworkingRoute[]; } @@ -257,7 +253,7 @@ interface PipelineGroups { delete is ArmResourceDeleteWithoutOkAsync; @doc("Updates a pipeline group instance") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< PipelineGroup, Azure.ResourceManager.Foundations.ResourceUpdateModel< diff --git a/specification/monitor/Microsoft.Monitor.Management/typespec/service.tsp b/specification/monitor/Microsoft.Monitor.Management/typespec/service.tsp index e232fc622fa5..bb1b4edd23f8 100644 --- a/specification/monitor/Microsoft.Monitor.Management/typespec/service.tsp +++ b/specification/monitor/Microsoft.Monitor.Management/typespec/service.tsp @@ -14,9 +14,7 @@ using OpenAPI; #suppress "@azure-tools/typespec-azure-resource-manager/arm-common-types-version" "Mixed version" @armProviderNamespace("Microsoft.Monitor") -@service({ - title: "Azure Monitor Control Plane API", -}) +@service(#{ title: "Azure Monitor Control Plane API" }) @doc("Provides operations for working with Azure Monitor") @versioned(Versions) namespace Microsoft.Monitor; diff --git a/specification/monitor/Microsoft.Monitor.Operations.Management/typespec/service.tsp b/specification/monitor/Microsoft.Monitor.Operations.Management/typespec/service.tsp index 6b5ed4ca9074..7925fc9a6a79 100644 --- a/specification/monitor/Microsoft.Monitor.Operations.Management/typespec/service.tsp +++ b/specification/monitor/Microsoft.Monitor.Operations.Management/typespec/service.tsp @@ -12,9 +12,7 @@ using Azure.ResourceManager; using OpenAPI; @armProviderNamespace("Microsoft.Monitor") -@service({ - title: "Azure Monitor Operations Control Plane API", -}) +@service(#{ title: "Azure Monitor Operations Control Plane API" }) @doc("Provides operations for working with Azure Monitor") @versioned(Microsoft.Monitor.Versions) namespace Microsoft.Monitor; diff --git a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp index 42a49e07c5f8..28e862c23b53 100644 --- a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp +++ b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/exporters/AzureMonitorWorkspaceLogs.tsp @@ -39,14 +39,14 @@ model AzureMonitorWorkspaceLogsApiConfig { @doc("Schema map for azure monitor for logs.") model SchemaMap { @doc("Record Map.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) recordMap: RecordMap[]; @doc("Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) resourceMap?: ResourceMap[]; - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) @doc("A scope map is a logical unit of the application code with which the emitted telemetry can be associated.") scopeMap?: ScopeMap[]; } diff --git a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp index 65d107ce10f3..9fb4c2eca78c 100644 --- a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp +++ b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp @@ -39,26 +39,26 @@ model PipelineGroupProperties { replicas?: int32; @doc("The receivers specified for a pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) receivers: Receiver[]; @doc("The processors specified for a pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) processors: Processor[]; @doc("The exporters specified for a pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) exporters: Exporter[]; @doc("The service section for a given pipeline group instance.") service: Service; @doc("Networking configurations for the pipeline group instance.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) networkingConfigurations?: NetworkingConfiguration[]; @doc("The provisioning state of a pipeline group instance. Set to Succeeded if everything is healthy.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -152,11 +152,10 @@ union ExporterType { @doc("Service Info.") model Service { @doc("Pipelines belonging to a given pipeline group.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) pipelines: Pipeline[]; @doc("Persistence options to all pipelines in the instance.") - @extension("x-ms-identifiers", []) persistence?: PersistenceConfigurations; } @@ -170,15 +169,12 @@ model Pipeline { type: PipelineType; @doc("Reference to receivers configured for the pipeline.") - @extension("x-ms-identifiers", []) receivers: string[]; @doc("Reference to processors configured for the pipeline.") - @extension("x-ms-identifiers", []) processors?: string[]; @doc("Reference to exporters configured for the pipeline.") - @extension("x-ms-identifiers", []) exporters: string[]; } @@ -200,7 +196,7 @@ model NetworkingConfiguration { host?: string; @doc("Networking routes configuration.") - @extension("x-ms-identifiers", []) + @identifiers(#[]) routes: NetworkingRoute[]; } diff --git a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/service.tsp b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/service.tsp index 7cfabb8366b4..46770a0ee9e9 100644 --- a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/service.tsp +++ b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/service.tsp @@ -13,9 +13,7 @@ using OpenAPI; #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Operations API was moved to its own service." @armProviderNamespace("Microsoft.Monitor") -@service({ - title: "Azure Monitor Pipelines Control Plane API", -}) +@service(#{ title: "Azure Monitor Pipelines Control Plane API" }) @doc("Provides operations for working with Azure Monitor Pipelines") @versioned(Microsoft.Monitor.Versions) namespace Microsoft.Monitor; diff --git a/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json b/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json index 99d56778924e..be30fe9f66cf 100644 --- a/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json +++ b/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json @@ -812,24 +812,21 @@ "description": "Reference to receivers configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "processors": { "type": "array", "description": "Reference to processors configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exporters": { "type": "array", "description": "Reference to exporters configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } }, "required": [ @@ -1278,8 +1275,7 @@ }, "persistence": { "$ref": "#/definitions/PersistenceConfigurations", - "description": "Persistence options to all pipelines in the instance.", - "x-ms-identifiers": [] + "description": "Persistence options to all pipelines in the instance." } }, "required": [ @@ -1300,8 +1296,7 @@ }, "persistence": { "$ref": "#/definitions/PersistenceConfigurationsUpdate", - "description": "Persistence options to all pipelines in the instance.", - "x-ms-identifiers": [] + "description": "Persistence options to all pipelines in the instance." } } }, diff --git a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json index e2fe1763eeb6..2aa3b2d19b74 100644 --- a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json +++ b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json @@ -1203,24 +1203,21 @@ "description": "Reference to receivers configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "processors": { "type": "array", "description": "Reference to processors configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exporters": { "type": "array", "description": "Reference to exporters configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } }, "required": [ @@ -1698,8 +1695,7 @@ }, "persistence": { "$ref": "#/definitions/PersistenceConfigurations", - "description": "Persistence options to all pipelines in the instance.", - "x-ms-identifiers": [] + "description": "Persistence options to all pipelines in the instance." } }, "required": [ diff --git a/specification/newrelic/NewRelic.Management/main.cadl b/specification/newrelic/NewRelic.Management/main.cadl index c2a458956bf3..7ed4ae2e62a3 100644 --- a/specification/newrelic/NewRelic.Management/main.cadl +++ b/specification/newrelic/NewRelic.Management/main.cadl @@ -6,7 +6,7 @@ import "@azure-tools/cadl-azure-resource-manager"; @armProviderNamespace -@service({ +@service(#{ title: "NewRelic.Observability", version: "2022-07-01-preview", }) diff --git a/specification/oracle/Oracle.Database.Management/main.tsp b/specification/oracle/Oracle.Database.Management/main.tsp index 3312b7f2c512..4ca082be3c09 100644 --- a/specification/oracle/Oracle.Database.Management/main.tsp +++ b/specification/oracle/Oracle.Database.Management/main.tsp @@ -26,9 +26,7 @@ using OpenAPI; using Autorest; @armProviderNamespace -@service({ - title: "Oracle Database Resource Manager", -}) +@service(#{ title: "Oracle Database Resource Manager" }) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @versioned(Oracle.Database.Versions) namespace Oracle.Database; diff --git a/specification/oracle/Oracle.Database.Management/operations/commons.tsp b/specification/oracle/Oracle.Database.Management/operations/commons.tsp index e4467243b46b..8b69c19a7fb2 100644 --- a/specification/oracle/Oracle.Database.Management/operations/commons.tsp +++ b/specification/oracle/Oracle.Database.Management/operations/commons.tsp @@ -65,9 +65,7 @@ interface ListActions { @doc("Generic Async Get operation") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @autoRoute @armResourceAction(TResource) diff --git a/specification/oracle/models/autonomousdatabase/autonomousDatabase.tsp b/specification/oracle/models/autonomousdatabase/autonomousDatabase.tsp index 6dfe127f6801..1ddac8b8d4d2 100644 --- a/specification/oracle/models/autonomousdatabase/autonomousDatabase.tsp +++ b/specification/oracle/models/autonomousdatabase/autonomousDatabase.tsp @@ -569,7 +569,7 @@ model ConnectionStringType { medium?: string; @doc("A list of connection string profiles to allow clients to group, filter and select connection string values based on structured metadata.") - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) profiles?: ProfileType[]; } @@ -614,35 +614,35 @@ model AutonomousDatabaseCloneProperties dataBaseType: DataBaseType.Clone; @doc("The source of the database.") - @visibility("create") + @visibility(Lifecycle.Create) source?: SourceType; @doc("The Azure resource ID of the Autonomous Database that was cloned to create the current Autonomous Database.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) sourceId: AutonomousDatabaseId; @doc("The Autonomous Database clone type.") - @visibility("create") + @visibility(Lifecycle.Create) cloneType: CloneType; @doc("Indicates if the refreshable clone can be reconnected to its source database.") - @visibility("read") + @visibility(Lifecycle.Read) isReconnectCloneEnabled?: boolean; @doc("Indicates if the Autonomous Database is a refreshable clone.") - @visibility("read") + @visibility(Lifecycle.Read) isRefreshableClone?: boolean; @doc("The refresh mode of the clone.") - @visibility("create") + @visibility(Lifecycle.Create) refreshableModel?: RefreshableModelType; @doc("The refresh status of the clone.") - @visibility("read") + @visibility(Lifecycle.Read) refreshableStatus?: RefreshableStatusType; @doc("The time and date as an RFC3339 formatted string, e.g., 2022-01-01T12:00:00.000Z, to set the limit for a refreshable clone to be reconnected to its source database.") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) timeUntilReconnectCloneEnabled?: string; } @@ -654,29 +654,29 @@ model AutonomousDatabaseCrossRegionDisasterRecoveryProperties dataBaseType: DataBaseType.CrossRegionDisasterRecovery; @doc("The source of the database.") - @visibility("create") + @visibility(Lifecycle.Create) source: SourceType.CrossRegionDisasterRecovery; @doc("The Azure resource ID of the source Autonomous Database that will be used to create a new peer database for the DR association.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) sourceId: AutonomousDatabaseId; @doc("The name of the region where source Autonomous Database exists.") - @visibility("create") + @visibility(Lifecycle.Create) sourceLocation?: string; @doc("The source database ocid") - @visibility("create") + @visibility(Lifecycle.Create) @minLength(1) @maxLength(255) sourceOcid?: string; @doc("Indicates the cross-region disaster recovery (DR) type of the standby Autonomous Database Serverless instance. Autonomous Data Guard (ADG) DR type provides business critical DR with a faster recovery time objective (RTO) during failover or switchover. Backup-based DR type provides lower cost DR with a slower RTO during failover or switchover.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) remoteDisasterRecoveryType: DisasterRecoveryType; @doc("If true, 7 days worth of backups are replicated across regions for Cross-Region ADB or Backup-Based DR between Primary and Standby. If false, the backups taken on the Primary are not replicated to the Standby database.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) isReplicateAutomaticBackups?: boolean; } @@ -688,23 +688,23 @@ model AutonomousDatabaseFromBackupTimestampProperties dataBaseType: DataBaseType.CloneFromBackupTimestamp; @doc("The source of the database.") - @visibility("create") + @visibility(Lifecycle.Create) source: SourceType.BackupFromTimestamp; @doc("The ID of the source Autonomous Database that you will clone to create a new Autonomous Database.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) sourceId: AutonomousDatabaseId; @doc("The Autonomous Database clone type.") - @visibility("create") + @visibility(Lifecycle.Create) cloneType: CloneType; @doc("The timestamp specified for the point-in-time clone of the source Autonomous Database. The timestamp must be in the past.") - @visibility("create") + @visibility(Lifecycle.Create) timestamp?: utcDateTime; @doc("Clone from latest available backup timestamp.") - @visibility("create") + @visibility(Lifecycle.Create) useLatestAvailableBackupTimeStamp?: boolean; } @@ -712,341 +712,341 @@ model AutonomousDatabaseFromBackupTimestampProperties @doc("Autonomous Database base resource model.") model AutonomousDatabaseBaseProperties { @doc("Admin password.") - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @minLength(12) @maxLength(30) adminPassword?: Password; @doc("Database type to be created.") - @visibility("create") + @visibility(Lifecycle.Create) dataBaseType: DataBaseType; @doc("The maintenance schedule type of the Autonomous Database Serverless.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) autonomousMaintenanceScheduleType?: AutonomousMaintenanceScheduleType; @doc("The character set for the autonomous database.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(255) characterSet?: string; @doc("The compute amount (CPUs) available to the database.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) @minValue(0.1) @maxValue(512) computeCount?: float32; @doc("The compute model of the Autonomous Database.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) computeModel?: ComputeModel; @doc("The number of CPU cores to be made available to the database.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) @minValue(1) @maxValue(128) cpuCoreCount?: int32; @doc("Customer Contacts.") - @visibility("create", "read", "update") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) + @OpenAPI.extension("x-ms-identifiers", #[]) customerContacts?: CustomerContact[]; @doc("The quantity of data in the database, in terabytes.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) @minValue(1) @maxValue(384) dataStorageSizeInTbs?: int32; @doc("The size, in gigabytes, of the data volume that will be created and attached to the database.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) @minValue(20) @maxValue(393216) dataStorageSizeInGbs?: int32; @doc("A valid Oracle Database version for Autonomous Database.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(255) dbVersion?: string; @doc("The Autonomous Database workload type") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) dbWorkload?: WorkloadType; @doc("The user-friendly name for the Autonomous Database.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) @minLength(1) @maxLength(255) displayName?: string; @doc("Indicates if auto scaling is enabled for the Autonomous Database CPU core count.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) isAutoScalingEnabled?: boolean; @doc("Indicates if auto scaling is enabled for the Autonomous Database storage.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) isAutoScalingForStorageEnabled?: boolean; @doc("The list of Azure resource IDs of standby databases located in Autonomous Data Guard remote regions that are associated with the source database. Note that for Autonomous Database Serverless instances, standby databases located in the same region as the source primary database do not have Azure IDs.") - @visibility("read") + @visibility(Lifecycle.Read) peerDbIds?: string[]; @doc("The Azure resource ID of the Disaster Recovery peer database, which is located in a different region from the current peer database.") - @visibility("update") + @visibility(Lifecycle.Update) @minLength(1) @maxLength(255) peerDbId?: string; @doc("Indicates whether the Autonomous Database has local or called in-region Data Guard enabled.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) isLocalDataGuardEnabled?: boolean; @doc("Indicates whether the Autonomous Database has Cross Region Data Guard enabled.") - @visibility("read") + @visibility(Lifecycle.Read) isRemoteDataGuardEnabled?: boolean; @doc("Indicates the local disaster recovery (DR) type of the Autonomous Database Serverless instance.Autonomous Data Guard (ADG) DR type provides business critical DR with a faster recovery time objective (RTO) during failover or switchover.Backup-based DR type provides lower cost DR with a slower RTO during failover or switchover.") - @visibility("read") + @visibility(Lifecycle.Read) localDisasterRecoveryType?: DisasterRecoveryType; @added(Versions.v20241001_preview) @doc("The date and time the Disaster Recovery role was switched for the standby Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) timeDisasterRecoveryRoleChanged?: utcDateTime; @added(Versions.v20241001_preview) @doc("Indicates remote disaster recovery configuration") - @visibility("read") + @visibility(Lifecycle.Read) remoteDisasterRecoveryConfiguration?: DisasterRecoveryConfigurationDetails; @doc("Local Autonomous Disaster Recovery standby database details.") - @visibility("read") + @visibility(Lifecycle.Read) localStandbyDb?: AutonomousDatabaseStandbySummary; @doc("Indicates the number of seconds of data loss for a Data Guard failover.") - @visibility("read") + @visibility(Lifecycle.Read) failedDataRecoveryInSeconds?: int32; @doc("Specifies if the Autonomous Database requires mTLS connections.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) isMtlsConnectionRequired?: boolean; @doc("Specifies if the Autonomous Database preview version is being provisioned.") - @visibility("create") + @visibility(Lifecycle.Create) isPreviewVersionWithServiceTermsAccepted?: boolean; @doc("The Oracle license model that applies to the Oracle Autonomous Database. The default is LICENSE_INCLUDED.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) licenseModel?: LicenseModel; @doc("The character set for the Autonomous Database.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(255) ncharacterSet?: string; @doc("Additional information about the current lifecycle state.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleDetails?: string; @doc("Azure resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureResourceProvisioningState; @doc("Views lifecycleState") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleState?: AutonomousDatabaseLifecycleState; @doc("The list of scheduled operations.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) scheduledOperations?: ScheduledOperationsType; @doc("The private endpoint Ip address for the resource.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) privateEndpointIp?: string; @doc("The resource's private endpoint label.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) privateEndpointLabel?: string; @doc("HTTPS link to OCI resources exposed to Azure Customer via Azure Interface.") - @visibility("read") + @visibility(Lifecycle.Read) ociUrl?: string; @doc("Client subnet") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) subnetId?: SubnetId; @doc("VNET for network connectivity") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) vnetId?: VnetId; @doc("The date and time that the database was created.") - @visibility("read") + @visibility(Lifecycle.Read) timeCreated?: utcDateTime; @doc("The date and time when maintenance will begin.") - @visibility("read") + @visibility(Lifecycle.Read) timeMaintenanceBegin?: utcDateTime; @doc("The date and time when maintenance will end.") - @visibility("read") + @visibility(Lifecycle.Read) timeMaintenanceEnd?: utcDateTime; @doc("The current amount of storage in use for user and system data, in terabytes (TB).") - @visibility("read") + @visibility(Lifecycle.Read) actualUsedDataStorageSizeInTbs?: float64; @doc("The amount of storage currently allocated for the database tables and billed for, rounded up.") - @visibility("read") + @visibility(Lifecycle.Read) allocatedStorageSizeInTbs?: float64; @doc("Information about Oracle APEX Application Development.") - @visibility("read") + @visibility(Lifecycle.Read) apexDetails?: ApexDetailsType; @doc("List of Oracle Database versions available for a database upgrade. If there are no version upgrades available, this list is empty.") - @visibility("read") + @visibility(Lifecycle.Read) availableUpgradeVersions?: string[]; @doc("The connection string used to connect to the Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) connectionStrings?: ConnectionStringType; @doc("The URLs for accessing Oracle Application Express (APEX) and SQL Developer Web with a browser from a Compute instance within your VCN or that has a direct connection to your VCN. ") - @visibility("read") + @visibility(Lifecycle.Read) connectionUrls?: ConnectionUrlType; @doc("Status of the Data Safe registration for this Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) dataSafeStatus?: DataSafeStatusType; @doc("The Oracle Database Edition that applies to the Autonomous databases.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) databaseEdition?: DatabaseEditionType; @doc("Autonomous Database ID") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) autonomousDatabaseId?: AutonomousDatabaseId; @doc("The area assigned to In-Memory tables in Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) inMemoryAreaInGbs?: int32; @doc("The date and time when the next long-term backup would be created.") - @visibility("read") + @visibility(Lifecycle.Read) nextLongTermBackupTimeStamp?: utcDateTime; @doc("Details for the long-term backup schedule.") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) longTermBackupSchedule?: LongTermBackUpScheduleDetails; @doc("Indicates if the Autonomous Database version is a preview version.") - @visibility("read") + @visibility(Lifecycle.Read) isPreview?: boolean; @doc("Parameter that allows users to select an acceptable maximum data loss limit in seconds, up to which Automatic Failover will be triggered when necessary for a Local Autonomous Data Guard") - @visibility("update", "read") + @visibility(Lifecycle.Update, Lifecycle.Read) @minValue(0) @maxValue(3600) localAdgAutoFailoverMaxDataLossLimit?: int32; @doc("The amount of memory (in GBs) enabled per ECPU or OCPU.") - @visibility("read") + @visibility(Lifecycle.Read) memoryPerOracleComputeUnitInGbs?: int32; @doc("Indicates the Autonomous Database mode.") - @visibility("update", "read") + @visibility(Lifecycle.Update, Lifecycle.Read) openMode?: OpenModeType; @doc("Status of Operations Insights for this Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) operationsInsightsStatus?: OperationsInsightsStatusType; @doc("The Autonomous Database permission level.") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) permissionLevel?: PermissionLevelType; @doc("The private endpoint for the resource.") - @visibility("read") + @visibility(Lifecycle.Read) privateEndpoint?: string; @doc("An array of CPU values that an Autonomous Database can be scaled to.") - @visibility("read") + @visibility(Lifecycle.Read) provisionableCpus?: int32[]; @doc("The Data Guard role of the Autonomous Container Database or Autonomous Database, if Autonomous Data Guard is enabled.") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) role?: RoleType; @doc("The URL of the Service Console for the Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(10) @maxLength(255) serviceConsoleUrl?: string; @doc("The SQL Web Developer URL for the Oracle Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(10) @maxLength(2048) sqlWebDeveloperUrl?: string; @doc("The list of regions that support the creation of an Autonomous Database clone or an Autonomous Data Guard standby database.") - @visibility("read") + @visibility(Lifecycle.Read) @maxItems(50) supportedRegionsToCloneTo?: string[]; @doc("The date and time the Autonomous Data Guard role was switched for the Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) timeDataGuardRoleChanged?: string; @doc("The date and time the Always Free database will be automatically deleted because of inactivity.") - @visibility("read") + @visibility(Lifecycle.Read) timeDeletionOfFreeAutonomousDatabase?: string; @doc("The date and time that Autonomous Data Guard was enabled for an Autonomous Database where the standby was provisioned in the same region as the primary database.") - @visibility("read") + @visibility(Lifecycle.Read) timeLocalDataGuardEnabled?: string; @doc("The timestamp of the last failover operation.") - @visibility("read") + @visibility(Lifecycle.Read) timeOfLastFailover?: string; @doc("The date and time when last refresh happened.") - @visibility("read") + @visibility(Lifecycle.Read) timeOfLastRefresh?: string; @doc("The refresh point timestamp (UTC).") - @visibility("read") + @visibility(Lifecycle.Read) timeOfLastRefreshPoint?: string; @doc("The timestamp of the last switchover operation for the Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) timeOfLastSwitchover?: string; @doc("The date and time the Always Free database will be stopped because of inactivity.") - @visibility("read") + @visibility(Lifecycle.Read) timeReclamationOfFreeAutonomousDatabase?: string; @doc("The storage space consumed by Autonomous Database in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) usedDataStorageSizeInGbs?: int32; @doc("The amount of storage that has been used, in terabytes.") - @visibility("read") + @visibility(Lifecycle.Read) usedDataStorageSizeInTbs?: int32; @doc("Database ocid") - @visibility("read") + @visibility(Lifecycle.Read) ocid?: Ocid; @doc("Retention period, in days, for long-term backups") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) backupRetentionPeriodInDays?: int32; @doc("The client IP access control list (ACL). This is an array of CIDR notations and/or IP addresses. Values should be separate strings, separated by commas. Example: ['1.1.1.1','1.1.1.0/24','1.1.2.25']") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) whitelistedIps?: aclString[]; } diff --git a/specification/oracle/models/autonomousdatabase/autonomousDatabaseBackup.tsp b/specification/oracle/models/autonomousdatabase/autonomousDatabaseBackup.tsp index b6148984325c..70bedd1ee890 100644 --- a/specification/oracle/models/autonomousdatabase/autonomousDatabaseBackup.tsp +++ b/specification/oracle/models/autonomousdatabase/autonomousDatabaseBackup.tsp @@ -60,67 +60,67 @@ model AutonomousDatabaseBackup @doc("AutonomousDatabaseBackup resource model") model AutonomousDatabaseBackupProperties { @doc("The OCID of the Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) autonomousDatabaseOcid?: Ocid; @doc("The size of the database in terabytes at the time the backup was taken.") - @visibility("read") + @visibility(Lifecycle.Read) databaseSizeInTbs?: float64; @doc("A valid Oracle Database version for Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) dbVersion?: string; @doc("The user-friendly name for the backup. The name does not have to be unique.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) displayName?: string; @doc("The OCID of the Autonomous Database backup.") - @visibility("read") + @visibility(Lifecycle.Read) ocid?: Ocid; @doc("Indicates whether the backup is user-initiated or automatic.") - @visibility("read") + @visibility(Lifecycle.Read) isAutomatic?: boolean; @doc("Indicates whether the backup can be used to restore the associated Autonomous Database.") - @visibility("read") + @visibility(Lifecycle.Read) isRestorable?: boolean; @doc("Additional information about the current lifecycle state.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleDetails?: string; @doc("The current state of the backup.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleState?: AutonomousDatabaseBackupLifecycleState; @doc("Retention period, in days") - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) retentionPeriodInDays?: int32; @doc("The backup size in terabytes (TB).") - @visibility("read") + @visibility(Lifecycle.Read) sizeInTbs?: float64; @doc("Timestamp until when the backup will be available.") - @visibility("read") + @visibility(Lifecycle.Read) timeAvailableTil?: utcDateTime; @doc("The date and time the backup started.") - @visibility("read") + @visibility(Lifecycle.Read) timeStarted?: string; @doc("The date and time the backup completed.") - @visibility("read") + @visibility(Lifecycle.Read) timeEnded?: string; @doc("The type of backup.") - @visibility("read") + @visibility(Lifecycle.Read) backupType?: AutonomousDatabaseBackupType; @doc("Azure resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureResourceProvisioningState; } diff --git a/specification/oracle/models/exadata/dbNodes.tsp b/specification/oracle/models/exadata/dbNodes.tsp index 009894894acf..0ae2bd161ec2 100644 --- a/specification/oracle/models/exadata/dbNodes.tsp +++ b/specification/oracle/models/exadata/dbNodes.tsp @@ -89,7 +89,7 @@ model DbNodeProperties { vnicId: Ocid; @doc("Azure resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/oracle/models/exadata/dbServers.tsp b/specification/oracle/models/exadata/dbServers.tsp index c89a45af5796..0f0fed157ea2 100644 --- a/specification/oracle/models/exadata/dbServers.tsp +++ b/specification/oracle/models/exadata/dbServers.tsp @@ -37,21 +37,21 @@ union DbServerPatchingStatus { @doc("DbServer Patching Properties") model DbServerPatchingDetails { @doc("Estimated Patch Duration") - @visibility("read") + @visibility(Lifecycle.Read) @minValue(1) @maxValue(3000) estimatedPatchDuration?: int32; @doc("Patching Status") - @visibility("read") + @visibility(Lifecycle.Read) patchingStatus?: DbServerPatchingStatus; @doc("Time Patching Ended") - @visibility("read") + @visibility(Lifecycle.Read) timePatchingEnded?: utcDateTime; @doc("Time Patching Started") - @visibility("read") + @visibility(Lifecycle.Read) timePatchingStarted?: utcDateTime; } @@ -59,87 +59,87 @@ model DbServerPatchingDetails { @doc("DbServer resource properties") model DbServerProperties { @doc("Db server name.") - @visibility("read") + @visibility(Lifecycle.Read) ocid?: Ocid; @doc("The name for the Db Server.") @minLength(1) @maxLength(255) - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; @doc("The OCID of the compartment.") - @visibility("read") + @visibility(Lifecycle.Read) compartmentId?: Ocid; @doc("The OCID of the Exadata infrastructure.") - @visibility("read") + @visibility(Lifecycle.Read) exadataInfrastructureId?: Ocid; @doc("The number of CPU cores enabled on the Db server.") - @visibility("read") + @visibility(Lifecycle.Read) cpuCoreCount?: int32; @doc("dbServerPatching details of the Db server.") - @visibility("read") + @visibility(Lifecycle.Read) dbServerPatchingDetails?: DbServerPatchingDetails; @doc("The total memory available in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) maxMemoryInGbs?: int32; @doc("The allocated local node storage in GBs on the Db server.") - @visibility("read") + @visibility(Lifecycle.Read) dbNodeStorageSizeInGbs?: int32; @doc("The OCID of the VM Clusters associated with the Db server.") - @visibility("read") + @visibility(Lifecycle.Read) vmClusterIds?: Ocid[]; @doc("The OCID of the Db nodes associated with the Db server.") - @visibility("read") + @visibility(Lifecycle.Read) dbNodeIds?: Ocid[]; @doc("Lifecycle details of dbServer.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleDetails?: string; @doc("DbServer provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleState?: DbServerProvisioningState; @doc("The total number of CPU cores available.") - @visibility("read") + @visibility(Lifecycle.Read) maxCpuCount?: int32; @doc("The list of OCIDs of the Autonomous VM Clusters associated with the Db server.") - @visibility("read") + @visibility(Lifecycle.Read) autonomousVmClusterIds?: Ocid[]; @doc("The list of OCIDs of the Autonomous Virtual Machines associated with the Db server.") - @visibility("read") + @visibility(Lifecycle.Read) autonomousVirtualMachineIds?: Ocid[]; @doc("The total max dbNode storage in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) maxDbNodeStorageInGbs?: int32; @doc("The total memory size in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) memorySizeInGbs?: int32; @doc("The shape of the Db server. The shape determines the amount of CPU, storage, and memory resources available.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(1) @maxLength(255) shape?: string; @doc("The date and time that the Db Server was created.") - @visibility("read") + @visibility(Lifecycle.Read) timeCreated?: utcDateTime; @doc("Azure resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/oracle/models/exadata/dnsPrivateViews.tsp b/specification/oracle/models/exadata/dnsPrivateViews.tsp index 5e0125d73316..e9372fb90385 100644 --- a/specification/oracle/models/exadata/dnsPrivateViews.tsp +++ b/specification/oracle/models/exadata/dnsPrivateViews.tsp @@ -41,7 +41,7 @@ model DnsPrivateViewProperties { timeUpdated: utcDateTime; @doc("Azure resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/oracle/models/exadata/dnsPrivateZones.tsp b/specification/oracle/models/exadata/dnsPrivateZones.tsp index e933c63b9ffa..b47b10f727ab 100644 --- a/specification/oracle/models/exadata/dnsPrivateZones.tsp +++ b/specification/oracle/models/exadata/dnsPrivateZones.tsp @@ -49,7 +49,7 @@ model DnsPrivateZoneProperties { timeCreated: utcDateTime; @doc("Azure resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/oracle/models/exadata/exadatainfra.tsp b/specification/oracle/models/exadata/exadatainfra.tsp index 418513e20dc7..d1df3737e683 100644 --- a/specification/oracle/models/exadata/exadatainfra.tsp +++ b/specification/oracle/models/exadata/exadatainfra.tsp @@ -62,14 +62,14 @@ model MaintenanceWindow { preference?: Preference; @doc("Months during the year when maintenance should be performed.") - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) months?: Month[]; @doc("Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. ") weeksOfMonth?: int32[]; @doc("Days during the week when maintenance should be performed.") - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) daysOfWeek?: DayOfWeek[]; @doc("The window of hours during the day when maintenance should be performed. The window is a 4 hour slot. Valid values are - 0 - represents time slot 0:00 - 3:59 UTC - 4 - represents time slot 4:00 - 7:59 UTC - 8 - represents time slot 8:00 - 11:59 UTC - 12 - represents time slot 12:00 - 15:59 UTC - 16 - represents time slot 16:00 - 19:59 UTC - 20 - represents time slot 20:00 - 23:59 UTC") @@ -101,25 +101,25 @@ model EstimatedPatchingTime { @doc("The estimated time required in minutes for database server patching.") @minValue(1) @maxValue(3000) - @visibility("read") + @visibility(Lifecycle.Read) estimatedDbServerPatchingTime?: int32; @doc("The estimated time required in minutes for network switch patching.") @minValue(1) @maxValue(3000) - @visibility("read") + @visibility(Lifecycle.Read) estimatedNetworkSwitchesPatchingTime?: int32; @doc("The estimated time required in minutes for storage server patching.") @minValue(1) @maxValue(3000) - @visibility("read") + @visibility(Lifecycle.Read) estimatedStorageServerPatchingTime?: int32; @doc("The estimated total time required in minutes for all patching operations.") @minValue(1) @maxValue(3000) - @visibility("read") + @visibility(Lifecycle.Read) totalEstimatedPatchingTime?: int32; } @@ -141,129 +141,129 @@ model CloudExadataInfrastructure @doc("CloudExadataInfrastructure resource model") model CloudExadataInfrastructureProperties { @doc("Exadata infra ocid") - @visibility("read") + @visibility(Lifecycle.Read) ocid?: Ocid; @doc("The number of compute servers for the cloud Exadata infrastructure.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) computeCount?: int32; @doc("The number of storage servers for the cloud Exadata infrastructure.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) storageCount?: int32; @doc("The total storage allocated to the cloud Exadata infrastructure resource, in gigabytes (GB).") - @visibility("read") + @visibility(Lifecycle.Read) totalStorageSizeInGbs?: int32; @doc("The available storage can be allocated to the cloud Exadata infrastructure resource, in gigabytes (GB).") - @visibility("read") + @visibility(Lifecycle.Read) availableStorageSizeInGbs?: int32; @doc("The date and time the cloud Exadata infrastructure resource was created.") - @visibility("read") + @visibility(Lifecycle.Read) timeCreated?: string; @doc("Additional information about the current lifecycle state.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleDetails?: string; @doc("maintenanceWindow property") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) maintenanceWindow?: MaintenanceWindow; @doc("The estimated total time required in minutes for all patching operations (database server, storage server, and network switch patching).") - @visibility("read") + @visibility(Lifecycle.Read) estimatedPatchingTime?: EstimatedPatchingTime; @doc("The list of customer email addresses that receive information from Oracle about the specified OCI Database service resource. Oracle uses these email addresses to send notifications about planned and unplanned software maintenance updates, information about system hardware, and other information needed by administrators. Up to 10 email addresses can be added to the customer contacts for a cloud Exadata infrastructure instance. ") - @extension("x-ms-identifiers", []) - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) + @extension("x-ms-identifiers", #[]) customerContacts?: CustomerContact[]; @doc("CloudExadataInfrastructure provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureResourceProvisioningState; @doc("CloudExadataInfrastructure lifecycle state") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleState?: CloudExadataInfrastructureLifecycleState; @doc("The model name of the cloud Exadata infrastructure resource.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) shape: string; @doc("HTTPS link to OCI resources exposed to Azure Customer via Azure Interface.") - @visibility("read") + @visibility(Lifecycle.Read) ociUrl?: url; @doc("The total number of CPU cores allocated.") - @visibility("read") + @visibility(Lifecycle.Read) cpuCount?: int32; @doc("The total number of CPU cores available.") - @visibility("read") + @visibility(Lifecycle.Read) maxCpuCount?: int32; @doc("The memory allocated in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) memorySizeInGbs?: int32; @doc("The total memory available in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) maxMemoryInGbs?: int32; @doc("The local node storage to be allocated in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) dbNodeStorageSizeInGbs?: int32; @doc("The total local node storage available in GBs.") - @visibility("read") + @visibility(Lifecycle.Read) maxDbNodeStorageSizeInGbs?: int32; @doc("The quantity of data in the database, in terabytes.") - @visibility("read") + @visibility(Lifecycle.Read) dataStorageSizeInTbs?: float64; @doc("The total available DATA disk group size.") - @visibility("read") + @visibility(Lifecycle.Read) maxDataStorageInTbs?: float64; @doc("The software version of the database servers (dom0) in the Exadata infrastructure.") - @visibility("read") + @visibility(Lifecycle.Read) dbServerVersion?: string; @doc("The software version of the storage servers (cells) in the Exadata infrastructure.") - @visibility("read") + @visibility(Lifecycle.Read) storageServerVersion?: string; @doc("The requested number of additional storage servers activated for the Exadata infrastructure.") - @visibility("read") + @visibility(Lifecycle.Read) activatedStorageCount?: int32; @doc("The requested number of additional storage servers for the Exadata infrastructure.") - @visibility("read") + @visibility(Lifecycle.Read) additionalStorageCount?: int32; @doc("The name for the Exadata infrastructure.") - @visibility("create", "read", "update") + @visibility(Lifecycle.Create, Lifecycle.Read, Lifecycle.Update) @minLength(1) @maxLength(255) displayName: string; @doc("The OCID of the last maintenance run.") - @visibility("read") + @visibility(Lifecycle.Read) lastMaintenanceRunId?: Ocid; @doc("The OCID of the next maintenance run.") - @visibility("read") + @visibility(Lifecycle.Read) nextMaintenanceRunId?: Ocid; @doc("Monthly Db Server version") - @visibility("read") + @visibility(Lifecycle.Read) monthlyDbServerVersion?: string; @doc("Monthly Storage Server version") - @visibility("read") + @visibility(Lifecycle.Read) monthlyStorageServerVersion?: string; } diff --git a/specification/oracle/models/exadata/virtualNetworkAddress.tsp b/specification/oracle/models/exadata/virtualNetworkAddress.tsp index bd67d5ee610a..bcd057f742a5 100644 --- a/specification/oracle/models/exadata/virtualNetworkAddress.tsp +++ b/specification/oracle/models/exadata/virtualNetworkAddress.tsp @@ -46,39 +46,39 @@ model VirtualNetworkAddress is ProxyResource { @doc("virtualNetworkAddress resource properties") model VirtualNetworkAddressProperties { @doc("Virtual network Address address.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) ipAddress?: string; @doc("Virtual Machine OCID.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) vmOcid?: Ocid; @doc("Application VIP OCID.") - @visibility("read") + @visibility(Lifecycle.Read) ocid?: Ocid; @doc("Virtual network address fully qualified domain name.") - @visibility("read") + @visibility(Lifecycle.Read) domain?: string; @doc("Additional information about the current lifecycle state of the application virtual IP (VIP) address.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleDetails?: string; //Subnet should be retrieved from the VM Cluster // @doc("Client subnet") - // @visibility("create", "read") + //@visibility(Lifecycle.Create, Lifecycle.Read) // subnetId?: SubnetId; @doc("Azure resource provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureResourceProvisioningState; @doc("virtual network address lifecycle state.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleState?: VirtualNetworkAddressLifecycleState; @doc("The date and time when the create operation for the application virtual IP (VIP) address completed.") - @visibility("read") + @visibility(Lifecycle.Read) timeAssigned?: utcDateTime; } diff --git a/specification/oracle/models/exadata/vmcluster.tsp b/specification/oracle/models/exadata/vmcluster.tsp index e3ea86bd0e51..34eabe7ffdf2 100644 --- a/specification/oracle/models/exadata/vmcluster.tsp +++ b/specification/oracle/models/exadata/vmcluster.tsp @@ -48,7 +48,7 @@ union UpdateAction { @doc("ExadataIormConfig for cloud vm cluster") model ExadataIormConfig { @doc("An array of IORM settings for all the database in the Exadata DB system.") - @extension("x-ms-identifiers", []) + @extension("x-ms-identifiers", #[]) dbPlans?: DbIormConfig[]; @doc("Additional information about the current lifecycleState.") @@ -189,19 +189,19 @@ model NsgCidr { @doc("CloudVmCluster resource model") model CloudVmClusterProperties { @doc("Cloud VM Cluster ocid") - @visibility("read") + @visibility(Lifecycle.Read) ocid?: Ocid; @doc("The port number configured for the listener on the cloud VM cluster.") - @visibility("read") + @visibility(Lifecycle.Read) listenerPort?: int64; @doc("The number of nodes in the cloud VM cluster. ") - @visibility("read") + @visibility(Lifecycle.Read) nodeCount?: int32; @doc("The data disk group size to be allocated in GBs per VM.") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) storageSizeInGbs?: int32; @doc("The data disk group size to be allocated in TBs.") @@ -214,31 +214,31 @@ model CloudVmClusterProperties { memorySizeInGbs?: int32; @doc("The date and time that the cloud VM cluster was created.") - @visibility("read") + @visibility(Lifecycle.Read) timeCreated?: utcDateTime; @doc("Additional information about the current lifecycle state.") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleDetails?: string; @doc("The time zone of the cloud VM cluster. For details, see [Exadata Infrastructure Time Zones](/Content/Database/References/timezones.htm).") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(255) timeZone?: string; @doc("The OCID of the zone the cloud VM cluster is associated with.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) zoneId?: Ocid; @doc("The hostname for the cloud VM cluster.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(23) hostname: string; @doc("The domain name for the cloud VM cluster.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) domain?: string; @doc("The number of CPU cores enabled on the cloud VM cluster.") @@ -248,29 +248,29 @@ model CloudVmClusterProperties { ocpuCount?: float32; @doc("The cluster name for cloud VM cluster. The cluster name must begin with an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. ") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(11) clusterName?: string; @doc("The percentage assigned to DATA storage (user data and database files). The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are 35, 40, 60 and 80. The default is 80 percent assigned to DATA storage. See [Storage Configuration](/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage. ") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) dataStoragePercentage?: int32; @doc("If true, database backup on local Exadata storage is configured for the cloud VM cluster. If false, database backup on local Exadata storage is not available in the cloud VM cluster. ") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) isLocalBackupEnabled?: boolean = false; @doc("Cloud Exadata Infrastructure ID") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) cloudExadataInfrastructureId: CloudExadataInfrastructureId; @doc("If true, sparse disk group is configured for the cloud VM cluster. If false, sparse disk group is not created. ") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) isSparseDiskgroupEnabled?: boolean = false; @doc("Operating system version of the image.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(255) systemVersion?: string; @@ -282,78 +282,78 @@ model CloudVmClusterProperties { licenseModel?: LicenseModel; @doc("The type of redundancy configured for the cloud Vm cluster. NORMAL is 2-way redundancy. HIGH is 3-way redundancy. ") - @visibility("read") + @visibility(Lifecycle.Read) diskRedundancy?: DiskRedundancy; @doc("The Single Client Access Name (SCAN) IP addresses associated with the cloud VM cluster. SCAN IP addresses are typically used for load balancing and are not assigned to any interface. Oracle Clusterware directs the requests to the appropriate nodes in the cluster. **Note:** For a single-node DB system, this list is empty.") - @visibility("read") + @visibility(Lifecycle.Read) scanIpIds?: string[]; @doc("The virtual IP (VIP) addresses associated with the cloud VM cluster. The Cluster Ready Services (CRS) creates and maintains one VIP address for each node in the Exadata Cloud Service instance to enable failover. If one node fails, the VIP is reassigned to another active node in the cluster. **Note:** For a single-node DB system, this list is empty.") - @visibility("read") + @visibility(Lifecycle.Read) vipIds?: string[]; @doc("The FQDN of the DNS record for the SCAN IP addresses that are associated with the cloud VM cluster. ") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(1) @maxLength(72) scanDnsName?: string; @doc("The TCP Single Client Access Name (SCAN) port. The default port is 1521.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) scanListenerPortTcp?: int32; @doc("The TCPS Single Client Access Name (SCAN) port. The default port is 2484.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) scanListenerPortTcpSsl?: int32; @doc("The OCID of the DNS record for the SCAN IP addresses that are associated with the cloud VM cluster.") - @visibility("read") + @visibility(Lifecycle.Read) scanDnsRecordId?: Ocid; @doc("The model name of the Exadata hardware running the cloud VM cluster.") - @visibility("read") + @visibility(Lifecycle.Read) @minLength(1) @maxLength(255) shape?: string; @doc("CloudVmCluster provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AzureResourceProvisioningState; @doc("CloudVmCluster lifecycle state") - @visibility("read") + @visibility(Lifecycle.Read) lifecycleState?: CloudVmClusterLifecycleState; @doc("VNET for network connectivity") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) vnetId: VnetId; @doc("Oracle Grid Infrastructure (GI) software version") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) giVersion: string; @doc("HTTPS link to OCI resources exposed to Azure Customer via Azure Interface.") - @visibility("read") + @visibility(Lifecycle.Read) ociUrl?: url; @doc("HTTPS link to OCI Network Security Group exposed to Azure Customer via the Azure Interface.") - @visibility("read") + @visibility(Lifecycle.Read) nsgUrl?: url; @doc("Client subnet") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) subnetId: SubnetId; @doc("Client OCI backup subnet CIDR, default is 192.168.252.0/22") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) @minLength(1) @maxLength(32) backupSubnetCidr?: string; @doc("CIDR blocks for additional NSG ingress rules. The VNET CIDRs used to provision the VM Cluster will be added by default.") - @visibility("create", "read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Create, Lifecycle.Read) + @extension("x-ms-identifiers", #[]) nsgCidrs?: NsgCidr[]; @doc("Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS.") @@ -365,27 +365,27 @@ model CloudVmClusterProperties { displayName: string; @doc("The list of compute servers to be added to the cloud VM cluster.") - @visibility("update") + @visibility(Lifecycle.Update) computeNodes?: Ocid[]; @doc("iormConfigCache details for cloud VM cluster.") - @visibility("read") + @visibility(Lifecycle.Read) iormConfigCache?: ExadataIormConfig; @doc("The OCID of the last maintenance update history entry.") - @visibility("read") + @visibility(Lifecycle.Read) lastUpdateHistoryEntryId?: Ocid; @doc("The list of DB servers.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) dbServers?: Ocid[]; @doc("Cluster compartmentId") - @visibility("read") + @visibility(Lifecycle.Read) compartmentId?: Ocid; @doc("Cluster subnet ocid") - @visibility("read") + @visibility(Lifecycle.Read) subnetOcid?: Ocid; } diff --git a/specification/oracle/models/oraclesubscription/oracleSubscription.tsp b/specification/oracle/models/oraclesubscription/oracleSubscription.tsp index 3677f00cc155..c4be97e80f5c 100644 --- a/specification/oracle/models/oraclesubscription/oracleSubscription.tsp +++ b/specification/oracle/models/oraclesubscription/oracleSubscription.tsp @@ -77,73 +77,73 @@ union Intent { @doc("Cloud Account Details model") model CloudAccountDetails { @doc("Cloud Account name") - @visibility("read") + @visibility(Lifecycle.Read) cloudAccountName?: string; @doc("Cloud Account Home region") - @visibility("read") + @visibility(Lifecycle.Read) cloudAccountHomeRegion?: string; } @doc("SaaS Subscription Details model") model SaasSubscriptionDetails { @doc("Purchased SaaS subscription ID") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("SaaS subscription name") - @visibility("read") + @visibility(Lifecycle.Read) subscriptionName?: string; @doc("Creation Date and Time") - @visibility("read") + @visibility(Lifecycle.Read) timeCreated?: utcDateTime; @doc("Purchased offer ID") - @visibility("read") + @visibility(Lifecycle.Read) offerId?: string; @doc("Purchased offer's plan ID") - @visibility("read") + @visibility(Lifecycle.Read) planId?: string; @doc("Indicates the status of the Subscription.") - @visibility("read") + @visibility(Lifecycle.Read) saasSubscriptionStatus?: string; @doc("Publisher ID") - @visibility("read") + @visibility(Lifecycle.Read) publisherId?: string; @doc("Purchaser Email ID") - @visibility("read") + @visibility(Lifecycle.Read) purchaserEmailId?: string; @doc("Purchaser Tenant ID") - @visibility("read") + @visibility(Lifecycle.Read) purchaserTenantId?: string; @doc("Purchase Term Unit") - @visibility("read") + @visibility(Lifecycle.Read) termUnit?: string; @doc("AutoRenew flag") - @visibility("read") + @visibility(Lifecycle.Read) isAutoRenew?: boolean; @doc("FreeTrial flag") - @visibility("read") + @visibility(Lifecycle.Read) isFreeTrial?: boolean; } @doc("Activation Links model") model ActivationLinks { @doc("New Cloud Account Activation Link") - @visibility("read") + @visibility(Lifecycle.Read) newCloudAccountActivationLink?: string; @doc("Existing Cloud Account Activation Link") - @visibility("read") + @visibility(Lifecycle.Read) existingCloudAccountActivationLink?: string; } @@ -172,45 +172,45 @@ union AddSubscriptionOperationState { @doc("Oracle Subscription resource model") model OracleSubscriptionProperties { @doc("OracleSubscriptionProvisioningState provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: OracleSubscriptionProvisioningState; @doc("SAAS subscription ID generated by Marketplace") - @visibility("read") + @visibility(Lifecycle.Read) saasSubscriptionId?: string; @doc("Cloud Account Id") - @visibility("read") + @visibility(Lifecycle.Read) cloudAccountId?: Ocid; @doc("Cloud Account provisioning state.") - @visibility("read") + @visibility(Lifecycle.Read) cloudAccountState?: CloudAccountProvisioningState; @doc("Term Unit. P1Y, P3Y, etc, see Durations https://en.wikipedia.org/wiki/ISO_8601") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) termUnit?: string; @doc("Product code for the term unit") - @visibility("update") + @visibility(Lifecycle.Update) productCode?: string; @doc("Intent for the update operation") - @visibility("update") + @visibility(Lifecycle.Update) intent?: Intent; @added(Versions.v20240601_preview) @doc("Azure subscriptions associated with this OracleSubscription") - @visibility("read") + @visibility(Lifecycle.Read) azureSubscriptionIds?: string[]; @added(Versions.v20240601_preview) @doc("State of the add Azure subscription operation on Oracle subscription") - @visibility("read") + @visibility(Lifecycle.Read) addSubscriptionOperationState?: AddSubscriptionOperationState; @added(Versions.v20240601_preview) @doc("Status details of the last operation on Oracle subscription") - @visibility("read") + @visibility(Lifecycle.Read) lastOperationStatusDetail?: string; } diff --git a/specification/playwrighttesting/PlaywrightTesting.AuthManager/main.tsp b/specification/playwrighttesting/PlaywrightTesting.AuthManager/main.tsp index 7ee1e26f125f..7dda34e118f4 100644 --- a/specification/playwrighttesting/PlaywrightTesting.AuthManager/main.tsp +++ b/specification/playwrighttesting/PlaywrightTesting.AuthManager/main.tsp @@ -46,9 +46,7 @@ using Microsoft.PlaywrightTesting.Shared; ]> ] ) -@service({ - title: "Microsoft PlaywrightTesting AuthManager Service API", -}) +@service(#{ title: "Microsoft PlaywrightTesting AuthManager Service API" }) @versioned(Microsoft.PlaywrightTesting.AuthManager.Versions) namespace Microsoft.PlaywrightTesting.AuthManager; @@ -70,30 +68,30 @@ model AccessToken { @doc("The access-token id.") @maxLength(64) @pattern("[A-Za-z0-9]+(-[A-Za-z0-9]+)+") - @visibility("read") + @visibility(Lifecycle.Read) id: uuid; @minLength(3) @maxLength(64) @pattern("^[a-zA-Z]{1}[a-zA-Z0-9]{2,63}$") @doc("The access-token name.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) name: string; @doc("The access-token value in JWT format.") - @visibility("read") + @visibility(Lifecycle.Read) jwtToken?: string; @doc("The access-token createdAt utcDateTime.") - @visibility("read") + @visibility(Lifecycle.Read) createdAt: utcDateTime; @doc("The access-token expiryAt utcDateTime.") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) expiryAt: utcDateTime; @doc("The access-token state - Active | Expired.") - @visibility("read") + @visibility(Lifecycle.Read) state: AccessTokenState; } diff --git a/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp b/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp index 6583cebc20b5..6b43374e7698 100644 --- a/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp +++ b/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp @@ -11,9 +11,7 @@ using Azure.Core; using Azure.ResourceManager; @armProviderNamespace("Microsoft.AzurePlaywrightService") -@service({ - title: "Microsoft AzurePlaywrightService Management API", -}) +@service(#{ title: "Microsoft AzurePlaywrightService Management API" }) @doc("Microsoft.AzurePlaywrightService Resource Provider Management API.") @versioned(Versions) namespace Microsoft.AzurePlaywrightService; @@ -42,7 +40,7 @@ model Account is TrackedResource { @doc("Account resource properties.") model AccountProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The Playwright testing dashboard URI for the account resource.") dashboardUri?: url; @@ -58,7 +56,7 @@ model AccountProperties { @doc("When enabled, this feature allows the workspace to use local auth (through service access token) for executing operations.") localAuth?: EnablementStatus = EnablementStatus.Disabled; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -120,7 +118,7 @@ model Location { @key("location") @path @segment("locations") - @visibility("query", "read", "update") + @visibility(Lifecycle.Query, Lifecycle.Read, Lifecycle.Update) name: string; } @@ -152,10 +150,10 @@ model QuotaProperties { freeTrial?: FreeTrialProperties; @doc("Indicates the offering type for the subscription.") - @visibility("read") + @visibility(Lifecycle.Read) offeringType?: OfferingType; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -163,11 +161,11 @@ model QuotaProperties { @doc("The subscription quota resource free-trial properties.") model FreeTrialProperties { @doc("The Playwright service account id.") - @visibility("read") + @visibility(Lifecycle.Read) accountId: string; @doc("The free-trial state.") - @visibility("read") + @visibility(Lifecycle.Read) state: FreeTrialState; } @@ -187,7 +185,7 @@ model AccountQuotaProperties { @doc("The Playwright service account quota resource free-trial properties.") freeTrial?: AccountFreeTrialProperties; - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } @@ -195,23 +193,23 @@ model AccountQuotaProperties { @doc("The Playwright service account quota resource free-trial properties.") model AccountFreeTrialProperties { @doc("The free-trial createdAt utcDateTime.") - @visibility("read") + @visibility(Lifecycle.Read) createdAt: utcDateTime; @doc("The free-trial expiryAt utcDateTime.") - @visibility("read") + @visibility(Lifecycle.Read) expiryAt: utcDateTime; @doc("The free-trial allocated limit value eg. allocated free minutes.") - @visibility("read") + @visibility(Lifecycle.Read) allocatedValue: int32; @doc("The free-trial used value eg. used free minutes.") - @visibility("read") + @visibility(Lifecycle.Read) usedValue: int32; @doc("The free-trial percentage used.") - @visibility("read") + @visibility(Lifecycle.Read) @minValue(0) @maxValue(100) percentageUsed: float32; diff --git a/specification/playwrighttesting/PlaywrightTesting.Shared/main.tsp b/specification/playwrighttesting/PlaywrightTesting.Shared/main.tsp index b45ff810de7a..79cd8f6badd8 100644 --- a/specification/playwrighttesting/PlaywrightTesting.Shared/main.tsp +++ b/specification/playwrighttesting/PlaywrightTesting.Shared/main.tsp @@ -25,51 +25,51 @@ model Account { @doc("The account id.") @maxLength(64) @pattern("[A-Za-z0-9]+(_[A-Za-z0-9]+)*(-[A-Za-z0-9]+)+") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("The fully-qualified Azure resource id for the account.") - @visibility("read") + @visibility(Lifecycle.Read) resourceId: string; @doc("The account name.") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The state of account - Active | Inactive") - @visibility("read") + @visibility(Lifecycle.Read) state: AccountState; @doc("The Azure subscription id for the account.") - @visibility("read") + @visibility(Lifecycle.Read) subscriptionId: uuid; @doc("The Azure subscription state - Registered | Unregistered | Warned | Suspended | Deleted") - @visibility("read") + @visibility(Lifecycle.Read) subscriptionState: SubscriptionState; @doc("The Azure tenant id of the account.") - @visibility("read") + @visibility(Lifecycle.Read) tenantId: uuid; @doc("The account resource location in Azure, for eg. eastus, southeastasia.") - @visibility("read") + @visibility(Lifecycle.Read) location: string; @doc("This property sets the connection region for Playwright client workers to cloud-hosted browsers. If enabled, workers connect to browsers in the closest Azure region, ensuring lower latency. If disabled, workers connect to browsers in the Azure region in which the workspace was initially created.") - @visibility("read") + @visibility(Lifecycle.Read) regionalAffinity?: EnablementStatus = EnablementStatus.Enabled; @doc("When enabled, Playwright client workers can connect to cloud-hosted browsers. This can increase the number of parallel workers for a test run, significantly minimizing test completion durations.") - @visibility("read") + @visibility(Lifecycle.Read) scalableExecution?: EnablementStatus = EnablementStatus.Enabled; @doc("When enabled, this feature allows the workspace to upload and display test results, including artifacts like traces and screenshots, in the Playwright portal. This enables faster and more efficient troubleshooting.") - @visibility("read") + @visibility(Lifecycle.Read) reporting?: EnablementStatus = EnablementStatus.Enabled; @doc("When enabled, this feature allows the workspace to use local auth (through service access token) for executing operations.") - @visibility("read") + @visibility(Lifecycle.Read) localAuth?: EnablementStatus = EnablementStatus.Disabled; } diff --git a/specification/portal/Dashboard.Management/Dashboard.tsp b/specification/portal/Dashboard.Management/Dashboard.tsp index e68c3c53ab10..c4748bb1fe8a 100644 --- a/specification/portal/Dashboard.Management/Dashboard.tsp +++ b/specification/portal/Dashboard.Management/Dashboard.tsp @@ -36,7 +36,7 @@ interface Dashboards { /** * Updates an existing Dashboard. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync; /** diff --git a/specification/portal/Dashboard.Management/main.tsp b/specification/portal/Dashboard.Management/main.tsp index 215e315d6a0e..fca8fc4e30cd 100644 --- a/specification/portal/Dashboard.Management/main.tsp +++ b/specification/portal/Dashboard.Management/main.tsp @@ -21,9 +21,7 @@ using TypeSpec.Versioning; * Allows creation and deletion of Azure Shared Dashboards. */ @armProviderNamespace -@service({ - title: "portal", -}) +@service(#{ title: "portal" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Portal; diff --git a/specification/portal/Dashboard.Management/models.tsp b/specification/portal/Dashboard.Management/models.tsp index c565464f215c..8f81d1845ee6 100644 --- a/specification/portal/Dashboard.Management/models.tsp +++ b/specification/portal/Dashboard.Management/models.tsp @@ -64,20 +64,20 @@ model ErrorDefinition { /** * Service specific error code which serves as the substatus for the HTTP error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: int32; /** * Description of the error. */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string; /** * Internal error details. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", ["code"]) + @visibility(Lifecycle.Read) + @identifiers(#["code"]) details?: ErrorDefinition[]; } @@ -86,7 +86,7 @@ model DashboardPropertiesWithProvisioningState { ...DashboardProperties; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } @@ -97,7 +97,7 @@ model DashboardProperties { /** * The dashboard lenses. */ - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) lenses?: DashboardLens[]; /** @@ -119,7 +119,7 @@ model DashboardLens { /** * The dashboard parts. */ - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) parts: DashboardParts[]; /** @@ -213,19 +213,19 @@ model Resource { /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * The name of the resource */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; } @@ -237,7 +237,7 @@ model MarkdownPartMetadata extends DashboardPartMetadata { * Input to dashboard part. */ #suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "Existing use case" - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) inputs?: {}[]; /** diff --git a/specification/portal/TenantConfiguration.Management/main.tsp b/specification/portal/TenantConfiguration.Management/main.tsp index 2a282758b22d..7457ed575b80 100644 --- a/specification/portal/TenantConfiguration.Management/main.tsp +++ b/specification/portal/TenantConfiguration.Management/main.tsp @@ -22,9 +22,7 @@ using TypeSpec.Versioning; */ #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "For backward compatibility" @armProviderNamespace -@service({ - title: "portal", -}) +@service(#{ title: "portal" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Portal; diff --git a/specification/portal/TenantConfiguration.Management/models.tsp b/specification/portal/TenantConfiguration.Management/models.tsp index 2821e1629bf0..957f88c9e7a9 100644 --- a/specification/portal/TenantConfiguration.Management/models.tsp +++ b/specification/portal/TenantConfiguration.Management/models.tsp @@ -26,7 +26,7 @@ model ConfigurationProperties { enforcePrivateMarkdownStorage?: boolean; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } @@ -42,18 +42,18 @@ model Violation { /** * Id of the item that violates tenant configuration. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * Id of the user who owns violated item. */ - @visibility("read") + @visibility(Lifecycle.Read) userId?: string; /** * Error message. */ - @visibility("read") + @visibility(Lifecycle.Read) errorMessage?: string; } diff --git a/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp b/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp index d69ab1c7918d..e0320c2fedc3 100644 --- a/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp +++ b/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp @@ -14,7 +14,7 @@ model CopilotSettingsResource is ProxyResource { @doc("The default copilot settings, applying to entire tenant.") @segment("copilotSettings") @key - @visibility("read") + @visibility(Lifecycle.Read) @path @pattern("^[a-zA-Z0-9-]{3,24}$") name: string; diff --git a/specification/portalservices/CopilotSettings.Management/main.tsp b/specification/portalservices/CopilotSettings.Management/main.tsp index 7757186938e4..fed5f6a78b69 100644 --- a/specification/portalservices/CopilotSettings.Management/main.tsp +++ b/specification/portalservices/CopilotSettings.Management/main.tsp @@ -13,9 +13,7 @@ using Azure.ResourceManager.Foundations; using TypeSpec.Http; @armProviderNamespace -@service({ - title: "Microsoft.PortalServices", -}) +@service(#{ title: "Microsoft.PortalServices" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @doc("Azure Portal Services API Reference") diff --git a/specification/portalservices/CopilotSettings.Management/models.tsp b/specification/portalservices/CopilotSettings.Management/models.tsp index d3b4e6480adb..8b24c7eb84d1 100644 --- a/specification/portalservices/CopilotSettings.Management/models.tsp +++ b/specification/portalservices/CopilotSettings.Management/models.tsp @@ -10,6 +10,6 @@ model CopilotSettingsProperties { accessControlEnabled: boolean; @doc("The status of the last provisioning operation performed on the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; } diff --git a/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp b/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp index 4b955c90657b..53d624ee2867 100644 --- a/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp +++ b/specification/portalservices/Extension.Management/ExtensionTenantCompileFile.tsp @@ -20,7 +20,7 @@ model PortalTenantCompileFile @path @key("compilefile") @segment("compilefile") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/portalservices/Extension.Management/main.tsp b/specification/portalservices/Extension.Management/main.tsp index 3727dd9193bc..c22bb6c609da 100644 --- a/specification/portalservices/Extension.Management/main.tsp +++ b/specification/portalservices/Extension.Management/main.tsp @@ -11,9 +11,7 @@ using TypeSpec.Versioning; * Allows creation and deletion of Azure portal extensions. */ @armProviderNamespace -@service({ - title: "Microsoft.PortalServices", -}) +@service(#{ title: "Microsoft.PortalServices" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.PortalServices; diff --git a/specification/portalservices/Extension.Management/models.tsp b/specification/portalservices/Extension.Management/models.tsp index 2bef8b5e1550..96687c560eb4 100644 --- a/specification/portalservices/Extension.Management/models.tsp +++ b/specification/portalservices/Extension.Management/models.tsp @@ -143,37 +143,37 @@ model PortalExtensionProperties { /** * Readonly. The ICM routing details for any live site issues for the extension set in service tree */ - @visibility("read") + @visibility(Lifecycle.Read) icm?: PortalExtensionPropertiesIcm; /** * Readonly. Email for customer feedback from service tree. */ - @visibility("read") + @visibility(Lifecycle.Read) feedbackEmail?: string; /** * Readonly. The service tree id. */ - @visibility("read") + @visibility(Lifecycle.Read) serviceTreeId?: string; /** * Readonly. The oAuthClientId guid from service tree. */ - @visibility("read") + @visibility(Lifecycle.Read) oAuthClientId?: string; /** * Readonly. The preview stamp from service tree. */ - @visibility("read") + @visibility(Lifecycle.Read) previewStamp?: string; /** * Readonly. The Azure portal extension name e.g Microsoft_Azure_Storage. Comes in from extension.pdl or extension.dx.json or is generated. */ - @visibility("read") + @visibility(Lifecycle.Read) portalName?: string; /** @@ -184,19 +184,19 @@ model PortalExtensionProperties { /** * The current registration or provisioning state which only appears in the response */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * The visibility of the extension. By default status will be NotOnboarded. Microsoft owned extensions can promote using service tree. External extensions can promote your application use partner center. */ - @visibility("read") + @visibility(Lifecycle.Read) publicStatus?: PublicStatusKind; /** * Once provisioningState is in the terminal state of Succeeded this is the portal runtime uri for portal extensions with status of private */ - @visibility("read") + @visibility(Lifecycle.Read) runtimeUri?: string; } @@ -223,7 +223,6 @@ model DeploymentConfig { /** * Defines the deployment stages, regions to deploy to for each stage and sequence to rollout to individual stages. */ - @extension("x-ms-identifiers", []) stageDefinition?: Record>; } @@ -234,19 +233,19 @@ model PortalExtensionPropertiesIcm { /** * Readonly. The ICM service route e.g Azure Portal (IbizaFx) from ICM for the service tree icm teamId. */ - @visibility("read") + @visibility(Lifecycle.Read) service?: string; /** * Readonly. The team under the ICM service e.g Portal from ICM for the service tree icm teamId. */ - @visibility("read") + @visibility(Lifecycle.Read) team?: string; /** * Readonly. The ICM team Id from service tree. */ - @visibility("read") + @visibility(Lifecycle.Read) teamId?: int32; } @@ -272,19 +271,19 @@ model ArmCommonProperties { /** * Resource Id */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * Resource name */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * Resource type */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** @@ -301,7 +300,7 @@ model ArmCommonProperties { /** * Metadata pertaining to creation and last modification of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) systemData?: Azure.ResourceManager.Foundations.SystemData; } @@ -328,7 +327,7 @@ model PortalExtensionAlter { /** * The list of alterations to perform on the source code. */ - @extension("x-ms-identifiers", []) + @identifiers(#[]) alterations?: Array; } @@ -458,7 +457,7 @@ model ExtensionVersionProperties { /** * Indicates if the version has ever been deployed */ - @visibility("read") + @visibility(Lifecycle.Read) hasBeenDeployed?: boolean; /** @@ -469,7 +468,7 @@ model ExtensionVersionProperties { /** * Readonly. The provisioning state. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** @@ -541,13 +540,13 @@ model ExtensionDeploymentProperties { /** * Readonly. The current registration or provisioning state which only appears in the response */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Readonly. The next stage of deployment from the deployment sequence e.g stage2 */ - @visibility("read") + @visibility(Lifecycle.Read) nextStage?: string; /** @@ -594,13 +593,13 @@ model ExtensionSlotProperties { /** * Readonly. The current registration or provisioning state which only appears in the response */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Readonly. The slot that will be deployed to. */ - @visibility("read") + @visibility(Lifecycle.Read) nextStage?: string; } @@ -658,7 +657,7 @@ model PortalTenantCompileFileProperties { /** * The current registration or provisioning state which only appears in the response. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp index c90f5b3e63f9..43f69b759fd9 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp @@ -25,7 +25,7 @@ interface DeviceLocation { model DeviceLocationEndpoint { @key @doc("Static endpoint") - @visibility("read") + @visibility(Lifecycle.Read) location: "location"; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp index 47bb8931bd9d..6e19d7e227e5 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp @@ -26,7 +26,7 @@ interface DeviceNetwork { model DeviceNetworkRetrievalEndpoint { @key @doc("Static endpoint") - @visibility("read") + @visibility(Lifecycle.Read) network: "network"; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp index c781676a7113..9bf2b48c0f00 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp @@ -55,7 +55,7 @@ interface NumberVerification { model NumberVerificationEndpoint { @key @doc("Static endpoint") - @visibility("read") + @visibility(Lifecycle.Read) number: "number"; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp index c1b76c601aad..47f6fca93931 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp @@ -33,7 +33,7 @@ interface SimSwap { model SimSwapEndpoint { @key @doc("Static endpoint") - @visibility("read") + @visibility(Lifecycle.Read) simSwap: "sim-swap"; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/main.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/main.tsp index 5933e0fbdc47..dca642e03593 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/main.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/main.tsp @@ -18,9 +18,7 @@ using Azure.Core; ]> ] ) -@service({ - title: "Programmable Connectivity", -}) +@service(#{ title: "Programmable Connectivity" }) @server( "{endpoint}", "Azure Programmable Connectivity Endpoint.", diff --git a/specification/programmableconnectivity/ProgrammableConnectivity.Management/Gateway.tsp b/specification/programmableconnectivity/ProgrammableConnectivity.Management/Gateway.tsp index 96af6c1f5c7d..43922bd80947 100644 --- a/specification/programmableconnectivity/ProgrammableConnectivity.Management/Gateway.tsp +++ b/specification/programmableconnectivity/ProgrammableConnectivity.Management/Gateway.tsp @@ -22,7 +22,7 @@ model Gateway is Azure.ResourceManager.TrackedResource { @path @key("gatewayName") @segment("gateways") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -33,7 +33,7 @@ model GatewayProperties { /** * List of Operator API Connections selected by the user */ - @visibility("read") + @visibility(Lifecycle.Read) operatorApiConnections?: Azure.Core.armResourceIdentifier<[ { type: "Microsoft.ProgrammableConnectivity/operatorApiConnections"; @@ -43,13 +43,13 @@ model GatewayProperties { /** * Base URL of the Gateway resource. This is the URL that the users would use to make Open API Gateway requests to the Operators via Azure. */ - @visibility("read") + @visibility(Lifecycle.Read) gatewayBaseUrl?: string; /** * The status of the last operation on the Gateway resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiConnection.tsp b/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiConnection.tsp index 883583989865..eeba79848161 100644 --- a/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiConnection.tsp +++ b/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiConnection.tsp @@ -23,7 +23,7 @@ model OperatorApiConnection @path @key("operatorApiConnectionName") @segment("operatorApiConnections") - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) name: string; } @@ -34,7 +34,7 @@ model OperatorApiConnectionProperties { /** * Reference to the Operator API Plan Resource ID. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) operatorApiPlanId: Azure.Core.armResourceIdentifier<[ { type: "Microsoft.ProgrammableConnectivity/operatorApiPlans"; @@ -44,25 +44,25 @@ model OperatorApiConnectionProperties { /** * Details about the SaaS offer purchased from the marketplace. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) saasProperties?: SaasProperties; /** * Details about the Application that would use the Operator's Network APIs. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) configuredApplication?: ApplicationProperties; /** * Application ID of the App Developer that is registered with the Operator in a specific country/region. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) appId?: string; /** * Reference to the APC Gateway resource ID. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) gatewayId: Azure.Core.armResourceIdentifier<[ { type: "Microsoft.ProgrammableConnectivity/gateways"; @@ -72,38 +72,38 @@ model OperatorApiConnectionProperties { /** * Type of the account the user has with the Operator's Network API infrastructure. AzureManaged | UserManaged. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) accountType: AccountType; /** * Application secret linked to the 'appId'. This should be stored securely and is not returned back when the resource information is read. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret appSecret?: string; /** * Name of the Operator in the linked Operator API Plan belongs to. */ - @visibility("read") + @visibility(Lifecycle.Read) operatorName?: string; /** * The Network API for the current operator in the country/region provided in the linked Operator API Plan. */ - @visibility("read") + @visibility(Lifecycle.Read) camaraApiName?: string; /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * The status of the OperatorApiConnection resource. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: Status; } diff --git a/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiPlan.tsp b/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiPlan.tsp index 5b0e5f2768fa..db9a013d388d 100644 --- a/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiPlan.tsp +++ b/specification/programmableconnectivity/ProgrammableConnectivity.Management/OperatorApiPlan.tsp @@ -24,7 +24,7 @@ model OperatorApiPlan @path @key("operatorApiPlanName") @segment("operatorApiPlans") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -100,7 +100,7 @@ model OperatorApiPlanProperties { /** * The status of the last operation on the Gateway resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/programmableconnectivity/ProgrammableConnectivity.Management/main.tsp b/specification/programmableconnectivity/ProgrammableConnectivity.Management/main.tsp index f0e32fe4bdf8..fb76a1120efd 100644 --- a/specification/programmableconnectivity/ProgrammableConnectivity.Management/main.tsp +++ b/specification/programmableconnectivity/ProgrammableConnectivity.Management/main.tsp @@ -17,9 +17,7 @@ using TypeSpec.Versioning; * Azure Programmable Connectivity Provider management API. */ @armProviderNamespace -@service({ - title: "ProgrammableConnectivity", -}) +@service(#{ title: "ProgrammableConnectivity" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.ProgrammableConnectivity; diff --git a/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp b/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp index bb3c4c1f430f..50c00da1fc28 100644 --- a/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp +++ b/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp @@ -6,9 +6,7 @@ using TypeSpec.Rest; using TypeSpec.Http; using TypeSpec.Versioning; -@service({ - title: "Azure Analytics Purview Data Map", -}) +@service(#{ title: "Azure Analytics Purview Data Map" }) @server( "{endpoint}/datamap/api", "Purview Data Map Service is a fully managed cloud service whose users can discover the data sources they need and understand the data sources they find. At the same time, Data Map helps organizations get more value from their existing investments.", diff --git a/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp b/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp index da167237558c..a01e01bd5b26 100644 --- a/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp +++ b/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp @@ -312,7 +312,7 @@ model AtlasEntity { homeId?: string; @doc("The collection ID of the entity.") - @visibility("read") + @visibility(Lifecycle.Read) collectionId?: string; @doc("Whether it is a shell entity") diff --git a/specification/purviewpolicy/PurviewPolicy.Management/main.tsp b/specification/purviewpolicy/PurviewPolicy.Management/main.tsp index bb57aca7cf9f..e140b8706f3c 100644 --- a/specification/purviewpolicy/PurviewPolicy.Management/main.tsp +++ b/specification/purviewpolicy/PurviewPolicy.Management/main.tsp @@ -14,9 +14,7 @@ using TypeSpec.Versioning; /** Creates a Microsoft.Purview management client. */ @armProviderNamespace -@service({ - title: "PurviewPolicyClient", -}) +@service(#{ title: "PurviewPolicyClient" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Purview; diff --git a/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp b/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp index e0075c8ec42d..3e5786ef6587 100644 --- a/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp +++ b/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp @@ -87,7 +87,7 @@ model Policy extends Azure.ResourceManager.Foundations.ProxyResource { members: PolicyMembers; /** Array of decision rules for the policy */ - @extension("x-ms-identifiers", []) + @identifiers(#[]) decisionRules: PolicyDecisionRule[]; /** The timestamp of the expiry time of the policy (UTC). */ @@ -101,11 +101,11 @@ model Policy extends Azure.ResourceManager.Foundations.ProxyResource { /** Policy member */ model PolicyMembers { /** Array of azure active directory members */ - @extension("x-ms-identifiers", []) + @identifiers(#[]) fabricItemMembers?: FabricItemMember[]; /** Array of azure active directory members */ - @extension("x-ms-identifiers", []) + @identifiers(#[]) aadMembers?: AadMember[]; } @@ -136,7 +136,7 @@ model PolicyDecisionRule { effect: Decision; /** Array of attribute predicates */ - @extension("x-ms-identifiers", []) + @identifiers(#[]) permission?: AttributePredicate[]; } diff --git a/specification/quantum/Microsoft.Quantum.Management/main.tsp b/specification/quantum/Microsoft.Quantum.Management/main.tsp index 0da04b217383..9dc53c0815bb 100644 --- a/specification/quantum/Microsoft.Quantum.Management/main.tsp +++ b/specification/quantum/Microsoft.Quantum.Management/main.tsp @@ -26,9 +26,7 @@ using Azure.ResourceManager.Foundations; * Microsoft.Quantum Resource Provider Management API */ @armProviderNamespace -@service({ - title: "Azure Quantum Management API", -}) +@service(#{ title: "Azure Quantum Management API" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Quantum; diff --git a/specification/quantum/Microsoft.Quantum.Management/models.tsp b/specification/quantum/Microsoft.Quantum.Management/models.tsp index c45fe0979511..7e5d4d254232 100644 --- a/specification/quantum/Microsoft.Quantum.Management/models.tsp +++ b/specification/quantum/Microsoft.Quantum.Management/models.tsp @@ -106,7 +106,7 @@ model ProviderDescription { /** * Provider's display name. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** @@ -122,25 +122,25 @@ model ProviderProperties { /** * A description about this provider. */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** * Provider type. */ - @visibility("read") + @visibility(Lifecycle.Read) providerType?: string; /** * Company name. */ - @visibility("read") + @visibility(Lifecycle.Read) company?: string; /** * Provider's default endpoint. */ - @visibility("read") + @visibility(Lifecycle.Read) defaultEndpoint?: string; /** @@ -181,13 +181,13 @@ model ProviderPropertiesAad { /** * Provider's application id. */ - @visibility("read") + @visibility(Lifecycle.Read) applicationId?: string; /** * Provider's tenant id. */ - @visibility("read") + @visibility(Lifecycle.Read) tenantId?: string; } @@ -198,13 +198,13 @@ model ProviderPropertiesManagedApplication { /** * Provider's publisher id. */ - @visibility("read") + @visibility(Lifecycle.Read) publisherId?: string; /** * Provider's offer id. */ - @visibility("read") + @visibility(Lifecycle.Read) offerId?: string; } @@ -370,19 +370,19 @@ model WorkspaceResourceProperties { /** * List of Providers selected for this Workspace */ - @OpenAPI.extension("x-ms-identifiers", ["providerId"]) + @identifiers(#["providerId"]) providers?: Provider[]; /** * Whether the current workspace is ready to accept Jobs. */ - @visibility("read") + @visibility(Lifecycle.Read) usable?: UsableStatus; /** * Provisioning status field */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkspaceProvisioningStatus; /** @@ -393,7 +393,7 @@ model WorkspaceResourceProperties { /** * The URI of the workspace endpoint. */ - @visibility("read") + @visibility(Lifecycle.Read) endpointUri?: string; /** @@ -459,13 +459,13 @@ model ListKeysResult { /** * The connection string of the primary api key. */ - @visibility("read") + @visibility(Lifecycle.Read) primaryConnectionString?: string; /** * The connection string of the secondary api key. */ - @visibility("read") + @visibility(Lifecycle.Read) secondaryConnectionString?: string; } @@ -481,7 +481,7 @@ model ApiKey { /** * The Api key. */ - @visibility("read") + @visibility(Lifecycle.Read) key?: string; } diff --git a/specification/quantum/Quantum.Workspace/common/common-params.tsp b/specification/quantum/Quantum.Workspace/common/common-params.tsp index b3ac30890475..dada2750cdc6 100644 --- a/specification/quantum/Quantum.Workspace/common/common-params.tsp +++ b/specification/quantum/Quantum.Workspace/common/common-params.tsp @@ -70,7 +70,12 @@ model CommonParams { model Subscription { /** The Azure subscription ID. */ @key - @visibility("read", "create", "update", "delete") + @visibility( + Lifecycle.Read, + Lifecycle.Create, + Lifecycle.Update, + Lifecycle.Delete + ) subscriptionId: SubscriptionId; } @@ -80,7 +85,12 @@ model Subscription { model ResourceGroup { /** Name of the Azure resource group. */ @key - @visibility("read", "create", "update", "delete") + @visibility( + Lifecycle.Read, + Lifecycle.Create, + Lifecycle.Update, + Lifecycle.Delete + ) resourceGroupName: ResourceGroupName; } @@ -90,7 +100,12 @@ model ResourceGroup { model ResourceProvider { /** The Azure Quantum resource provider. */ @key - @visibility("read", "create", "update", "delete") + @visibility( + Lifecycle.Read, + Lifecycle.Create, + Lifecycle.Update, + Lifecycle.Delete + ) providerName: ResourceProviderName; } @@ -100,6 +115,11 @@ model ResourceProvider { model QuantumWorkspace { /** Name of the Azure Quantum workspace. */ @key - @visibility("read", "create", "update", "delete") + @visibility( + Lifecycle.Read, + Lifecycle.Create, + Lifecycle.Update, + Lifecycle.Delete + ) workspaceName: WorkspaceName; } diff --git a/specification/quantum/Quantum.Workspace/common/json-patch.tsp b/specification/quantum/Quantum.Workspace/common/json-patch.tsp index cecef01830c5..77bf9e92eef7 100644 --- a/specification/quantum/Quantum.Workspace/common/json-patch.tsp +++ b/specification/quantum/Quantum.Workspace/common/json-patch.tsp @@ -36,20 +36,20 @@ union JsonPatchOperation { /** A JSONPatch object as defined by RFC 6902. */ model JsonPatchObject { /** The operation to be performed. */ - @visibility("create") + @visibility(Lifecycle.Create) @encodedName("application/json", "op") operation: JsonPatchOperation; /** A JSON-Pointer. */ - @visibility("create") + @visibility(Lifecycle.Create) path: string; /** A value to be used in the operation on the path. */ - @visibility("create") + @visibility(Lifecycle.Create) value?: {}; /** Optional field used in copy and move operations. */ - @visibility("create") + @visibility(Lifecycle.Create) from?: string; } diff --git a/specification/quantum/Quantum.Workspace/main.tsp b/specification/quantum/Quantum.Workspace/main.tsp index 9e5f5c1b4ba4..d242120df1d3 100644 --- a/specification/quantum/Quantum.Workspace/main.tsp +++ b/specification/quantum/Quantum.Workspace/main.tsp @@ -30,9 +30,7 @@ using OpenAPI; /** Azure Quantum Workspace Services */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "Non standard use of openapi info metadata for azure spec" -@service({ - title: "Azure Quantum Workspace Services", -}) +@service(#{ title: "Azure Quantum Workspace Services" }) @useAuth(AzureEntraAuth | AzureApiKeyAuth) @versioned(QuantumWorkspaceAPIVersion) @server( @@ -46,11 +44,7 @@ using OpenAPI; serviceBaseUrl: string = "quantum.azure.com", } ) -@OpenAPI.info({ - contact: { - email: "azqengg@microsoft.com", - }, -}) +@OpenAPI.info(#{ contact: #{ email: "azqengg@microsoft.com" } }) namespace Quantum.Workspace.Services { #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ There is no support for JsonPatch in Azure.Core. diff --git a/specification/quantum/Quantum.Workspace/operations/items.tsp b/specification/quantum/Quantum.Workspace/operations/items.tsp index 39bb7c422bc1..835693e47118 100644 --- a/specification/quantum/Quantum.Workspace/operations/items.tsp +++ b/specification/quantum/Quantum.Workspace/operations/items.tsp @@ -40,43 +40,43 @@ scalar WorkspaceItemId extends string; model ItemDetails { /** Id of the item. */ @key - @visibility("read") + @visibility(Lifecycle.Read) id: WorkspaceItemId; /** The name of the item. It is not required for the name to be unique and it's only used for display purposes. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) name: string; /** The unique identifier for the provider. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) providerId: string; /** The target identifier to run the job. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) target: string; /** Type of the Quantum Workspace item */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) itemType: ItemType; /** The creation time of the item. */ - @visibility("read") + @visibility(Lifecycle.Read) creationTime?: utcDateTime; /** The time when the item began execution. */ - @visibility("read") + @visibility(Lifecycle.Read) beginExecutionTime?: utcDateTime; /** The time when the item finished execution. */ - @visibility("read") + @visibility(Lifecycle.Read) endExecutionTime?: utcDateTime; /** Cost estimate. */ - @visibility("read") + @visibility(Lifecycle.Read) costEstimate?: CostEstimate; /** Error information. */ - @visibility("read") + @visibility(Lifecycle.Read) errorData?: Errors.WorkspaceItemError; } diff --git a/specification/quantum/Quantum.Workspace/operations/jobs.tsp b/specification/quantum/Quantum.Workspace/operations/jobs.tsp index e0877b8507dc..d629dfe696ac 100644 --- a/specification/quantum/Quantum.Workspace/operations/jobs.tsp +++ b/specification/quantum/Quantum.Workspace/operations/jobs.tsp @@ -48,7 +48,7 @@ union JobStatus { /** Quantum computing data. */ model QuantumComputingData { /** The number of quantum computing items in the job. */ - @visibility("read") + @visibility(Lifecycle.Read) count: int64; } @@ -59,63 +59,63 @@ model JobDetails extends ItemDetails { /** Id of the job. */ #suppress "@azure-tools/typespec-azure-core/key-visibility-required" "False-positive" @key("jobId") - @visibility("read") + @visibility(Lifecycle.Read) id: WorkspaceItemId; /** Type of the Quantum Workspace item is Job. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) itemType: ItemType.Job; /** The type of job. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) jobType?: JobType; /** The ID of the session that the job is part of. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sessionId?: string; /** The blob container SAS uri, the container is used to host job data. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) containerUri: string; /** The input blob URI, if specified, it will override the default input blob in the container. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) inputDataUri?: string; /** The format of the input data. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) inputDataFormat?: string; /** The status of the job. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: JobStatus; /** The job metadata. Metadata provides client the ability to store client-specific information */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) metadata?: {}; /** The time when a job was successfully cancelled. */ - @visibility("read") + @visibility(Lifecycle.Read) cancellationTime?: utcDateTime; /** List of user-supplied tags associated with the job. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) tags?: string[]; /** Quantum computing data. */ - @visibility("read") + @visibility(Lifecycle.Read) quantumComputingData?: QuantumComputingData; /** The input parameters for the job. JSON object used by the target solver. It is expected that the size of this object is small and only used to specify parameters for the execution target, not the input data. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) inputParams?: {}; /** The output blob uri. When a job finishes successfully, results will be uploaded to this blob. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) outputDataUri?: string; /** The format of the output data. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) outputDataFormat?: string; } diff --git a/specification/quantum/Quantum.Workspace/operations/providers.tsp b/specification/quantum/Quantum.Workspace/operations/providers.tsp index 3e873c9181d3..af356bb2b11c 100644 --- a/specification/quantum/Quantum.Workspace/operations/providers.tsp +++ b/specification/quantum/Quantum.Workspace/operations/providers.tsp @@ -41,35 +41,35 @@ union TargetAvailability { @parentResource(QuantumWorkspace) model ProviderStatus { /** Provider id. */ - @visibility("read") + @visibility(Lifecycle.Read) @key id: string; /** Current provider availability. */ - @visibility("read") + @visibility(Lifecycle.Read) currentAvailability: ProviderAvailability; /** Current target statuses. */ - @visibility("read") + @visibility(Lifecycle.Read) targets: TargetStatus[]; } /** Target status. */ model TargetStatus { /** Target id. */ - @visibility("read") + @visibility(Lifecycle.Read) id: string; /** Current target availability. */ - @visibility("read") + @visibility(Lifecycle.Read) currentAvailability: TargetAvailability; /** Average queue time in seconds. */ - @visibility("read") + @visibility(Lifecycle.Read) averageQueueTime: int64; /** A page with detailed status of the provider. */ - @visibility("read") + @visibility(Lifecycle.Read) statusPage?: string; } diff --git a/specification/quantum/Quantum.Workspace/operations/quotas.tsp b/specification/quantum/Quantum.Workspace/operations/quotas.tsp index 6c46e3bf3b9c..8c83ebb0d37b 100644 --- a/specification/quantum/Quantum.Workspace/operations/quotas.tsp +++ b/specification/quantum/Quantum.Workspace/operations/quotas.tsp @@ -36,36 +36,36 @@ union MeterPeriod { model Quota { /** Quota faux key. */ @key - @visibility("read") + @visibility(Lifecycle.Read) // A faux key is needed to tag the Quota as a resource. key: never; /** The name of the dimension associated with the quota. */ - @visibility("read") + @visibility(Lifecycle.Read) dimension: string; /** The scope at which the quota is applied. */ - @visibility("read") + @visibility(Lifecycle.Read) scope: DimensionScope; /** The unique identifier for the provider. */ - @visibility("read") + @visibility(Lifecycle.Read) providerId: string; /** The amount of the usage that has been applied for the current period. */ - @visibility("read") + @visibility(Lifecycle.Read) utilization: float32; /** The amount of the usage that has been reserved but not applied for the current period. */ - @visibility("read") + @visibility(Lifecycle.Read) holds: float32; /** The maximum amount of usage allowed for the current period. */ - @visibility("read") + @visibility(Lifecycle.Read) limit: float32; /** The time period in which the quota's underlying meter is accumulated. Based on calendar year. 'None' is used for concurrent quotas. */ - @visibility("read") + @visibility(Lifecycle.Read) period: MeterPeriod; } diff --git a/specification/quantum/Quantum.Workspace/operations/sessions.tsp b/specification/quantum/Quantum.Workspace/operations/sessions.tsp index a1e207e42abb..23d40f657113 100644 --- a/specification/quantum/Quantum.Workspace/operations/sessions.tsp +++ b/specification/quantum/Quantum.Workspace/operations/sessions.tsp @@ -51,19 +51,19 @@ union SessionStatus { model SessionDetails extends ItemDetails { /** Id of the session. */ @key("sessionId") - @visibility("read") + @visibility(Lifecycle.Read) id: WorkspaceItemId; /** Type of the Quantum Workspace item is Session. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) itemType: ItemType.Session; /** Policy controlling the behavior of the Session when a job in the session fails. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) jobFailurePolicy: SessionJobFailurePolicy; /** The status of the session. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: SessionStatus; } diff --git a/specification/quantum/Quantum.Workspace/operations/storage.tsp b/specification/quantum/Quantum.Workspace/operations/storage.tsp index 172d97f43944..f444b192a224 100644 --- a/specification/quantum/Quantum.Workspace/operations/storage.tsp +++ b/specification/quantum/Quantum.Workspace/operations/storage.tsp @@ -13,18 +13,18 @@ using TypeSpec.Http; /** The details (name and container) of the blob to store or download data. */ model BlobDetails { /** The container name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) containerName: string; /** The blob name. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) blobName?: string; } /** SAS URI operation response. */ model SasUriResponse { /** A URL with a SAS token to upload a blob for execution in the given workspace. */ - @visibility("read") + @visibility(Lifecycle.Read) sasUri: string; } diff --git a/specification/recoveryservicesdatareplication/DataReplication.Management/FabricModel.tsp b/specification/recoveryservicesdatareplication/DataReplication.Management/FabricModel.tsp index 3f38deacf618..a9f3f9f748ad 100644 --- a/specification/recoveryservicesdatareplication/DataReplication.Management/FabricModel.tsp +++ b/specification/recoveryservicesdatareplication/DataReplication.Management/FabricModel.tsp @@ -48,7 +48,7 @@ interface Fabric { /** * Performs update on the fabric. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/recoveryservicesdatareplication/DataReplication.Management/ProtectedItemModel.tsp b/specification/recoveryservicesdatareplication/DataReplication.Management/ProtectedItemModel.tsp index 13fa16eb8e1c..045743982d55 100644 --- a/specification/recoveryservicesdatareplication/DataReplication.Management/ProtectedItemModel.tsp +++ b/specification/recoveryservicesdatareplication/DataReplication.Management/ProtectedItemModel.tsp @@ -51,7 +51,7 @@ interface ProtectedItem { /** * Performs update on the protected item. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/recoveryservicesdatareplication/DataReplication.Management/VaultModel.tsp b/specification/recoveryservicesdatareplication/DataReplication.Management/VaultModel.tsp index b0cd7b1921af..69c5771a6bd0 100644 --- a/specification/recoveryservicesdatareplication/DataReplication.Management/VaultModel.tsp +++ b/specification/recoveryservicesdatareplication/DataReplication.Management/VaultModel.tsp @@ -50,7 +50,7 @@ interface Vault { /** * Performs update on the vault. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/recoveryservicesdatareplication/DataReplication.Management/main.tsp b/specification/recoveryservicesdatareplication/DataReplication.Management/main.tsp index 973fa3af0567..2e7b46788599 100644 --- a/specification/recoveryservicesdatareplication/DataReplication.Management/main.tsp +++ b/specification/recoveryservicesdatareplication/DataReplication.Management/main.tsp @@ -34,9 +34,7 @@ using TypeSpec.Versioning; * A first party Azure service enabling the data replication. */ @armProviderNamespace -@service({ - title: "Azure Site Recovery Management Service API", -}) +@service(#{ title: "Azure Site Recovery Management Service API" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v6) namespace Microsoft.DataReplication; diff --git a/specification/recoveryservicesdatareplication/DataReplication.Management/models.tsp b/specification/recoveryservicesdatareplication/DataReplication.Management/models.tsp index d4326337b150..a507274f5ab8 100644 --- a/specification/recoveryservicesdatareplication/DataReplication.Management/models.tsp +++ b/specification/recoveryservicesdatareplication/DataReplication.Management/models.tsp @@ -728,7 +728,7 @@ model EmailConfigurationModelProperties { /** * Gets or sets the provisioning state of the email configuration. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -739,57 +739,57 @@ model EventModelProperties { /** * Gets or sets the resource type. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceType?: string; /** * Gets or sets the resource name. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceName?: string; /** * Gets or sets the event type. */ - @visibility("read") + @visibility(Lifecycle.Read) eventType?: string; /** * Gets or sets the event name. */ - @visibility("read") + @visibility(Lifecycle.Read) eventName?: string; /** * Gets or sets the time at which the event occurred at source. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. timeOfOccurrence?: utcDateTime; /** * Gets or sets the event severity. */ - @visibility("read") + @visibility(Lifecycle.Read) severity?: string; /** * Gets or sets the event description. */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** * Gets or sets the event correlation Id. */ - @visibility("read") + @visibility(Lifecycle.Read) correlationId?: string; /** * Gets or sets the errors associated with this event. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) healthErrors?: HealthErrorModel[]; /** @@ -800,7 +800,7 @@ model EventModelProperties { /** * Gets or sets the provisioning state of the event. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -821,74 +821,74 @@ model HealthErrorModel { /** * Gets or sets a list of child health errors associated with this error. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) childErrors?: InnerHealthErrorModel[]; /** * Gets or sets the error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: string; /** * Gets or sets the health category. */ - @visibility("read") + @visibility(Lifecycle.Read) healthCategory?: string; /** * Gets or sets the error category. */ - @visibility("read") + @visibility(Lifecycle.Read) category?: string; /** * Gets or sets the error severity. */ - @visibility("read") + @visibility(Lifecycle.Read) severity?: string; /** * Gets or sets the error source. */ - @visibility("read") + @visibility(Lifecycle.Read) source?: string; /** * Gets or sets the error creation time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. creationTime?: utcDateTime; /** * Gets or sets a value indicating whether the error is customer resolvable. */ - @visibility("read") + @visibility(Lifecycle.Read) isCustomerResolvable?: boolean; /** * Gets or sets the error summary. */ - @visibility("read") + @visibility(Lifecycle.Read) summary?: string; /** * Gets or sets the error message. */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string; /** * Gets or sets possible causes of the error. */ - @visibility("read") + @visibility(Lifecycle.Read) causes?: string; /** * Gets or sets recommended action to resolve the error. */ - @visibility("read") + @visibility(Lifecycle.Read) recommendation?: string; } @@ -899,68 +899,68 @@ model InnerHealthErrorModel { /** * Gets or sets the error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: string; /** * Gets or sets the health category. */ - @visibility("read") + @visibility(Lifecycle.Read) healthCategory?: string; /** * Gets or sets the error category. */ - @visibility("read") + @visibility(Lifecycle.Read) category?: string; /** * Gets or sets the error severity. */ - @visibility("read") + @visibility(Lifecycle.Read) severity?: string; /** * Gets or sets the error source. */ - @visibility("read") + @visibility(Lifecycle.Read) source?: string; /** * Gets or sets the error creation time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. creationTime?: utcDateTime; /** * Gets or sets a value indicating whether the error is customer resolvable. */ - @visibility("read") + @visibility(Lifecycle.Read) isCustomerResolvable?: boolean; /** * Gets or sets the error summary. */ - @visibility("read") + @visibility(Lifecycle.Read) summary?: string; /** * Gets or sets the error message. */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string; /** * Gets or sets possible causes of the error. */ - @visibility("read") + @visibility(Lifecycle.Read) causes?: string; /** * Gets or sets recommended action to resolve the error. */ - @visibility("read") + @visibility(Lifecycle.Read) recommendation?: string; } @@ -979,32 +979,32 @@ model FabricModelProperties { /** * Gets or sets the provisioning state of the fabric. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Gets or sets the service endpoint. */ - @visibility("read") + @visibility(Lifecycle.Read) serviceEndpoint?: string; /** * Gets or sets the service resource Id. */ - @visibility("read") + @visibility(Lifecycle.Read) serviceResourceId?: string; /** * Gets or sets the fabric health. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: HealthStatus; /** * Gets or sets the list of health errors. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) healthErrors?: HealthErrorModel[]; /** @@ -1039,25 +1039,25 @@ model FabricModelUpdate { /** * Gets or sets the Id of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * Gets or sets the name of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * Gets or sets the type of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * Metadata pertaining to creation and last modification of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) systemData?: SystemData; } @@ -1068,7 +1068,7 @@ model FabricAgentModelProperties { /** * Gets or sets the fabric agent correlation Id. */ - @visibility("read") + @visibility(Lifecycle.Read) correlationId?: string; /** @@ -1096,33 +1096,33 @@ model FabricAgentModelProperties { /** * Gets or sets a value indicating whether the fabric agent is responsive. */ - @visibility("read") + @visibility(Lifecycle.Read) isResponsive?: boolean; /** * Gets or sets the time when last heartbeat was sent by the fabric agent. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastHeartbeat?: utcDateTime; /** * Gets or sets the fabric agent version. */ - @visibility("read") + @visibility(Lifecycle.Read) versionNumber?: string; /** * Gets or sets the provisioning state of the fabric agent. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Gets or sets the list of health errors. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) healthErrors?: HealthErrorModel[]; /** @@ -1181,101 +1181,101 @@ model JobModelProperties { /** * Gets or sets the friendly display name. */ - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; /** * Gets or sets the job state. */ - @visibility("read") + @visibility(Lifecycle.Read) state?: JobState; /** * Gets or sets the start time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * Gets or sets the end time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; /** * Gets or sets the affected object Id. */ - @visibility("read") + @visibility(Lifecycle.Read) objectId?: string; /** * Gets or sets the affected object name. */ - @visibility("read") + @visibility(Lifecycle.Read) objectName?: string; /** * Gets or sets the affected object internal Id. */ - @visibility("read") + @visibility(Lifecycle.Read) objectInternalId?: string; /** * Gets or sets the affected object internal name. */ - @visibility("read") + @visibility(Lifecycle.Read) objectInternalName?: string; /** * Gets or sets the object type. */ - @visibility("read") + @visibility(Lifecycle.Read) objectType?: JobObjectType; /** * Gets or sets the replication provider. */ - @visibility("read") + @visibility(Lifecycle.Read) replicationProviderId?: string; /** * Gets or sets the source fabric provider. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceFabricProviderId?: string; /** * Gets or sets the target fabric provider. */ - @visibility("read") + @visibility(Lifecycle.Read) targetFabricProviderId?: string; /** * Gets or sets the list of allowed actions on the job. */ - @visibility("read") + @visibility(Lifecycle.Read) allowedActions?: string[]; /** * Gets or sets the job activity id. */ - @visibility("read") + @visibility(Lifecycle.Read) activityId?: string; /** * Gets or sets the list of tasks. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) tasks?: TaskModel[]; /** * Gets or sets the list of errors. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) errors?: ErrorModel[]; /** @@ -1286,7 +1286,7 @@ model JobModelProperties { /** * Gets or sets the provisioning state of the job. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -1297,26 +1297,26 @@ model TaskModel { /** * Gets or sets the task name. */ - @visibility("read") + @visibility(Lifecycle.Read) taskName?: string; /** * Gets or sets the task state. */ - @visibility("read") + @visibility(Lifecycle.Read) state?: TaskState; /** * Gets or sets the start time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * Gets or sets the end time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; @@ -1328,7 +1328,7 @@ model TaskModel { /** * Gets or sets the list of children job models. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) childrenJobs?: JobModel[]; } @@ -1350,44 +1350,44 @@ model ErrorModel { /** * Gets or sets the error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: string; /** * Gets or sets the error type. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * Gets or sets the error severity. */ - @visibility("read") + @visibility(Lifecycle.Read) severity?: string; /** * Gets or sets the creation time of error. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. creationTime?: utcDateTime; /** * Gets or sets the error message. */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string; /** * Gets or sets the possible causes of error. */ - @visibility("read") + @visibility(Lifecycle.Read) causes?: string; /** * Gets or sets the recommended action to resolve error. */ - @visibility("read") + @visibility(Lifecycle.Read) recommendation?: string; } @@ -1401,7 +1401,7 @@ model JobModelCustomProperties { * Gets or sets any custom properties of the affected object. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" - @visibility("read") + @visibility(Lifecycle.Read) affectedObjectDetails?: { description?: string; type?: "object"; @@ -1415,7 +1415,7 @@ model PolicyModelProperties { /** * Gets or sets the provisioning state of the policy. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** @@ -1439,7 +1439,7 @@ model PrivateEndpointConnectionResponseProperties { /** * Gets or sets provisioning state of the private endpoint connection. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** @@ -1490,7 +1490,7 @@ model PrivateEndpointConnectionProxyProperties { /** * Gets or sets the provisioning state of the private endpoint connection proxy. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** @@ -1512,25 +1512,25 @@ model RemotePrivateEndpoint { /** * Gets or sets the list of Private Link Service Connections and gets populated for Auto approval flow. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) privateLinkServiceConnections?: PrivateLinkServiceConnection[]; /** * Gets or sets the list of Manual Private Link Service Connections and gets populated for Manual approval flow. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) manualPrivateLinkServiceConnections?: PrivateLinkServiceConnection[]; /** * Gets or sets the list of private link service proxies. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) privateLinkServiceProxies?: PrivateLinkServiceProxy[]; /** * Gets or sets the list of Connection Details. This is the connection details for private endpoint. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) connectionDetails?: ConnectionDetails[]; } @@ -1576,7 +1576,7 @@ model PrivateLinkServiceProxy { /** * Gets or sets group connectivity information. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) groupConnectivityInformation?: GroupConnectivityInformation[]; } @@ -1677,7 +1677,7 @@ model PrivateLinkResourceProperties { /** * Gets or sets the provisioning state of the private link resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -1700,161 +1700,161 @@ model ProtectedItemModelProperties { /** * Gets or sets the protected item correlation Id. */ - @visibility("read") + @visibility(Lifecycle.Read) correlationId?: string; /** * Gets or sets the provisioning state of the fabric agent. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Gets or sets the protection state. */ - @visibility("read") + @visibility(Lifecycle.Read) protectionState?: ProtectionState; /** * Gets or sets the protection state description. */ - @visibility("read") + @visibility(Lifecycle.Read) protectionStateDescription?: string; /** * Gets or sets the test failover state. */ - @visibility("read") + @visibility(Lifecycle.Read) testFailoverState?: TestFailoverState; /** * Gets or sets the Test failover state description. */ - @visibility("read") + @visibility(Lifecycle.Read) testFailoverStateDescription?: string; /** * Gets or sets the resynchronization state. */ - @visibility("read") + @visibility(Lifecycle.Read) resynchronizationState?: ResynchronizationState; /** * Gets or sets the fabric object Id. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricObjectId?: string; /** * Gets or sets the fabric object name. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricObjectName?: string; /** * Gets or sets the source fabric provider Id. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceFabricProviderId?: string; /** * Gets or sets the target fabric provider Id. */ - @visibility("read") + @visibility(Lifecycle.Read) targetFabricProviderId?: string; /** * Gets or sets the fabric Id. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricId?: string; /** * Gets or sets the target fabric Id. */ - @visibility("read") + @visibility(Lifecycle.Read) targetFabricId?: string; /** * Gets or sets the fabric agent Id. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricAgentId?: string; /** * Gets or sets the target fabric agent Id. */ - @visibility("read") + @visibility(Lifecycle.Read) targetFabricAgentId?: string; /** * Gets or sets a value indicating whether resynchronization is required or not. */ - @visibility("read") + @visibility(Lifecycle.Read) resyncRequired?: boolean; /** * Gets or sets the Last successful planned failover time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastSuccessfulPlannedFailoverTime?: utcDateTime; /** * Gets or sets the Last successful unplanned failover time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastSuccessfulUnplannedFailoverTime?: utcDateTime; /** * Gets or sets the Last successful test failover time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastSuccessfulTestFailoverTime?: utcDateTime; /** * Gets or sets the current scenario. */ - @visibility("read") + @visibility(Lifecycle.Read) currentJob?: ProtectedItemJobProperties; /** * Gets or sets the allowed scenarios on the protected item. */ - @visibility("read") + @visibility(Lifecycle.Read) allowedJobs?: string[]; /** * Gets or sets the last failed enabled protection job. */ - @visibility("read") + @visibility(Lifecycle.Read) lastFailedEnableProtectionJob?: ProtectedItemJobProperties; /** * Gets or sets the last failed planned failover job. */ - @visibility("read") + @visibility(Lifecycle.Read) lastFailedPlannedFailoverJob?: ProtectedItemJobProperties; /** * Gets or sets the last test failover job. */ - @visibility("read") + @visibility(Lifecycle.Read) lastTestFailoverJob?: ProtectedItemJobProperties; /** * Gets or sets protected item replication health. */ - @visibility("read") + @visibility(Lifecycle.Read) replicationHealth?: HealthStatus; /** * Gets or sets the list of health errors. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) healthErrors?: HealthErrorModel[]; /** @@ -1870,44 +1870,44 @@ model ProtectedItemJobProperties { /** * Gets or sets protection scenario name. */ - @visibility("read") + @visibility(Lifecycle.Read) scenarioName?: string; /** * Gets or sets job Id. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * Gets or sets job name. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * Gets or sets the job friendly display name. */ - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; /** * Gets or sets job state. */ - @visibility("read") + @visibility(Lifecycle.Read) state?: string; /** * Gets or sets start time of the job. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * Gets or sets end time of the job. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; } @@ -1932,25 +1932,25 @@ model ProtectedItemModelUpdate { /** * Gets or sets the Id of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * Gets or sets the name of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * Gets or sets the type of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * Metadata pertaining to creation and last modification of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) systemData?: SystemData; } @@ -2023,7 +2023,7 @@ model RecoveryPointModelProperties { /** * Gets or sets the provisioning state of the recovery point item. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -2042,7 +2042,7 @@ model ReplicationExtensionModelProperties { /** * Gets or sets the provisioning state of the replication extension. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** @@ -2101,7 +2101,7 @@ model DeploymentPreflightModel { /** * Gets or sets the list of resources. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) resources?: DeploymentPreflightResource[]; } @@ -2122,7 +2122,7 @@ model DeploymentPreflightResource { /** * Gets or sets the location of the resource. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) location?: string; /** @@ -2174,13 +2174,13 @@ model VaultModelProperties { /** * Gets or sets the provisioning state of the vault. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Gets or sets the service resource Id. */ - @visibility("read") + @visibility(Lifecycle.Read) serviceResourceId?: string; /** @@ -2201,13 +2201,13 @@ model VaultIdentityModel { /** * Gets or sets the object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource. */ - @visibility("read") + @visibility(Lifecycle.Read) principalId?: string; /** * Gets or sets a Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member. */ - @visibility("read") + @visibility(Lifecycle.Read) tenantId?: string; } @@ -2234,25 +2234,25 @@ model VaultModelUpdate { /** * Gets or sets the Id of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * Gets or sets the name of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * Gets or sets the type of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * Metadata pertaining to creation and last modification of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) systemData?: SystemData; } @@ -2282,7 +2282,7 @@ model AzStackHCIClusterProperties { /** * Gets or sets the list of AzStackHCICluster Storage Container. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) storageContainers: StorageContainerProperties[]; } @@ -2318,7 +2318,7 @@ model AzStackHCIFabricModelCustomProperties /** * Gets or sets the Appliance name. */ - @visibility("read") + @visibility(Lifecycle.Read) applianceName?: string[]; /** @@ -2329,13 +2329,13 @@ model AzStackHCIFabricModelCustomProperties /** * Gets or sets the fabric resource Id. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricResourceId?: string; /** * Gets or sets the fabric container Id. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricContainerId?: string; /** @@ -2347,7 +2347,7 @@ model AzStackHCIFabricModelCustomProperties /** * Gets or sets the migration hub Uri. */ - @visibility("read") + @visibility(Lifecycle.Read) migrationHubUri?: string; /** @@ -2384,8 +2384,8 @@ model FailoverJobModelCustomProperties extends JobModelCustomProperties { /** * Gets or sets the failed over protected item details. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) protectedItemDetails?: FailoverProtectedItemProperties[]; /** @@ -2401,44 +2401,44 @@ model FailoverProtectedItemProperties { /** * Gets or sets the protected item name. */ - @visibility("read") + @visibility(Lifecycle.Read) protectedItemName?: string; /** * Gets or sets the VM name. */ - @visibility("read") + @visibility(Lifecycle.Read) vmName?: string; /** * Gets or sets the test VM name. */ - @visibility("read") + @visibility(Lifecycle.Read) testVmName?: string; /** * Gets or sets the recovery point Id. */ - @visibility("read") + @visibility(Lifecycle.Read) recoveryPointId?: string; /** * Gets or sets the recovery point time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. recoveryPointTime?: utcDateTime; /** * Gets or sets the network name. */ - @visibility("read") + @visibility(Lifecycle.Read) networkName?: string; /** * Gets or sets the network subnet. */ - @visibility("read") + @visibility(Lifecycle.Read) subnet?: string; } @@ -2458,13 +2458,13 @@ model HyperVMigrateFabricModelCustomProperties /** * Gets or sets the fabric resource Id. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricResourceId?: string; /** * Gets or sets the fabric container Id. */ - @visibility("read") + @visibility(Lifecycle.Read) fabricContainerId?: string; /** @@ -2476,7 +2476,7 @@ model HyperVMigrateFabricModelCustomProperties /** * Gets or sets the migration hub Uri. */ - @visibility("read") + @visibility(Lifecycle.Read) migrationHubUri?: string; /** @@ -2557,31 +2557,31 @@ model HyperVToAzStackHCIEventModelCustomProperties /** * Gets or sets the friendly name of the source which has raised this health event. */ - @visibility("read") + @visibility(Lifecycle.Read) eventSourceFriendlyName?: string; /** * Gets or sets the protected item friendly name. */ - @visibility("read") + @visibility(Lifecycle.Read) protectedItemFriendlyName?: string; /** * Gets or sets the source appliance name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceApplianceName?: string; /** * Gets or sets the source target name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetApplianceName?: string; /** * Gets or sets the server type. */ - @visibility("read") + @visibility(Lifecycle.Read) serverType?: string; /** @@ -2604,7 +2604,7 @@ model HyperVToAzStackHCINicInput { /** * Gets or sets the network name. */ - @visibility("read") + @visibility(Lifecycle.Read) networkName?: string; /** @@ -2685,85 +2685,85 @@ model HyperVToAzStackHCIProtectedDiskProperties { /** * Gets or sets the ARM Id of the storage container. */ - @visibility("read") + @visibility(Lifecycle.Read) storageContainerId?: string; /** * Gets or sets the local path of the storage container. */ - @visibility("read") + @visibility(Lifecycle.Read) storageContainerLocalPath?: string; /** * Gets or sets the source disk Id. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceDiskId?: string; /** * Gets or sets the source disk Name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceDiskName?: string; /** * Gets or sets the seed disk name. */ - @visibility("read") + @visibility(Lifecycle.Read) seedDiskName?: string; /** * Gets or sets the test failover clone disk. */ - @visibility("read") + @visibility(Lifecycle.Read) testMigrateDiskName?: string; /** * Gets or sets the failover clone disk. */ - @visibility("read") + @visibility(Lifecycle.Read) migrateDiskName?: string; /** * Gets or sets a value indicating whether the disk is the OS disk. */ - @visibility("read") + @visibility(Lifecycle.Read) isOsDisk?: boolean; /** * Gets or sets the disk capacity in bytes. */ - @visibility("read") + @visibility(Lifecycle.Read) capacityInBytes?: int64; /** * Gets or sets a value indicating whether dynamic sizing is enabled on the virtual hard disk. */ - @visibility("read") + @visibility(Lifecycle.Read) isDynamic?: boolean; /** * Gets or sets the disk type. */ - @visibility("read") + @visibility(Lifecycle.Read) diskType?: string; /** * Gets or sets a value of disk block size. */ - @visibility("read") + @visibility(Lifecycle.Read) diskBlockSize?: int64; /** * Gets or sets a value of disk logical sector size. */ - @visibility("read") + @visibility(Lifecycle.Read) diskLogicalSectorSize?: int64; /** * Gets or sets a value of disk physical sector size. */ - @visibility("read") + @visibility(Lifecycle.Read) diskPhysicalSectorSize?: int64; } @@ -2776,7 +2776,7 @@ model HyperVToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the location of the protected item. */ - @visibility("read") + @visibility(Lifecycle.Read) activeLocation?: ProtectedItemActiveLocation; /** @@ -2794,7 +2794,7 @@ model HyperVToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the Target AzStackHCI cluster name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetAzStackHciClusterName?: string; /** @@ -2806,31 +2806,31 @@ model HyperVToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the list of disks to replicate. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) disksToInclude: HyperVToAzStackHCIDiskInput[]; /** * Gets or sets the list of VM NIC to replicate. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) nicsToInclude: HyperVToAzStackHCINicInput[]; /** * Gets or sets the source VM display name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceVmName?: string; /** * Gets or sets the source VM CPU cores. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceCpuCores?: int32; /** * Gets or sets the source VM ram memory size in megabytes. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceMemoryInMegaBytes?: float64; /** @@ -2907,37 +2907,37 @@ model HyperVToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the source appliance name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceApplianceName?: string; /** * Gets or sets the target appliance name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetApplianceName?: string; /** * Gets or sets the type of the OS. */ - @visibility("read") + @visibility(Lifecycle.Read) osType?: string; /** * Gets or sets the name of the OS. */ - @visibility("read") + @visibility(Lifecycle.Read) osName?: string; /** * Gets or sets the firmware type. */ - @visibility("read") + @visibility(Lifecycle.Read) firmwareType?: string; /** * Gets or sets the target location. */ - @visibility("read") + @visibility(Lifecycle.Read) targetLocation?: string; /** @@ -2949,58 +2949,58 @@ model HyperVToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the recovery point Id to which the VM was failed over. */ - @visibility("read") + @visibility(Lifecycle.Read) failoverRecoveryPointId?: string; /** * Gets or sets the last recovery point received time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastRecoveryPointReceived?: utcDateTime; /** * Gets or sets the last recovery point Id. */ - @visibility("read") + @visibility(Lifecycle.Read) lastRecoveryPointId?: string; /** * Gets or sets the initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM. */ - @visibility("read") + @visibility(Lifecycle.Read) initialReplicationProgressPercentage?: int32; /** * Gets or sets the resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM. */ - @visibility("read") + @visibility(Lifecycle.Read) resyncProgressPercentage?: int32; /** * Gets or sets the list of protected disks. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) protectedDisks?: HyperVToAzStackHCIProtectedDiskProperties[]; /** * Gets or sets the VM NIC details. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) protectedNics?: HyperVToAzStackHCIProtectedNicProperties[]; /** * Gets or sets the BIOS Id of the target AzStackHCI VM. */ - @visibility("read") + @visibility(Lifecycle.Read) targetVmBiosId?: string; /** * Gets or sets the latest timestamp that replication status is updated. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastReplicationUpdateTime?: utcDateTime; @@ -3038,37 +3038,37 @@ model HyperVToAzStackHCIProtectedNicProperties { /** * Gets or sets the NIC Id. */ - @visibility("read") + @visibility(Lifecycle.Read) nicId?: string; /** * Gets or sets the NIC mac address. */ - @visibility("read") + @visibility(Lifecycle.Read) macAddress?: string; /** * Gets or sets the network name. */ - @visibility("read") + @visibility(Lifecycle.Read) networkName?: string; /** * Gets or sets the target network Id within AzStackHCI Cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) targetNetworkId?: string; /** * Gets or sets the target test network Id within AzStackHCI Cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) testNetworkId?: string; /** * Gets or sets the selection type of the NIC. */ - @visibility("read") + @visibility(Lifecycle.Read) selectionTypeForFailover?: VMNicSelection; } @@ -3081,7 +3081,7 @@ model HyperVToAzStackHCIProtectedItemModelCustomPropertiesUpdate /** * Gets or sets the list of VM NIC to replicate. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) nicsToInclude?: HyperVToAzStackHCINicInput[]; /** @@ -3124,7 +3124,7 @@ model HyperVToAzStackHCIRecoveryPointModelCustomProperties /** * Gets or sets the list of the disk Ids. */ - @visibility("read") + @visibility(Lifecycle.Read) diskIds?: string[]; /** @@ -3148,7 +3148,7 @@ model HyperVToAzStackHCIReplicationExtensionModelCustomProperties /** * Gets or sets the ARM Id of the HyperV site. */ - @visibility("read") + @visibility(Lifecycle.Read) hyperVSiteId?: string; /** @@ -3160,7 +3160,7 @@ model HyperVToAzStackHCIReplicationExtensionModelCustomProperties /** * Gets or sets the ARM Id of the AzStackHCI site. */ - @visibility("read") + @visibility(Lifecycle.Read) azStackHciSiteId?: string; /** @@ -3176,61 +3176,61 @@ model HyperVToAzStackHCIReplicationExtensionModelCustomProperties /** * Gets or sets the Uri of ASR. */ - @visibility("read") + @visibility(Lifecycle.Read) asrServiceUri?: string; /** * Gets or sets the Uri of Rcm. */ - @visibility("read") + @visibility(Lifecycle.Read) rcmServiceUri?: string; /** * Gets or sets the Uri of Gateway. */ - @visibility("read") + @visibility(Lifecycle.Read) gatewayServiceUri?: string; /** * Gets or sets the gateway service Id of source. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceGatewayServiceId?: string; /** * Gets or sets the gateway service Id of target. */ - @visibility("read") + @visibility(Lifecycle.Read) targetGatewayServiceId?: string; /** * Gets or sets the source storage container name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceStorageContainerName?: string; /** * Gets or sets the target storage container name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetStorageContainerName?: string; /** * Gets or sets the resource location. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceLocation?: string; /** * Gets or sets the subscription. */ - @visibility("read") + @visibility(Lifecycle.Read) subscriptionId?: string; /** * Gets or sets the resource group. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceGroup?: string; /** @@ -3296,7 +3296,7 @@ model OperationModelCollection { /** * Gets or sets the list of operations. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) value?: OperationModel[]; /** @@ -3350,7 +3350,7 @@ model TestFailoverCleanupJobModelCustomProperties /** * Gets or sets the test failover cleanup comments. */ - @visibility("read") + @visibility(Lifecycle.Read) comments?: string; /** @@ -3366,8 +3366,8 @@ model TestFailoverJobModelCustomProperties extends JobModelCustomProperties { /** * Gets or sets the test VM details. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) protectedItemDetails?: FailoverProtectedItemProperties[]; /** @@ -3495,31 +3495,31 @@ model VMwareToAzStackHCIEventModelCustomProperties /** * Gets or sets the friendly name of the source which has raised this health event. */ - @visibility("read") + @visibility(Lifecycle.Read) eventSourceFriendlyName?: string; /** * Gets or sets the protected item friendly name. */ - @visibility("read") + @visibility(Lifecycle.Read) protectedItemFriendlyName?: string; /** * Gets or sets the source appliance name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceApplianceName?: string; /** * Gets or sets the source target name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetApplianceName?: string; /** * Gets or sets the server type. */ - @visibility("read") + @visibility(Lifecycle.Read) serverType?: string; /** @@ -3548,7 +3548,7 @@ model VMwareToAzStackHCINicInput { /** * Gets or sets the network name. */ - @visibility("read") + @visibility(Lifecycle.Read) networkName?: string; /** @@ -3629,85 +3629,85 @@ model VMwareToAzStackHCIProtectedDiskProperties { /** * Gets or sets the ARM Id of the storage container. */ - @visibility("read") + @visibility(Lifecycle.Read) storageContainerId?: string; /** * Gets or sets the local path of the storage container. */ - @visibility("read") + @visibility(Lifecycle.Read) storageContainerLocalPath?: string; /** * Gets or sets the source disk Id. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceDiskId?: string; /** * Gets or sets the source disk Name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceDiskName?: string; /** * Gets or sets the seed disk name. */ - @visibility("read") + @visibility(Lifecycle.Read) seedDiskName?: string; /** * Gets or sets the test failover clone disk. */ - @visibility("read") + @visibility(Lifecycle.Read) testMigrateDiskName?: string; /** * Gets or sets the failover clone disk. */ - @visibility("read") + @visibility(Lifecycle.Read) migrateDiskName?: string; /** * Gets or sets a value indicating whether the disk is the OS disk. */ - @visibility("read") + @visibility(Lifecycle.Read) isOsDisk?: boolean; /** * Gets or sets the disk capacity in bytes. */ - @visibility("read") + @visibility(Lifecycle.Read) capacityInBytes?: int64; /** * Gets or sets a value indicating whether dynamic sizing is enabled on the virtual hard disk. */ - @visibility("read") + @visibility(Lifecycle.Read) isDynamic?: boolean; /** * Gets or sets the disk type. */ - @visibility("read") + @visibility(Lifecycle.Read) diskType?: string; /** * Gets or sets a value of disk block size. */ - @visibility("read") + @visibility(Lifecycle.Read) diskBlockSize?: int64; /** * Gets or sets a value of disk logical sector size. */ - @visibility("read") + @visibility(Lifecycle.Read) diskLogicalSectorSize?: int64; /** * Gets or sets a value of disk physical sector size. */ - @visibility("read") + @visibility(Lifecycle.Read) diskPhysicalSectorSize?: int64; } @@ -3720,7 +3720,7 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the location of the protected item. */ - @visibility("read") + @visibility(Lifecycle.Read) activeLocation?: ProtectedItemActiveLocation; /** @@ -3738,7 +3738,7 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the Target AzStackHCI cluster name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetAzStackHciClusterName?: string; /** @@ -3756,7 +3756,7 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the target location. */ - @visibility("read") + @visibility(Lifecycle.Read) targetLocation?: string; /** @@ -3768,33 +3768,33 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the list of disks to replicate. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) disksToInclude: VMwareToAzStackHCIDiskInput[]; /** * Gets or sets the list of VM NIC to replicate. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) nicsToInclude: VMwareToAzStackHCINicInput[]; /** * Gets or sets the list of protected disks. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) protectedDisks?: VMwareToAzStackHCIProtectedDiskProperties[]; /** * Gets or sets the VM NIC details. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) protectedNics?: VMwareToAzStackHCIProtectedNicProperties[]; /** * Gets or sets the BIOS Id of the target AzStackHCI VM. */ - @visibility("read") + @visibility(Lifecycle.Read) targetVmBiosId?: string; /** @@ -3842,19 +3842,19 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the type of the OS. */ - @visibility("read") + @visibility(Lifecycle.Read) osType?: string; /** * Gets or sets the name of the OS. */ - @visibility("read") + @visibility(Lifecycle.Read) osName?: string; /** * Gets or sets the firmware type. */ - @visibility("read") + @visibility(Lifecycle.Read) firmwareType?: string; /** @@ -3866,19 +3866,19 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the source VM display name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceVmName?: string; /** * Gets or sets the source VM CPU cores. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceCpuCores?: int32; /** * Gets or sets the source VM ram memory size in megabytes. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceMemoryInMegaBytes?: float64; /** @@ -3902,74 +3902,74 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the source appliance name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceApplianceName?: string; /** * Gets or sets the target appliance name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetApplianceName?: string; /** * Gets or sets the recovery point Id to which the VM was failed over. */ - @visibility("read") + @visibility(Lifecycle.Read) failoverRecoveryPointId?: string; /** * Gets or sets the last recovery point received time. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastRecoveryPointReceived?: utcDateTime; /** * Gets or sets the last recovery point Id. */ - @visibility("read") + @visibility(Lifecycle.Read) lastRecoveryPointId?: string; /** * Gets or sets the initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM. */ - @visibility("read") + @visibility(Lifecycle.Read) initialReplicationProgressPercentage?: int32; /** * Gets or sets the migration progress percentage. */ - @visibility("read") + @visibility(Lifecycle.Read) migrationProgressPercentage?: int32; /** * Gets or sets the resume progress percentage. */ - @visibility("read") + @visibility(Lifecycle.Read) resumeProgressPercentage?: int32; /** * Gets or sets the resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM. */ - @visibility("read") + @visibility(Lifecycle.Read) resyncProgressPercentage?: int32; /** * Gets or sets the resync retry count. */ - @visibility("read") + @visibility(Lifecycle.Read) resyncRetryCount?: int64; /** * Gets or sets a value indicating whether resync is required. */ - @visibility("read") + @visibility(Lifecycle.Read) resyncRequired?: boolean; /** * Gets or sets the resync state. */ - @visibility("read") + @visibility(Lifecycle.Read) resyncState?: VMwareToAzureMigrateResyncState; /** @@ -3980,13 +3980,13 @@ model VMwareToAzStackHCIProtectedItemModelCustomProperties /** * Gets or sets the resume retry count. */ - @visibility("read") + @visibility(Lifecycle.Read) resumeRetryCount?: int64; /** * Gets or sets the latest timestamp that replication status is updated. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastReplicationUpdateTime?: utcDateTime; @@ -4004,19 +4004,19 @@ model VMwareToAzStackHCIProtectedNicProperties { /** * Gets or sets the NIC Id. */ - @visibility("read") + @visibility(Lifecycle.Read) nicId?: string; /** * Gets or sets the NIC mac address. */ - @visibility("read") + @visibility(Lifecycle.Read) macAddress?: string; /** * Gets or sets the NIC label. */ - @visibility("read") + @visibility(Lifecycle.Read) label?: string; /** @@ -4027,25 +4027,25 @@ model VMwareToAzStackHCIProtectedNicProperties { /** * Gets or sets the network name. */ - @visibility("read") + @visibility(Lifecycle.Read) networkName?: string; /** * Gets or sets the target network Id within AzStackHCI Cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) targetNetworkId?: string; /** * Gets or sets the target test network Id within AzStackHCI Cluster. */ - @visibility("read") + @visibility(Lifecycle.Read) testNetworkId?: string; /** * Gets or sets the selection type of the NIC. */ - @visibility("read") + @visibility(Lifecycle.Read) selectionTypeForFailover?: VMNicSelection; } @@ -4058,7 +4058,7 @@ model VMwareToAzStackHCIProtectedItemModelCustomPropertiesUpdate /** * Gets or sets the list of VM NIC to replicate. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) nicsToInclude?: VMwareToAzStackHCINicInput[]; /** @@ -4101,7 +4101,7 @@ model VMwareToAzStackHCIRecoveryPointModelCustomProperties /** * Gets or sets the list of the disk Ids. */ - @visibility("read") + @visibility(Lifecycle.Read) diskIds?: string[]; /** @@ -4125,7 +4125,7 @@ model VMwareToAzStackHCIReplicationExtensionModelCustomProperties /** * Gets or sets the ARM Id of the VMware site. */ - @visibility("read") + @visibility(Lifecycle.Read) vmwareSiteId?: string; /** @@ -4137,7 +4137,7 @@ model VMwareToAzStackHCIReplicationExtensionModelCustomProperties /** * Gets or sets the ARM Id of the AzStackHCI site. */ - @visibility("read") + @visibility(Lifecycle.Read) azStackHciSiteId?: string; /** @@ -4153,61 +4153,61 @@ model VMwareToAzStackHCIReplicationExtensionModelCustomProperties /** * Gets or sets the Uri of ASR. */ - @visibility("read") + @visibility(Lifecycle.Read) asrServiceUri?: string; /** * Gets or sets the Uri of Rcm. */ - @visibility("read") + @visibility(Lifecycle.Read) rcmServiceUri?: string; /** * Gets or sets the Uri of Gateway. */ - @visibility("read") + @visibility(Lifecycle.Read) gatewayServiceUri?: string; /** * Gets or sets the gateway service Id of source. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceGatewayServiceId?: string; /** * Gets or sets the gateway service Id of target. */ - @visibility("read") + @visibility(Lifecycle.Read) targetGatewayServiceId?: string; /** * Gets or sets the source storage container name. */ - @visibility("read") + @visibility(Lifecycle.Read) sourceStorageContainerName?: string; /** * Gets or sets the target storage container name. */ - @visibility("read") + @visibility(Lifecycle.Read) targetStorageContainerName?: string; /** * Gets or sets the resource location. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceLocation?: string; /** * Gets or sets the subscription. */ - @visibility("read") + @visibility(Lifecycle.Read) subscriptionId?: string; /** * Gets or sets the resource group. */ - @visibility("read") + @visibility(Lifecycle.Read) resourceGroup?: string; /** diff --git a/specification/riskiq/Easm/main.tsp b/specification/riskiq/Easm/main.tsp index 4d39bd056309..b05eb8bf0757 100644 --- a/specification/riskiq/Easm/main.tsp +++ b/specification/riskiq/Easm/main.tsp @@ -25,9 +25,7 @@ using TypeSpec.Versioning; ]> ) @versioned(Easm.Versions) -@service({ - title: "Defender EASM", -}) +@service(#{ title: "Defender EASM" }) @server( "{endpoint}", "", diff --git a/specification/riskiq/Easm/models.tsp b/specification/riskiq/Easm/models.tsp index f4f4a7ca0f76..42e8c71fe677 100644 --- a/specification/riskiq/Easm/models.tsp +++ b/specification/riskiq/Easm/models.tsp @@ -235,7 +235,7 @@ model AssetResource { @doc("The system generated unique id for the resource.") @key("assetId") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("The caller provided unique name for the resource.") @@ -518,7 +518,7 @@ model DataConnection { @doc("The caller provided unique name for the resource.") @key("dataConnectionName") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The name that can be used for display purposes.") @@ -528,7 +528,7 @@ model DataConnection { content?: DataConnectionContent; @doc("The date the data connection was created.") - @visibility("read") + @visibility(Lifecycle.Read) createdDate?: utcDateTime; @doc("The rate at which the data connection will receive updates.") @@ -538,18 +538,18 @@ model DataConnection { frequencyOffset?: int32; @doc("The date the data connection was last updated.") - @visibility("read") + @visibility(Lifecycle.Read) updatedDate?: utcDateTime; @doc("The date the data connection was last updated by user.") - @visibility("read") + @visibility(Lifecycle.Read) userUpdatedAt?: utcDateTime; @doc("An indicator of whether the data connection is active.") active?: boolean; @doc("A message that specifies details about data connection if inactive.") - @visibility("read") + @visibility(Lifecycle.Read) inactiveMessage?: string; } @@ -624,16 +624,16 @@ model ActionParameters { @resource("policies") model Policy { @doc("This is typically the same as the name but might be different for different models.") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("The caller provided unique name for the resource.") @key("policyName") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The name that can be used for display purposes.") - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; @doc("A human readable description of what the policy should do.") @@ -646,19 +646,19 @@ model Policy { action: PolicyAction; @doc("Number of assets in inventory that have been updated by this policy.") - @visibility("read") + @visibility(Lifecycle.Read) updatedAssetsCount?: int64; @doc("The unique name of the user that created the policy user@gmail.com") - @visibility("read") + @visibility(Lifecycle.Read) user?: string; @doc("The date this policy was created, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) createdDate?: utcDateTime; @doc("The date this policy was last updated, in RFC3339 format.") - @visibility("read") + @visibility(Lifecycle.Read) updatedDate?: utcDateTime; @doc("Additional parameters needed to perform the policy action.") @@ -673,7 +673,7 @@ model DiscoGroup { @doc("The caller provided unique name for the resource.") @key("groupName") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The name that can be used for display purposes.") @@ -766,7 +766,7 @@ model DiscoSource { model DiscoTemplate { @doc("The system generated unique id for the resource.") @key("templateId") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("The caller provided unique name for the resource.") @@ -1323,7 +1323,7 @@ model SavedFilter { @doc("The caller provided unique name for the resource.") @key("filterName") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The name that can be used for display purposes.") @@ -1442,7 +1442,7 @@ model SubResourceIntegrityCheck { model Task { @doc("The unique identifier of the task.") @key("taskId") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("The time the task started.") @@ -2172,7 +2172,7 @@ model RequiredFilterParameter { @Versioning.added(Versions.v2024_03_01_preview) model CisaCveResult { @key("cveId") - @visibility("read") + @visibility(Lifecycle.Read) @doc("The CVE ID of the vulnerability in the format CVE-YYYY-NNNN, note that the number portion can have more than 4 digits.") cveId: string; diff --git a/specification/schemaregistry/SchemaRegistry/main.tsp b/specification/schemaregistry/SchemaRegistry/main.tsp index 9026051b4eda..b5074fd3805e 100644 --- a/specification/schemaregistry/SchemaRegistry/main.tsp +++ b/specification/schemaregistry/SchemaRegistry/main.tsp @@ -18,9 +18,7 @@ using Azure.Core; } ]> ) -@service({ - title: "Azure Schema Registry", -}) +@service(#{ title: "Azure Schema Registry" }) // Supported operations. // GET https://{namespaceName}.servicebus.windows.net/$schemaGroups?api-version={apiVersion} @@ -275,7 +273,7 @@ model SchemaVersions { model SchemaGroup { @key("groupName") @doc("Name of schema group.") - @visibility("read") + @visibility(Lifecycle.Read) groupName: string; } @@ -285,7 +283,7 @@ model SchemaGroup { model SchemasName { @key("schemaName") @doc("Name of schema.") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(50) @pattern("^[A-Za-z0-9][^\\\\/$:]*$") schemaName: string; diff --git a/specification/scvmm/ScVmm.Management/AvailabilitySet.tsp b/specification/scvmm/ScVmm.Management/AvailabilitySet.tsp index 3377b968a9ef..9a0d8402bc7f 100644 --- a/specification/scvmm/ScVmm.Management/AvailabilitySet.tsp +++ b/specification/scvmm/ScVmm.Management/AvailabilitySet.tsp @@ -42,9 +42,7 @@ interface AvailabilitySets { @summary("Implements the AvailabilitySets PATCH method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) update is ArmTagsPatchAsync; /** Deregisters the ScVmm availability set from Azure. */ diff --git a/specification/scvmm/ScVmm.Management/BackCompat.tsp b/specification/scvmm/ScVmm.Management/BackCompat.tsp index 1d42eb88d770..c3c19443400b 100644 --- a/specification/scvmm/ScVmm.Management/BackCompat.tsp +++ b/specification/scvmm/ScVmm.Management/BackCompat.tsp @@ -1,3 +1,3 @@ import "@azure-tools/typespec-azure-core"; -@@visibility(Azure.Core.Page.nextLink, "read"); +@@visibility(Azure.Core.Page.nextLink, Lifecycle.Read); diff --git a/specification/scvmm/ScVmm.Management/Cloud.tsp b/specification/scvmm/ScVmm.Management/Cloud.tsp index 085d42feb3b9..8474ece72941 100644 --- a/specification/scvmm/ScVmm.Management/Cloud.tsp +++ b/specification/scvmm/ScVmm.Management/Cloud.tsp @@ -43,9 +43,7 @@ interface Clouds { @summary("Implements the Clouds PATCH method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) update is ArmTagsPatchAsync; /** Deregisters the ScVmm fabric cloud from Azure. */ @@ -53,9 +51,7 @@ interface Clouds { @summary("Implements Cloud resource DELETE method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) delete is ArmResourceDeleteWithoutOkAsync< Cloud, diff --git a/specification/scvmm/ScVmm.Management/GuestAgent.tsp b/specification/scvmm/ScVmm.Management/GuestAgent.tsp index d44f3bdae9cc..2d4837c99b92 100644 --- a/specification/scvmm/ScVmm.Management/GuestAgent.tsp +++ b/specification/scvmm/ScVmm.Management/GuestAgent.tsp @@ -16,7 +16,7 @@ model GuestAgent is ProxyResource { /** Name of the guest agent. */ @key("guestAgentName") @segment("guestAgents") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(54) @minLength(1) @pattern("[a-zA-Z0-9-_\\.]") diff --git a/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp b/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp index 71ca59eb3ce5..919a3fa18e66 100644 --- a/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp +++ b/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp @@ -17,7 +17,7 @@ model VirtualMachineInstance /** Name of the virtual machine instance. */ @key @segment("virtualMachineInstances") - @visibility("read") + @visibility(Lifecycle.Read) @maxLength(54) @minLength(1) @pattern("[a-zA-Z0-9-_\\.]") @@ -26,7 +26,7 @@ model VirtualMachineInstance /** Gets or sets the extended location. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "This property is allowed but not recognized by the linter" - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) extendedLocation: ExtendedLocation; } @@ -71,9 +71,7 @@ interface VirtualMachineInstances { @summary("Updates a virtual machine.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) update is ArmCustomPatchAsync< VirtualMachineInstance, @@ -84,9 +82,7 @@ interface VirtualMachineInstances { @summary("Deletes an virtual machine.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) delete is ArmResourceDeleteWithoutOkAsync< VirtualMachineInstance, diff --git a/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp b/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp index 37c6e1f848df..83c12dc55cf9 100644 --- a/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp +++ b/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp @@ -44,9 +44,7 @@ interface VirtualMachineTemplates { @summary("Implements the VirtualMachineTemplate PATCH method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) update is ArmTagsPatchAsync; /** Deregisters the ScVmm VM Template from Azure. */ @@ -54,9 +52,7 @@ interface VirtualMachineTemplates { @summary("Implements VirtualMachineTemplate DELETE method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) delete is ArmResourceDeleteWithoutOkAsync< VirtualMachineTemplate, diff --git a/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp b/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp index 0e1ef93c1ae9..d7754883a220 100644 --- a/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp +++ b/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp @@ -43,9 +43,7 @@ interface VirtualNetworks { @summary("Implements the VirtualNetworks PATCH method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) update is ArmTagsPatchAsync; /** Deregisters the ScVmm virtual network from Azure. */ @@ -53,9 +51,7 @@ interface VirtualNetworks { @summary("Implements VirtualNetwork DELETE method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) delete is ArmResourceDeleteWithoutOkAsync< VirtualNetwork, diff --git a/specification/scvmm/ScVmm.Management/VmInstanceHybridIdentityMetadata.tsp b/specification/scvmm/ScVmm.Management/VmInstanceHybridIdentityMetadata.tsp index a27edd51a540..96c394dbbc7d 100644 --- a/specification/scvmm/ScVmm.Management/VmInstanceHybridIdentityMetadata.tsp +++ b/specification/scvmm/ScVmm.Management/VmInstanceHybridIdentityMetadata.tsp @@ -22,7 +22,7 @@ model VmInstanceHybridIdentityMetadata @minLength(1) @pattern("[a-zA-Z0-9-_\\.]") @path - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/scvmm/ScVmm.Management/VmmServer.tsp b/specification/scvmm/ScVmm.Management/VmmServer.tsp index 4f8bf7a1e504..259b4b1007d0 100644 --- a/specification/scvmm/ScVmm.Management/VmmServer.tsp +++ b/specification/scvmm/ScVmm.Management/VmmServer.tsp @@ -43,9 +43,7 @@ interface VmmServers { @summary("Implements VmmServers PATCH method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) update is ArmTagsPatchAsync; /** Removes the SCVmm fabric from Azure. */ @@ -53,9 +51,7 @@ interface VmmServers { @summary("Implements VmmServers DELETE method.") @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "azure-async-operation", - } + #{ `final-state-via`: "azure-async-operation" } ) delete is ArmResourceDeleteWithoutOkAsync< VmmServer, diff --git a/specification/scvmm/ScVmm.Management/main.tsp b/specification/scvmm/ScVmm.Management/main.tsp index 0495ea0a5b84..2e06b6069957 100644 --- a/specification/scvmm/ScVmm.Management/main.tsp +++ b/specification/scvmm/ScVmm.Management/main.tsp @@ -22,9 +22,7 @@ using Azure.ResourceManager; using TypeSpec.Versioning; /** The Microsoft.ScVmm Rest API spec. */ @armProviderNamespace -@service({ - title: "ScVmm", -}) +@service(#{ title: "ScVmm" }) @versioned(Versions) namespace Microsoft.ScVmm; diff --git a/specification/scvmm/ScVmm.Management/models.tsp b/specification/scvmm/ScVmm.Management/models.tsp index 45377020ed29..8cbb84fafb90 100644 --- a/specification/scvmm/ScVmm.Management/models.tsp +++ b/specification/scvmm/ScVmm.Management/models.tsp @@ -186,23 +186,23 @@ model VmmServerProperties { port?: int32; /** Gets the connection status to the vmmServer. */ - @visibility("read") + @visibility(Lifecycle.Read) connectionStatus?: string; /** Gets any error message if connection to vmmServer is having any issue. */ - @visibility("read") + @visibility(Lifecycle.Read) errorMessage?: string; /** Unique ID of vmmServer. */ - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; /** Version is the version of the vmmSever. */ - @visibility("read") + @visibility(Lifecycle.Read) version?: string; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -212,7 +212,7 @@ model VmmCredential { username?: string; /** Password to use to connect to VmmServer. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret password?: string; } @@ -243,34 +243,34 @@ model CloudProperties { vmmServerId?: VmmServerId; /** Name of the cloud in VmmServer. */ - @visibility("read") + @visibility(Lifecycle.Read) cloudName?: string; /** Capacity of the cloud. */ - @visibility("read") + @visibility(Lifecycle.Read) cloudCapacity?: CloudCapacity; /** List of QoS policies available for the cloud. */ - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "storageQoSPolicies") storageQosPolicies?: StorageQosPolicy[]; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } /** Cloud Capacity model */ model CloudCapacity { /** CPUCount specifies the maximum number of CPUs that can be allocated in the cloud. */ - @visibility("read") cpuCount?: int64; + @visibility(Lifecycle.Read) cpuCount?: int64; /** MemoryMB specifies a memory usage limit in megabytes. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "MB is distinct from Mb" - @visibility("read") memoryMB?: int64; + @visibility(Lifecycle.Read) memoryMB?: int64; /** VMCount gives the max number of VMs that can be deployed in the cloud. */ - @visibility("read") vmCount?: int64; + @visibility(Lifecycle.Read) vmCount?: int64; } /** The StorageQoSPolicy definition. */ @@ -307,11 +307,11 @@ model VirtualNetworkProperties { vmmServerId?: VmmServerId; /** Name of the virtual network in vmmServer. */ - @visibility("read") + @visibility(Lifecycle.Read) networkName?: string; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -328,68 +328,68 @@ model VirtualMachineTemplateProperties { vmmServerId?: VmmServerId; /** Gets the type of the os. */ - @visibility("read") + @visibility(Lifecycle.Read) osType?: OsType; /** Gets os name. */ - @visibility("read") + @visibility(Lifecycle.Read) osName?: string; /** Gets computer name. */ - @visibility("read") + @visibility(Lifecycle.Read) computerName?: string; /** MemoryMB is the desired size of a virtual machine's memory, in MB. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "MB is distinct from Mb" - @visibility("read") + @visibility(Lifecycle.Read) memoryMB?: int32; /** Gets the desired number of vCPUs for the vm. */ - @visibility("read") + @visibility(Lifecycle.Read) cpuCount?: int32; /** Gets a value indicating whether to enable processor compatibility mode for live migration of VMs. */ - @visibility("read") + @visibility(Lifecycle.Read) limitCpuForMigration?: LimitCpuForMigration; /** Gets a value indicating whether to enable dynamic memory or not. */ - @visibility("read") + @visibility(Lifecycle.Read) dynamicMemoryEnabled?: DynamicMemoryEnabled; /** Gets a value indicating whether the vm template is customizable or not. */ - @visibility("read") + @visibility(Lifecycle.Read) isCustomizable?: IsCustomizable; /** Gets the max dynamic memory for the vm. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "MB is distinct from Mb" - @visibility("read") + @visibility(Lifecycle.Read) dynamicMemoryMaxMB?: int32; /** Gets the min dynamic memory for the vm. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "MB is distinct from Mb" - @visibility("read") + @visibility(Lifecycle.Read) dynamicMemoryMinMB?: int32; /** Gets highly available property. */ - @visibility("read") + @visibility(Lifecycle.Read) isHighlyAvailable?: IsHighlyAvailable; /** Gets the generation for the vm. */ - @visibility("read") + @visibility(Lifecycle.Read) generation?: int32; /** Gets the network interfaces of the template. */ - @visibility("read") - @extension("x-ms-identifiers", ["name", "nicId"]) + @visibility(Lifecycle.Read) + @identifiers(#["name", "nicId"]) networkInterfaces?: NetworkInterface[]; /** Gets the disks of the template. */ - @visibility("read") - @extension("x-ms-identifiers", ["diskId", "name"]) + @visibility(Lifecycle.Read) + @identifiers(#["diskId", "name"]) disks?: VirtualDisk[]; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -399,15 +399,15 @@ model NetworkInterface { name?: string; /** Gets the display name of the network interface as shown in the vmmServer. This is the fallback label for a NIC when the name is not set. */ - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; /** Gets the nic ipv4 addresses. */ - @visibility("read") + @visibility(Lifecycle.Read) ipv4Addresses?: string[]; /** Gets the nic ipv6 addresses. */ - @visibility("read") + @visibility(Lifecycle.Read) ipv6Addresses?: string[]; /** Gets or sets the nic MAC address. */ @@ -417,7 +417,7 @@ model NetworkInterface { virtualNetworkId?: VirtualNetworkId; /** Gets the name of the virtual network in vmmServer that the nic is connected to. */ - @visibility("read") + @visibility(Lifecycle.Read) networkName?: string; /** Gets or sets the ipv4 address type. */ @@ -442,7 +442,7 @@ model VirtualDisk { name?: string; /** Gets the display name of the virtual disk as shown in the vmmServer. This is the fallback label for a disk when the name is not set. */ - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; /** Gets or sets the disk id. */ @@ -454,7 +454,7 @@ model VirtualDisk { /** Gets the max disk size. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "GB is distinct from Gb" - @visibility("read") + @visibility(Lifecycle.Read) maxDiskSizeGB?: int32; /** Gets or sets the disk bus. */ @@ -470,15 +470,15 @@ model VirtualDisk { vhdType?: string; /** Gets the disk volume type. */ - @visibility("read") + @visibility(Lifecycle.Read) volumeType?: string; /** Gets the disk vhd format type. */ - @visibility("read") + @visibility(Lifecycle.Read) vhdFormatType?: string; /** Gets or sets the disk id in the template. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) templateDiskId?: string; /** The QoS policy for the disk. */ @@ -486,7 +486,7 @@ model VirtualDisk { storageQosPolicy?: StorageQosPolicyDetails; /** Gets or sets a value indicating diff disk. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) createDiffDisk?: CreateDiffDisk; } @@ -512,7 +512,7 @@ model AvailabilitySetProperties { vmmServerId?: VmmServerId; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -540,19 +540,19 @@ model InventoryItemProperties { inventoryType: InventoryType; /** Gets the tracked resource id corresponding to the inventory resource. */ - @visibility("read") + @visibility(Lifecycle.Read) managedResourceId?: string; /** Gets the UUID (which is assigned by Vmm) for the inventory item. */ - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; /** Gets the Managed Object name in Vmm for the inventory item. */ - @visibility("read") + @visibility(Lifecycle.Read) inventoryItemName?: string; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -562,7 +562,7 @@ model VirtualMachineInstanceProperties { availabilitySets?: AvailabilitySetListItem[]; /** OS properties. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) osProfile?: OsProfileForVmInstance; /** Hardware properties. */ @@ -578,11 +578,11 @@ model VirtualMachineInstanceProperties { infrastructureProfile?: InfrastructureProfile; /** Gets the power state of the virtual machine. */ - @visibility("read") + @visibility(Lifecycle.Read) powerState?: string; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -625,7 +625,7 @@ model AvailabilitySetListItem { /** Defines the resource properties. */ model OsProfileForVmInstance { /** Admin password of the virtual machine. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret adminPassword?: string; @@ -633,15 +633,15 @@ model OsProfileForVmInstance { computerName?: string; /** Gets the type of the os. */ - @visibility("read") + @visibility(Lifecycle.Read) osType?: OsType; /** Gets os sku. */ - @visibility("read") + @visibility(Lifecycle.Read) osSku?: string; /** Gets os version. */ - @visibility("read") + @visibility(Lifecycle.Read) osVersion?: string; /** Gets or sets the domain name. */ @@ -653,7 +653,7 @@ model OsProfileForVmInstance { domainUsername?: string; /** Password of the domain the VM has to join. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret @added(Versions.v2024_06_01) domainPassword?: string; @@ -663,7 +663,7 @@ model OsProfileForVmInstance { workgroup?: string; /** Gets or sets the product key.Input format xxxxx-xxxxx-xxxxx-xxxxx-xxxxx */ - @visibility("create") + @visibility(Lifecycle.Create) @secret @added(Versions.v2024_06_01) productKey?: string; @@ -701,7 +701,7 @@ model HardwareProfile { dynamicMemoryMinMB?: int32; /** Gets highly available property. */ - @visibility("read") + @visibility(Lifecycle.Read) isHighlyAvailable?: IsHighlyAvailable; } @@ -711,7 +711,7 @@ model HardwareProfileUpdate is UpdateableProperties; /** Defines the resource properties. */ model NetworkProfile { /** Gets or sets the list of network interfaces associated with the virtual machine. */ - @extension("x-ms-identifiers", ["name", "nicId"]) + @identifiers(#["name", "nicId"]) networkInterfaces?: NetworkInterface[]; } @@ -719,14 +719,14 @@ model NetworkProfile { model NetworkProfileUpdate is UpdateableProperties> { /** Gets or sets the list of network interfaces associated with the virtual machine. */ - @extension("x-ms-identifiers", ["name", "nicId"]) + @identifiers(#["name", "nicId"]) networkInterfaces?: NetworkInterfaceUpdate[]; } /** Defines the resource properties. */ model StorageProfile { /** Gets or sets the list of virtual disks associated with the virtual machine. */ - @extension("x-ms-identifiers", ["diskId", "name"]) + @identifiers(#["diskId", "name"]) disks?: VirtualDisk[]; } @@ -734,22 +734,22 @@ model StorageProfile { model StorageProfileUpdate is UpdateableProperties> { /** Gets or sets the list of virtual disks associated with the virtual machine. */ - @extension("x-ms-identifiers", ["diskId", "name"]) + @identifiers(#["diskId", "name"]) disks?: VirtualDiskUpdate[]; } /** Specifies the vmmServer infrastructure specific settings for the virtual machine instance. */ model InfrastructureProfile { /** Gets or sets the inventory Item ID for the resource. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) inventoryItemId?: string; /** ARM Id of the vmmServer resource in which this resource resides. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) vmmServerId?: VmmServerId; /** ARM Id of the cloud resource to use for deploying the vm. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) cloudId?: Azure.Core.armResourceIdentifier<[ { type: "Microsoft.ScVmm/clouds"; @@ -757,7 +757,7 @@ model InfrastructureProfile { ]>; /** ARM Id of the template resource to use for deploying the vm. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) templateId?: Azure.Core.armResourceIdentifier<[ { type: "Microsoft.ScVmm/virtualMachineTemplates"; @@ -766,34 +766,34 @@ model InfrastructureProfile { /** VMName is the name of VM on the SCVmm server. */ @minLength(1) - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) vmName?: string; /** Unique ID of the virtual machine. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) uuid?: string; /** Last restored checkpoint in the vm. */ - @visibility("read") + @visibility(Lifecycle.Read) @encodedName("application/json", "lastRestoredVMCheckpoint") lastRestoredVmCheckpoint?: Checkpoint; /** Checkpoints in the vm. */ #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "Workaround for emitter problem" - @visibility("read") - @extension("x-ms-identifiers", ["checkpointID"]) + @visibility(Lifecycle.Read) + @identifiers(#["checkpointID"]) checkpoints?: Checkpoint[]; /** Type of checkpoint supported for the vm. */ - @visibility("read", "create", "update") + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) checkpointType?: string; /** Gets or sets the generation for the vm. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) generation?: int32; /** Gets or sets the bios guid for the vm. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) biosGuid?: string; } @@ -833,7 +833,7 @@ model VmInstanceHybridIdentityMetadataProperties { publicKey?: string; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -861,7 +861,7 @@ model VirtualMachineRestoreCheckpoint { /** Defines the resource properties. */ model GuestAgentProperties { /** Gets a unique identifier for this resource. */ - @visibility("read") + @visibility(Lifecycle.Read) uuid?: string; /** Username / Password Credentials to provision guest agent. */ @@ -874,15 +874,15 @@ model GuestAgentProperties { provisioningAction?: ProvisioningAction; /** Gets the guest agent status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: string; /** Gets the name of the corresponding resource in Kubernetes. */ - @visibility("read") + @visibility(Lifecycle.Read) customResourceName?: string; /** Provisioning state of the resource. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** The resource id of the private link scope this machine is assigned to, if any. */ @@ -900,7 +900,7 @@ model GuestCredential { username: string; /** Gets or sets the password to connect with the guest. */ - @visibility("create", "update") + @visibility(Lifecycle.Create, Lifecycle.Update) @secret password: string; } @@ -935,20 +935,20 @@ model VirtualNetworkInventoryItem extends InventoryItemProperties { /** The Virtual machine template inventory item. */ model VirtualMachineTemplateInventoryItem extends InventoryItemProperties { /** Gets the desired number of vCPUs for the vm. */ - @visibility("read") + @visibility(Lifecycle.Read) cpuCount?: int32; /** MemoryMB is the desired size of a virtual machine's memory, in MB. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "MB is distinct from Mb" - @visibility("read") + @visibility(Lifecycle.Read) memoryMB?: int32; /** Gets the type of the os. */ - @visibility("read") + @visibility(Lifecycle.Read) osType?: OsType; /** Gets os name. */ - @visibility("read") + @visibility(Lifecycle.Read) osName?: string; /** They inventory type. */ @@ -958,19 +958,19 @@ model VirtualMachineTemplateInventoryItem extends InventoryItemProperties { /** The Virtual machine inventory item. */ model VirtualMachineInventoryItem extends InventoryItemProperties { /** Gets the type of the os. */ - @visibility("read") + @visibility(Lifecycle.Read) osType?: OsType; /** Gets os name. */ - @visibility("read") + @visibility(Lifecycle.Read) osName?: string; /** Gets os version. */ - @visibility("read") + @visibility(Lifecycle.Read) osVersion?: string; /** Gets the power state of the virtual machine. */ - @visibility("read") + @visibility(Lifecycle.Read) powerState?: string; /** Gets or sets the nic ip addresses. */ @@ -980,11 +980,11 @@ model VirtualMachineInventoryItem extends InventoryItemProperties { cloud?: InventoryItemDetails; /** Gets the bios guid. */ - @visibility("read") + @visibility(Lifecycle.Read) biosGuid?: string; /** Gets the tracked resource id corresponding to the inventory resource. */ - @visibility("read") + @visibility(Lifecycle.Read) managedMachineResourceId?: Azure.Core.armResourceIdentifier<[]>; /** They inventory type. */ diff --git a/specification/servicenetworking/ServiceNetworking.Management/main.tsp b/specification/servicenetworking/ServiceNetworking.Management/main.tsp index b196a65335ce..1b4a0e8af445 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/main.tsp +++ b/specification/servicenetworking/ServiceNetworking.Management/main.tsp @@ -7,9 +7,7 @@ import "@azure-tools/typespec-azure-resource-manager"; /** Traffic Controller Provider management API. */ @armProviderNamespace @armCommonTypesVersion("v3") -@service({ - title: "TrafficController", -}) +@service(#{ title: "TrafficController" }) @versioned(Versions) namespace Microsoft.ServiceNetworking; @@ -38,7 +36,7 @@ using Azure.ResourceManager; model Frontend is TrackedResource { /** Frontends */ @key("frontendName") - @visibility("read") + @visibility(Lifecycle.Read) @path @segment("frontends") @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$") @@ -48,11 +46,11 @@ model Frontend is TrackedResource { /** Frontend Properties. */ model FrontendProperties { /** The Fully Qualified Domain Name of the DNS record associated to a Traffic Controller frontend. */ - @visibility("read") + @visibility(Lifecycle.Read) fqdn?: string; /** Provisioning State of Traffic Controller Frontend Resource */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -62,7 +60,7 @@ model FrontendProperties { model Association is TrackedResource { /** Name of Association */ @key("associationName") - @visibility("read") + @visibility(Lifecycle.Read) @path @segment("associations") @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$") @@ -104,7 +102,7 @@ model AssociationProperties { subnet?: AssociationSubnet; /** Provisioning State of Traffic Controller Association Resource */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -127,7 +125,7 @@ model AssociationSubnet { model SecurityPolicy is TrackedResource { /** SecurityPolicy */ @key("securityPolicyName") - @visibility("read") + @visibility(Lifecycle.Read) @path @segment("securityPolicies") @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$") @@ -137,14 +135,14 @@ model SecurityPolicy is TrackedResource { /** SecurityPolicy Properties. */ model SecurityPolicyProperties { /** Type of the Traffic Controller Security Policy */ - @visibility("read") + @visibility(Lifecycle.Read) policyType?: PolicyType; /** Web Application Firewall Policy of the Traffic Controller Security Policy */ wafPolicy?: WafPolicy; /** Provisioning State of Traffic Controller SecurityPolicy Resource */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -189,29 +187,28 @@ model TrafficController is TrackedResource { /** Traffic Controller Properties. */ model TrafficControllerProperties { /** Configuration Endpoints. */ - @visibility("read") + @visibility(Lifecycle.Read) configurationEndpoints?: string[]; /** Frontends References List */ - @visibility("read") + @visibility(Lifecycle.Read) frontends?: ResourceId[]; /** Associations References List */ - @visibility("read") + @visibility(Lifecycle.Read) associations?: ResourceId[]; /** Security Policies References List */ - @visibility("read") + @visibility(Lifecycle.Read) @added(Versions.v2024_05_01_preview) securityPolicies?: ResourceId[]; /** Security Policy Configuration */ @added(Versions.v2024_05_01_preview) - @OpenAPI.extension("x-ms-identifiers", []) securityPolicyConfigurations?: SecurityPolicyConfigurations; /** The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json index df40e8866122..7208f19b2136 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json @@ -1813,8 +1813,7 @@ }, "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurations", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", @@ -1847,8 +1846,7 @@ "properties": { "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurationsUpdate", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" } } }, diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json index 097126f15da9..b3552bb9cfe8 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json @@ -1813,8 +1813,7 @@ }, "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurations", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", @@ -1847,8 +1846,7 @@ "properties": { "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurationsUpdate", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" } } }, diff --git a/specification/sovereign/Sovereign.Management/landingZoneAccountResourceProperties.tsp b/specification/sovereign/Sovereign.Management/landingZoneAccountResourceProperties.tsp index befcefa15d83..9bcfba6013bc 100644 --- a/specification/sovereign/Sovereign.Management/landingZoneAccountResourceProperties.tsp +++ b/specification/sovereign/Sovereign.Management/landingZoneAccountResourceProperties.tsp @@ -7,7 +7,7 @@ namespace Microsoft.Sovereign; @added(Versions.Preview20250227) @doc("The properties of landing zone account resource type.") model LandingZoneAccountResourceProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The state that reflects the current stage in the creation, updating, or deletion process of the landing zone account.") provisioningState?: provisioningState; diff --git a/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp b/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp index 1abafa5223bf..adcc46d790e9 100644 --- a/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp +++ b/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp @@ -7,12 +7,12 @@ namespace Microsoft.Sovereign; @added(Versions.Preview20250227) @doc("The properties of landing zone configuration resource type.") model LandingZoneConfigurationResourceProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The state that reflects the current stage in the creation, updating, or deletion process of the landing zone configuration.") provisioningState?: provisioningState; #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "Handled in code." - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status that indicates the current phase of the configuration process for a deployment.") authoringStatus?: AuthoringStatus; @@ -37,7 +37,7 @@ model LandingZoneConfigurationResourceProperties { ]>; @doc("Tags are key-value pairs that can be assigned to a resource to organize and manage it more effectively. Example: {'name': 'a tag name', 'value': 'a tag value'}") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) tags?: Tags[]; @doc("Parameter used for deploying a Firewall: Select 'No' to skip deployment, 'Standard' to deploy the Standard SKU, or 'Premium' to deploy the Premium SKU.") @@ -71,7 +71,7 @@ model LandingZoneConfigurationResourceProperties { azureBastionSubnetCidrBlock?: string; @doc("The child management groups of 'Landing Zones' management group and their assigned policies.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) landingZonesMgChildren?: LandingZoneManagementGroupProperties[]; @doc("The assigned policies of the parent management group.") @@ -102,14 +102,14 @@ model LandingZoneConfigurationResourceProperties { managedIdentity: ManagedIdentityProperties; @doc("The names of the 'Platform' child management groups and their assigned policies, excluding the default ones: 'Connectivity', 'Identity', and 'Management'") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) platformMgChildren?: PlatformManagementGroupProperties[]; @doc("The default naming convention applied to all resources for this landing zone configuration. Example - {DeploymentPrefix}-Contoso-{ResourceTypeAbbreviation}{DeploymentSuffix}-{Environment}-testing") namingConventionFormula?: string; @doc("The custom naming convention applied to specific resource types for this landing zone configuration, which overrides the default naming convention for those resource types. Example - 'customNamingConvention': [{'resourceType': 'azureFirewalls', 'formula': '{DeploymentPrefix}-afwl-{DeploymentSuffix}'}]") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) customNamingConvention?: CustomNamingConvention[]; } @@ -160,7 +160,7 @@ model LandingZoneManagementGroupProperties { @doc("The properties of policy initiatives applied to the management group.") model ManagementGroupProperties { @doc("Array of policy initiatives applied to the management group.") - @OpenAPI.extension("x-ms-identifiers", []) + @identifiers(#[]) policyInitiativesAssignmentProperties: PolicyInitiativeAssignmentProperties[]; } diff --git a/specification/sovereign/Sovereign.Management/landingZoneRegistrationResourceProperties.tsp b/specification/sovereign/Sovereign.Management/landingZoneRegistrationResourceProperties.tsp index 401bc2699369..cb802b2c6a12 100644 --- a/specification/sovereign/Sovereign.Management/landingZoneRegistrationResourceProperties.tsp +++ b/specification/sovereign/Sovereign.Management/landingZoneRegistrationResourceProperties.tsp @@ -7,7 +7,7 @@ namespace Microsoft.Sovereign; @added(Versions.Preview20250227) @doc("The properties of landing zone registration resource type.") model LandingZoneRegistrationResourceProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The state that reflects the current stage in the creation, updating, or deletion process of the landing zone registration resource type.") provisioningState?: provisioningState; diff --git a/specification/sovereign/Sovereign.Management/main.tsp b/specification/sovereign/Sovereign.Management/main.tsp index 8e9c8bc4d02e..0107cef51b1b 100644 --- a/specification/sovereign/Sovereign.Management/main.tsp +++ b/specification/sovereign/Sovereign.Management/main.tsp @@ -17,9 +17,7 @@ using Azure.ResourceManager; using Azure.Core; using OpenAPI; -@service({ - title: "Cloud for Sovereignty Resource Provider.", -}) +@service(#{ title: "Cloud for Sovereignty Resource Provider." }) @versioned(Versions) @armProviderNamespace @armCommonTypesVersion("v5") @@ -36,7 +34,7 @@ model LandingZoneAccountResource @segment("landingZoneAccounts") @key("landingZoneAccountName") @pattern("^[a-zA-Z0-9-]{3,64}$") - @visibility("read") + @visibility(Lifecycle.Read) @path name: string; @@ -71,7 +69,7 @@ model LandingZoneConfigurationResource @doc("The landing zone configuration name") @segment("landingZoneConfigurations") @key("landingZoneConfigurationName") - @visibility("read") + @visibility(Lifecycle.Read) @pattern("^[a-zA-Z0-9-]{3,64}$") @path name: string; diff --git a/specification/sphere/Sphere.Management/catalog.tsp b/specification/sphere/Sphere.Management/catalog.tsp index 34023a0e413f..4b0da842fcff 100644 --- a/specification/sphere/Sphere.Management/catalog.tsp +++ b/specification/sphere/Sphere.Management/catalog.tsp @@ -18,7 +18,7 @@ model Catalog is TrackedResource { @path @key("catalogName") @segment("catalogs") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -42,7 +42,7 @@ interface Catalogs { /** * Update a Catalog */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync; /** diff --git a/specification/sphere/Sphere.Management/certificate.tsp b/specification/sphere/Sphere.Management/certificate.tsp index 5fa84a96b650..534e3d5c8cae 100644 --- a/specification/sphere/Sphere.Management/certificate.tsp +++ b/specification/sphere/Sphere.Management/certificate.tsp @@ -19,7 +19,7 @@ model Certificate is ProxyResource { @path @key("serialNumber") @segment("certificates") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/sphere/Sphere.Management/deployment.tsp b/specification/sphere/Sphere.Management/deployment.tsp index 9df999337d4b..48378b9bb2fa 100644 --- a/specification/sphere/Sphere.Management/deployment.tsp +++ b/specification/sphere/Sphere.Management/deployment.tsp @@ -15,7 +15,7 @@ model Deployment is ProxyResource { @path @key("deploymentName") @segment("deployments") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/sphere/Sphere.Management/device.tsp b/specification/sphere/Sphere.Management/device.tsp index b4b8a643404a..7a15ee06fcff 100644 --- a/specification/sphere/Sphere.Management/device.tsp +++ b/specification/sphere/Sphere.Management/device.tsp @@ -17,7 +17,7 @@ model Device is ProxyResource { @path @key("deviceName") @segment("devices") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -42,7 +42,7 @@ interface Devices { * Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level. */ #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "Existing API" - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< Device, DeviceUpdate, diff --git a/specification/sphere/Sphere.Management/deviceGroup.tsp b/specification/sphere/Sphere.Management/deviceGroup.tsp index eb1413658246..a62440ec2239 100644 --- a/specification/sphere/Sphere.Management/deviceGroup.tsp +++ b/specification/sphere/Sphere.Management/deviceGroup.tsp @@ -19,7 +19,7 @@ model DeviceGroup is ProxyResource { @path @key("deviceGroupName") @segment("deviceGroups") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -43,7 +43,7 @@ interface DeviceGroups { /** * Update a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/sphere/Sphere.Management/image.tsp b/specification/sphere/Sphere.Management/image.tsp index 49932e5b06e9..b5bf20a06605 100644 --- a/specification/sphere/Sphere.Management/image.tsp +++ b/specification/sphere/Sphere.Management/image.tsp @@ -16,7 +16,7 @@ model Image is ProxyResource { @path @key("imageName") @segment("images") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/sphere/Sphere.Management/main.tsp b/specification/sphere/Sphere.Management/main.tsp index c169d0c5d989..1c8318517687 100644 --- a/specification/sphere/Sphere.Management/main.tsp +++ b/specification/sphere/Sphere.Management/main.tsp @@ -21,9 +21,7 @@ using TypeSpec.Versioning; * Azure Sphere resource management API. */ @armProviderNamespace -@service({ - title: "AzureSphereProviderClient", -}) +@service(#{ title: "AzureSphereProviderClient" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) namespace Microsoft.AzureSphere; diff --git a/specification/sphere/Sphere.Management/models.tsp b/specification/sphere/Sphere.Management/models.tsp index e94264b1334e..795cd2924c78 100644 --- a/specification/sphere/Sphere.Management/models.tsp +++ b/specification/sphere/Sphere.Management/models.tsp @@ -297,13 +297,13 @@ model CatalogProperties { /** * The Azure Sphere tenant ID associated with the catalog. */ - @visibility("read") + @visibility(Lifecycle.Read) tenantId?: string; /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -314,25 +314,25 @@ model Resource { /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * The name of the resource */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ - @visibility("read") + @visibility(Lifecycle.Read) systemData?: SystemData; } @@ -354,45 +354,45 @@ model CertificateProperties { /** * The certificate as a UTF-8 encoded base 64 string. */ - @visibility("read") + @visibility(Lifecycle.Read) certificate?: string; /** * The certificate status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: CertificateStatus; /** * The certificate subject. */ - @visibility("read") + @visibility(Lifecycle.Read) subject?: string; /** * The certificate thumbprint. */ - @visibility("read") + @visibility(Lifecycle.Read) thumbprint?: string; /** * The certificate expiry date. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. expiryUtc?: utcDateTime; /** * The certificate not before date. */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. notBeforeUtc?: utcDateTime; /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -403,7 +403,7 @@ model CertificateChainResponse { /** * The certificate chain. */ - @visibility("read") + @visibility(Lifecycle.Read) certificateChain?: string; } @@ -448,55 +448,55 @@ model ImageProperties { /** * Image as a UTF-8 encoded base 64 string on image create. This field contains the image URI on image reads. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) image?: string; /** * Image ID */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) imageId?: string; /** * Image name */ - @visibility("read") + @visibility(Lifecycle.Read) imageName?: string; /** * Regional data boundary for an image */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) regionalDataBoundary?: RegionalDataBoundary; /** * Location the image */ - @visibility("read") + @visibility(Lifecycle.Read) uri?: string; /** * The image description. */ - @visibility("read") + @visibility(Lifecycle.Read) description?: string; /** * The image component id. */ - @visibility("read") + @visibility(Lifecycle.Read) componentId?: string; /** * The image type. */ - @visibility("read") + @visibility(Lifecycle.Read) imageType?: ImageType; /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -507,26 +507,26 @@ model DeploymentProperties { /** * Deployment ID */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) deploymentId?: string; /** * Images deployed */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) deployedImages?: Image[]; /** * Deployment date UTC */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. deploymentDateUtc?: utcDateTime; /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -572,13 +572,13 @@ model DeviceGroupProperties { /** * Deployment status for the device group. */ - @visibility("read") + @visibility(Lifecycle.Read) hasDeployment?: boolean; /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -641,45 +641,45 @@ model DeviceProperties { /** * Device ID */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) deviceId?: string; /** * SKU of the chip */ - @visibility("read") + @visibility(Lifecycle.Read) chipSku?: string; /** * OS version available for installation when update requested */ - @visibility("read") + @visibility(Lifecycle.Read) lastAvailableOsVersion?: string; /** * OS version running on device when update requested */ - @visibility("read") + @visibility(Lifecycle.Read) lastInstalledOsVersion?: string; /** * Time when update requested and new OS version available */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastOsUpdateUtc?: utcDateTime; /** * Time when update was last requested */ - @visibility("read") + @visibility(Lifecycle.Read) // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastUpdateRequestUtc?: utcDateTime; /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -695,7 +695,7 @@ model ProductProperties { /** * The status of the last operation. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -812,7 +812,7 @@ model SignedCapabilityImageResponse { /** * The signed device capability image as a UTF-8 encoded base 64 string. */ - @visibility("read") + @visibility(Lifecycle.Read) image?: string; } diff --git a/specification/sphere/Sphere.Management/product.tsp b/specification/sphere/Sphere.Management/product.tsp index bc62bde56bc0..2e23dc2f5428 100644 --- a/specification/sphere/Sphere.Management/product.tsp +++ b/specification/sphere/Sphere.Management/product.tsp @@ -23,7 +23,7 @@ model Product is ProxyResource { @path @key("productName") @segment("products") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -47,7 +47,7 @@ interface Products { /** * Update a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/splitio/SplitIO.Experimentation.Management/main.tsp b/specification/splitio/SplitIO.Experimentation.Management/main.tsp index 70585795e0d0..6e7fbf84be38 100644 --- a/specification/splitio/SplitIO.Experimentation.Management/main.tsp +++ b/specification/splitio/SplitIO.Experimentation.Management/main.tsp @@ -15,9 +15,7 @@ namespace SplitIO { } @armProviderNamespace -@service({ - title: "Split.IO Experimentation", -}) +@service(#{ title: "Split.IO Experimentation" }) @versioned(SplitIO.Experimentation.Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace SplitIO.Experimentation { @@ -33,7 +31,7 @@ namespace SplitIO.Experimentation { @doc("Properties of the experimentation workspace") model ExperimentationWorkspaceProperties { @doc("Provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ResourceProvisioningState; @doc("Access policy for an experimentation workspace.") @@ -53,7 +51,7 @@ namespace SplitIO.Experimentation { defaultRole?: DataPlaneRole; @doc("Endpoint used for access to the experimentation workspace.") - @visibility("read") + @visibility(Lifecycle.Read) dataPlaneEndpoint?: url; } @@ -145,7 +143,7 @@ namespace SplitIO.Experimentation { @doc("The exchange token result that contains the bearer token which is used for Split.IO data plane authentication.") model ExchangeTokenResult { @doc("The bearer token that is used for Split.IO data plane authentication.") - @visibility("read") + @visibility(Lifecycle.Read) @secret token: string; } diff --git a/specification/standbypool/StandbyPool.Management/service.tsp b/specification/standbypool/StandbyPool.Management/service.tsp index f47e4ca242b8..b107c06c8e67 100644 --- a/specification/standbypool/StandbyPool.Management/service.tsp +++ b/specification/standbypool/StandbyPool.Management/service.tsp @@ -17,9 +17,7 @@ using TypeSpec.Versioning; using OpenAPI; @armProviderNamespace("Microsoft.StandbyPool") -@service({ - title: "Microsoft.StandbyPool", -}) +@service(#{ title: "Microsoft.StandbyPool" }) @versioned(Microsoft.StandbyPool.Versions) namespace Microsoft.StandbyPool; @@ -77,11 +75,11 @@ model PoolResourceStateCount { @doc("Displays StandbyPool status.") model PoolStatus { @doc("Displays the healthy state of the StandbyPool.") - @visibility("read") + @visibility(Lifecycle.Read) code: HealthStateCode; @doc("Displays the StandbyPool health state details.") - @visibility("read") + @visibility(Lifecycle.Read) message?: string; } diff --git a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp index 5a702f03d900..4170ac66665a 100644 --- a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp @@ -26,7 +26,7 @@ model StandbyContainerGroupPoolResource @pattern("^[a-zA-Z0-9-]{3,24}$") @key("standbyContainerGroupPoolName") @segment("standbyContainerGroupPools") - @visibility("read") + @visibility(Lifecycle.Read) @doc("Name of the standby container group pool") @path name: string; @@ -46,7 +46,7 @@ model StandbyContainerGroupPoolResourceProperties { zones?: string[]; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -117,7 +117,7 @@ interface StandbyContainerGroupPools { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; delete is ArmResourceDeleteWithoutOkAsync; - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< StandbyContainerGroupPoolResource, Azure.ResourceManager.Foundations.ResourceUpdateModel< diff --git a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp index 13e617b9dbbc..b37fa82a1043 100644 --- a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp @@ -28,7 +28,7 @@ model StandbyContainerGroupPoolRuntimeViewResource @pattern("^[a-zA-Z0-9-]{0,24}$") @key("runtimeView") @segment("runtimeViews") - @visibility("read") + @visibility(Lifecycle.Read) @doc("The unique identifier for the runtime view. The input string should be the word 'latest', which will get the latest runtime view of the pool, otherwise the request will fail with NotFound exception.") @path name: string; @@ -38,22 +38,22 @@ model StandbyContainerGroupPoolRuntimeViewResource @added(Microsoft.StandbyPool.Versions.`2024-03-01-preview`) model StandbyContainerGroupPoolRuntimeViewResourceProperties { @doc("A list containing the counts of container groups in each possible state, as known by the StandbyPool resource provider.") - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @extension("x-ms-identifiers", #[]) instanceCountSummary: ContainerGroupInstanceCountSummary[]; @added(Microsoft.StandbyPool.Versions.`2025-03-01`) @doc("Display status of the standby pool") - @visibility("read") + @visibility(Lifecycle.Read) status?: PoolStatus; @doc("Displays the provisioning state of the standby pool") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @added(Microsoft.StandbyPool.Versions.`2025-03-01`) @doc("Displays prediction information of the standby pool") - @visibility("read") + @visibility(Lifecycle.Read) prediction?: StandbyContainerGroupPoolPrediction; } @@ -65,7 +65,7 @@ model ContainerGroupInstanceCountSummary { zone?: int64; @doc("The count of pooled resources in each state.") - @extension("x-ms-identifiers", ["state"]) + @extension("x-ms-identifiers", #["state"]) @removed(Microsoft.StandbyPool.Versions.`2025-03-01`) @renamedFrom( Microsoft.StandbyPool.Versions.`2025-03-01`, @@ -74,7 +74,7 @@ model ContainerGroupInstanceCountSummary { oldinstanceCountsByState: PoolResourceStateCount[]; @doc("The count of pooled container groups in each state for the given zone.") - @extension("x-ms-identifiers", ["state"]) + @extension("x-ms-identifiers", #["state"]) @added(Microsoft.StandbyPool.Versions.`2025-03-01`) instanceCountsByState: PoolContainerGroupStateCount[]; } @@ -108,15 +108,15 @@ model PoolContainerGroupStateCount { @doc("Displays prediction information of the standby pool.") model StandbyContainerGroupPoolPrediction { @doc("Displays the forecast information of the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) forecastValues: StandbyContainerGroupPoolForecastValues; @doc("Displays the UTC timestamp of when the prediction was retrieved for the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) forecastStartTime: utcDateTime; @doc("Displays additional information for the prediction of the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) forecastInfo: string; } @@ -124,7 +124,7 @@ model StandbyContainerGroupPoolPrediction { @doc("Displays the forecast information of the standby pool.") model StandbyContainerGroupPoolForecastValues { @doc("Displays the predicted count of instances to be requested from the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) instancesRequestedCount: int64[]; } diff --git a/specification/standbypool/StandbyPool.Management/standbyVM.tsp b/specification/standbypool/StandbyPool.Management/standbyVM.tsp index 00b7728b145b..94ba7dbdc880 100644 --- a/specification/standbypool/StandbyPool.Management/standbyVM.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyVM.tsp @@ -26,7 +26,7 @@ model StandbyVirtualMachineResource @pattern("^[_a-zA-Z0-9-]{3,64}$") @key("standbyVirtualMachineName") @segment("standbyVirtualMachines") - @visibility("read") + @visibility(Lifecycle.Read) @doc("Name of the standby virtual machine") @path name: string; @@ -38,7 +38,7 @@ model StandbyVirtualMachineResourceProperties { virtualMachineResourceId: Azure.Core.armResourceIdentifier<[]>; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } diff --git a/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp b/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp index 429938243ccf..61d527e91c60 100644 --- a/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp @@ -25,7 +25,7 @@ model StandbyVirtualMachinePoolResource @pattern("^[a-zA-Z0-9-]{3,24}$") @key("standbyVirtualMachinePoolName") @segment("standbyVirtualMachinePools") - @visibility("read") + @visibility(Lifecycle.Read) @doc("Name of the standby virtual machine pool") @path name: string; @@ -38,7 +38,7 @@ model StandbyVirtualMachinePoolResourceProperties { elasticityProfile?: StandbyVirtualMachinePoolElasticityProfile; @doc("Specifies the desired state of virtual machines in the pool.") - @extension("x-ms-identifiers", ["vmState"]) + @extension("x-ms-identifiers", #["vmState"]) virtualMachineState: VirtualMachineState; @doc("Specifies the fully qualified resource ID of a virtual machine scale set the pool is attached to.") @@ -50,7 +50,7 @@ model StandbyVirtualMachinePoolResourceProperties { ]>; @doc("The status of the last operation.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; } @@ -94,7 +94,7 @@ interface StandbyVirtualMachinePools { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; delete is ArmResourceDeleteWithoutOkAsync; - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< StandbyVirtualMachinePoolResource, Azure.ResourceManager.Foundations.ResourceUpdateModel< diff --git a/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp b/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp index 8b1a917c7d29..2967f950e61d 100644 --- a/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp @@ -28,7 +28,7 @@ model StandbyVirtualMachinePoolRuntimeViewResource @pattern("^[a-zA-Z0-9-]{0,24}$") @key("runtimeView") @segment("runtimeViews") - @visibility("read") + @visibility(Lifecycle.Read) @doc("The unique identifier for the runtime view. The input string should be the word 'latest', which will get the latest runtime view of the pool, otherwise the request will fail with NotFound exception.") @path name: string; @@ -38,22 +38,22 @@ model StandbyVirtualMachinePoolRuntimeViewResource @added(Microsoft.StandbyPool.Versions.`2024-03-01-preview`) model StandbyVirtualMachinePoolRuntimeViewResourceProperties { @doc("A list containing the counts of virtual machines in each possible power state for each zone if enabled, as known by the StandbyPool resource provider. If zones are not enabled on the attached VMSS, the list will contain a single entry without zone values. Note: any resources in the Running state may still be installing extensions / not fully provisioned.") - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @extension("x-ms-identifiers", #[]) instanceCountSummary: VirtualMachineInstanceCountSummary[]; @added(Microsoft.StandbyPool.Versions.`2025-03-01`) @doc("Display status of the standby pool") - @visibility("read") + @visibility(Lifecycle.Read) status?: PoolStatus; @doc("Displays the provisioning state of the standby pool") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @added(Microsoft.StandbyPool.Versions.`2025-03-01`) @doc("Displays prediction information of the standby pool") - @visibility("read") + @visibility(Lifecycle.Read) prediction?: StandbyVirtualMachinePoolPrediction; } @@ -64,7 +64,7 @@ model VirtualMachineInstanceCountSummary { zone?: int64; @doc("The count of pooled resources in each state for the given zone.") - @extension("x-ms-identifiers", ["state"]) + @extension("x-ms-identifiers", #["state"]) @removed(Microsoft.StandbyPool.Versions.`2025-03-01`) @renamedFrom( Microsoft.StandbyPool.Versions.`2025-03-01`, @@ -73,7 +73,7 @@ model VirtualMachineInstanceCountSummary { oldinstanceCountsByState: PoolResourceStateCount[]; @doc("The count of pooled virtual machines in each state for the given zone.") - @extension("x-ms-identifiers", ["state"]) + @extension("x-ms-identifiers", #["state"]) @added(Microsoft.StandbyPool.Versions.`2025-03-01`) instanceCountsByState: PoolVirtualMachineStateCount[]; } @@ -122,15 +122,15 @@ model PoolVirtualMachineStateCount { @doc("Displays prediction information of the standby pool.") model StandbyVirtualMachinePoolPrediction { @doc("Displays the forecast information of the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) forecastValues: StandbyVirtualMachinePoolForecastValues; @doc("Displays the UTC timestamp of when the prediction was retrieved for the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) forecastStartTime: utcDateTime; @doc("Displays additional information for the prediction of the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) forecastInfo: string; } @@ -138,7 +138,7 @@ model StandbyVirtualMachinePoolPrediction { @doc("Displays the forecast information of the standby pool.") model StandbyVirtualMachinePoolForecastValues { @doc("Displays the predicted count of instances to be requested from the standby pool.") - @visibility("read") + @visibility(Lifecycle.Read) instancesRequestedCount: int64[]; } diff --git a/specification/terraform/Microsoft.AzureTerraform.Management/main.tsp b/specification/terraform/Microsoft.AzureTerraform.Management/main.tsp index 2b35ca8defe4..761bbf59b7a0 100644 --- a/specification/terraform/Microsoft.AzureTerraform.Management/main.tsp +++ b/specification/terraform/Microsoft.AzureTerraform.Management/main.tsp @@ -20,9 +20,7 @@ using TypeSpec.Versioning; @doc("The Azure Terraform management API provides a RESTful set of web services that used to manage your Azure Terraform resources.") @armProviderNamespace -@service({ - title: "AzureTerraformResourceProviderClient", -}) +@service(#{ title: "AzureTerraformResourceProviderClient" }) @versioned(Versions) namespace Microsoft.AzureTerraform; diff --git a/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp b/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp index 2d967fb2608e..3e511c6bae52 100644 --- a/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp +++ b/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp @@ -132,6 +132,6 @@ model ExportResult { skippedResources?: armResourceIdentifier[]; @doc("A list of errors derived during exporting each resource") - @extension("x-ms-identifiers", []) + @identifiers(#[]) errors?: ErrorDetail[]; } diff --git a/specification/translation/Azure.AI.DocumentTranslation/main.tsp b/specification/translation/Azure.AI.DocumentTranslation/main.tsp index d92e0547d995..1ece022dc219 100644 --- a/specification/translation/Azure.AI.DocumentTranslation/main.tsp +++ b/specification/translation/Azure.AI.DocumentTranslation/main.tsp @@ -9,9 +9,7 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.Core; -@service({ - title: "Azure.AI.DocumentTranslation", -}) +@service(#{ title: "Azure.AI.DocumentTranslation" }) @versioned(DocumentTranslation.Versions) @useAuth( ApiKeyAuth | OAuth2Auth<[ diff --git a/specification/translation/Azure.AI.DocumentTranslation/models.tsp b/specification/translation/Azure.AI.DocumentTranslation/models.tsp index af783529e246..2d4843ff82fb 100644 --- a/specification/translation/Azure.AI.DocumentTranslation/models.tsp +++ b/specification/translation/Azure.AI.DocumentTranslation/models.tsp @@ -274,7 +274,7 @@ model TranslationError { For example it would be \"documents\" or \"document id\" in case of invalid document. """) - @visibility("read") + @visibility(Lifecycle.Read) target?: string; @doc(""" @@ -308,7 +308,7 @@ model InnerTranslationError { For example it would be \"documents\" or \"document id\" in case of invalid document. """) - @visibility("read") + @visibility(Lifecycle.Read) target?: string; @doc(""" diff --git a/specification/translation/Azure.AI.TextTranslation/main.tsp b/specification/translation/Azure.AI.TextTranslation/main.tsp index 5ea1037abc5c..8fcc8ff994da 100644 --- a/specification/translation/Azure.AI.TextTranslation/main.tsp +++ b/specification/translation/Azure.AI.TextTranslation/main.tsp @@ -9,9 +9,7 @@ using Azure.Core; using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-core/auth-required" "!!FIXME!!" -@service({ - title: "Text Translation", -}) +@service(#{ title: "Text Translation" }) @server( "{Endpoint}", "Text translation is a cloud-based REST API feature of the Translator service that uses neural machine translation technology to enable quick and accurate source-to-target text translation in real time across all supported languages.", diff --git a/specification/trustedsigning/TrustedSigning/main.tsp b/specification/trustedsigning/TrustedSigning/main.tsp index ee0c97e294bc..0cd62ff4f081 100644 --- a/specification/trustedsigning/TrustedSigning/main.tsp +++ b/specification/trustedsigning/TrustedSigning/main.tsp @@ -16,10 +16,7 @@ using Azure.Core; } ]> ) -@service({ - title: "Azure Trusted Signing", - summary: "Azure Trusted Signing is a service that provides managed artifact signing for all.", -}) +@service(#{ title: "Azure Trusted Signing" }) @versioned(Azure.Developer.TrustedSigning.Versions) @server( "https://{region}.codesigning.azure.net/", @@ -114,7 +111,7 @@ union SignatureAlgorithm { @resource("codesigningaccounts") model SigningAccount { @key("accountName") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) @doc("Azure Trusted Signing account name.") accountName: string; } @@ -124,7 +121,7 @@ model SigningAccount { @parentResource(SigningAccount) model CertificateProfileName { @key("certificateProfile") - @visibility("read", "update") + @visibility(Lifecycle.Read, Lifecycle.Update) @doc("Azure Trusted Signing certificate profile name under an account.") certificateProfile: string; } @@ -172,7 +169,7 @@ model SigningOptions { @parentResource(CertificateProfileName) model ExtendedKeyUsage { @key("eku") - @visibility("read") + @visibility(Lifecycle.Read) @doc("An oid string that represents an eku.") eku: string; } diff --git a/specification/verifiedid/Microsoft.VerifiedId.Management/main.tsp b/specification/verifiedid/Microsoft.VerifiedId.Management/main.tsp index 95d515689465..15a16dd1a65b 100644 --- a/specification/verifiedid/Microsoft.VerifiedId.Management/main.tsp +++ b/specification/verifiedid/Microsoft.VerifiedId.Management/main.tsp @@ -11,9 +11,7 @@ using Azure.Core; using Azure.ResourceManager; @armProviderNamespace("Microsoft.VerifiedId") -@service({ - title: "VerifiedIdMgmtClient", -}) +@service(#{ title: "VerifiedIdMgmtClient" }) @versioned(Microsoft.VerifiedId.Versions) @doc("VerifiedId Resource Provider management API.") @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @@ -63,7 +61,7 @@ union ProvisioningState { @doc("Details of the VerifiedId Authority.") model AuthorityProperties { - @visibility("read") + @visibility(Lifecycle.Read) @doc("The status of the last operation.") provisioningState?: ProvisioningState; } diff --git a/specification/vmware/Microsoft.AVS.Management/addons.tsp b/specification/vmware/Microsoft.AVS.Management/addons.tsp index 5150948d6e59..ac24ec2bdefa 100644 --- a/specification/vmware/Microsoft.AVS.Management/addons.tsp +++ b/specification/vmware/Microsoft.AVS.Management/addons.tsp @@ -77,7 +77,7 @@ model AddonProperties { addonType: AddonType; @doc("The state of the addon provisioning") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: AddonProvisioningState; } diff --git a/specification/vmware/Microsoft.AVS.Management/authorizations.tsp b/specification/vmware/Microsoft.AVS.Management/authorizations.tsp index 67fd4c163df7..53a6e0095498 100644 --- a/specification/vmware/Microsoft.AVS.Management/authorizations.tsp +++ b/specification/vmware/Microsoft.AVS.Management/authorizations.tsp @@ -59,15 +59,15 @@ model ExpressRouteAuthorization @doc("The properties of an ExpressRoute Circuit Authorization resource") model ExpressRouteAuthorizationProperties { @doc("The state of the ExpressRoute Circuit Authorization provisioning") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ExpressRouteAuthorizationProvisioningState; @doc("The ID of the ExpressRoute Circuit Authorization") - @visibility("read") + @visibility(Lifecycle.Read) expressRouteAuthorizationId?: string; @doc("The key of the ExpressRoute Circuit Authorization") - @visibility("read") + @visibility(Lifecycle.Read) expressRouteAuthorizationKey?: string; @doc("The ID of the ExpressRoute Circuit") diff --git a/specification/vmware/Microsoft.AVS.Management/cloudLinks.tsp b/specification/vmware/Microsoft.AVS.Management/cloudLinks.tsp index 923be71525b7..9b6d02c890ae 100644 --- a/specification/vmware/Microsoft.AVS.Management/cloudLinks.tsp +++ b/specification/vmware/Microsoft.AVS.Management/cloudLinks.tsp @@ -72,11 +72,11 @@ union CloudLinkProvisioningState { @doc("The properties of a cloud link.") model CloudLinkProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: CloudLinkProvisioningState; @doc("The state of the cloud link.") - @visibility("read") + @visibility(Lifecycle.Read) status?: CloudLinkStatus; @doc("Identifier of the other private cloud participating in the link.") diff --git a/specification/vmware/Microsoft.AVS.Management/clusters.tsp b/specification/vmware/Microsoft.AVS.Management/clusters.tsp index 78aa34d2429e..7310f1d1c9ea 100644 --- a/specification/vmware/Microsoft.AVS.Management/clusters.tsp +++ b/specification/vmware/Microsoft.AVS.Management/clusters.tsp @@ -32,9 +32,7 @@ interface Clusters { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @armResourceUpdate(Cluster) @patch @@ -87,11 +85,11 @@ model CommonClusterProperties { clusterSize?: int32; @doc("The state of the cluster provisioning") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ClusterProvisioningState; @doc("The identity") - @visibility("read") + @visibility(Lifecycle.Read) clusterId?: int32; @doc("The hosts") @@ -148,10 +146,10 @@ model ClusterZoneList { @doc("Zone and associated hosts info") model ClusterZone { @doc("List of hosts belonging to the availability zone in a cluster") - @visibility("read") + @visibility(Lifecycle.Read) hosts?: string[]; @doc("Availability zone identifier") - @visibility("read") + @visibility(Lifecycle.Read) zone?: string; } diff --git a/specification/vmware/Microsoft.AVS.Management/common.tsp b/specification/vmware/Microsoft.AVS.Management/common.tsp index ad5027611499..45f8a9060d43 100644 --- a/specification/vmware/Microsoft.AVS.Management/common.tsp +++ b/specification/vmware/Microsoft.AVS.Management/common.tsp @@ -65,9 +65,7 @@ op ArmResourceActionNoContentAsyncNoRequestBody< @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @armResourceAction(TResource) @post diff --git a/specification/vmware/Microsoft.AVS.Management/datastores.tsp b/specification/vmware/Microsoft.AVS.Management/datastores.tsp index 1017f87de4e3..de82bf1c9ad0 100644 --- a/specification/vmware/Microsoft.AVS.Management/datastores.tsp +++ b/specification/vmware/Microsoft.AVS.Management/datastores.tsp @@ -104,7 +104,7 @@ model Datastore is ProxyResource { @doc("The properties of a datastore") model DatastoreProperties { @doc("The state of the datastore provisioning") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: DatastoreProvisioningState; @doc("An Azure NetApp Files volume") @@ -117,7 +117,7 @@ model DatastoreProperties { elasticSanVolume?: ElasticSanVolume; @doc("The operational status of the datastore") - @visibility("read") + @visibility(Lifecycle.Read) status?: DatastoreStatus; } @@ -142,7 +142,7 @@ model DiskPoolVolume { mountOption?: MountOptionEnum = MountOptionEnum.MOUNT; @doc("Device path") - @visibility("read") + @visibility(Lifecycle.Read) path?: string; } diff --git a/specification/vmware/Microsoft.AVS.Management/globalReachConnections.tsp b/specification/vmware/Microsoft.AVS.Management/globalReachConnections.tsp index 188fc9d3b3ec..0c0af43e620c 100644 --- a/specification/vmware/Microsoft.AVS.Management/globalReachConnections.tsp +++ b/specification/vmware/Microsoft.AVS.Management/globalReachConnections.tsp @@ -71,14 +71,14 @@ model GlobalReachConnection is ProxyResource { @doc("The properties of a global reach connection") model GlobalReachConnectionProperties { @doc("The state of the ExpressRoute Circuit Authorization provisioning") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: GlobalReachConnectionProvisioningState; @doc(""" The network used for global reach carved out from the original network block provided for the private cloud """) - @visibility("read") + @visibility(Lifecycle.Read) addressPrefix?: string; @doc(""" @@ -88,7 +88,7 @@ model GlobalReachConnectionProperties { authorizationKey?: string; @doc("The connection status of the global reach connection") - @visibility("read") + @visibility(Lifecycle.Read) circuitConnectionStatus?: GlobalReachConnectionStatus; @doc(""" diff --git a/specification/vmware/Microsoft.AVS.Management/hcxEnterpriseSites.tsp b/specification/vmware/Microsoft.AVS.Management/hcxEnterpriseSites.tsp index 42321ebdff64..9f21105e563b 100644 --- a/specification/vmware/Microsoft.AVS.Management/hcxEnterpriseSites.tsp +++ b/specification/vmware/Microsoft.AVS.Management/hcxEnterpriseSites.tsp @@ -64,14 +64,14 @@ union HcxEnterpriseSiteProvisioningState { @doc("The properties of an HCX Enterprise Site") model HcxEnterpriseSiteProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: HcxEnterpriseSiteProvisioningState; @doc("The activation key") - @visibility("read") + @visibility(Lifecycle.Read) activationKey?: string; @doc("The status of the HCX Enterprise Site") - @visibility("read") + @visibility(Lifecycle.Read) status?: HcxEnterpriseSiteStatus; } diff --git a/specification/vmware/Microsoft.AVS.Management/iscsiPaths.tsp b/specification/vmware/Microsoft.AVS.Management/iscsiPaths.tsp index be9c0fbd0e4c..1273e3c0aa47 100644 --- a/specification/vmware/Microsoft.AVS.Management/iscsiPaths.tsp +++ b/specification/vmware/Microsoft.AVS.Management/iscsiPaths.tsp @@ -40,11 +40,11 @@ model IscsiPath is ProxyResource { @doc("The properties of an iSCSI path resource") model IscsiPathProperties { @doc("The state of the iSCSI path provisioning") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: IscsiPathProvisioningState; @doc("CIDR Block for iSCSI path.") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) networkBlock: string; } diff --git a/specification/vmware/Microsoft.AVS.Management/locations.tsp b/specification/vmware/Microsoft.AVS.Management/locations.tsp index e8744184ca72..219b12185538 100644 --- a/specification/vmware/Microsoft.AVS.Management/locations.tsp +++ b/specification/vmware/Microsoft.AVS.Management/locations.tsp @@ -55,11 +55,11 @@ union QuotaEnabled { @doc("Subscription trial availability") model Trial { @doc("Trial status") - @visibility("read") + @visibility(Lifecycle.Read) status?: TrialStatus; @doc("Number of trial hosts available") - @visibility("read") + @visibility(Lifecycle.Read) availableHosts?: int32; } @@ -67,11 +67,11 @@ model Trial { model Quota { #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @doc("Remaining hosts quota by sku type") - @visibility("read") + @visibility(Lifecycle.Read) hostsRemaining?: Record; @doc("Host quota is active for current subscription") - @visibility("read") + @visibility(Lifecycle.Read) quotaEnabled?: QuotaEnabled; } @@ -100,6 +100,6 @@ union LocationProvisioningState { @doc("The properties of a location resource") model LocationProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: LocationProvisioningState; } diff --git a/specification/vmware/Microsoft.AVS.Management/main.tsp b/specification/vmware/Microsoft.AVS.Management/main.tsp index cbb694da7571..00e62ab15b4e 100644 --- a/specification/vmware/Microsoft.AVS.Management/main.tsp +++ b/specification/vmware/Microsoft.AVS.Management/main.tsp @@ -39,9 +39,7 @@ using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-core/casing-style" "Can not change existing name." @armProviderNamespace("Microsoft.AVS") -@service({ - title: "Azure VMware Solution API", -}) +@service(#{ title: "Azure VMware Solution API" }) @doc("Azure VMware Solution API") @versioned(Versions) namespace Microsoft.AVS; diff --git a/specification/vmware/Microsoft.AVS.Management/placementPolicies.tsp b/specification/vmware/Microsoft.AVS.Management/placementPolicies.tsp index 12f914973245..6f2447a0d8fe 100644 --- a/specification/vmware/Microsoft.AVS.Management/placementPolicies.tsp +++ b/specification/vmware/Microsoft.AVS.Management/placementPolicies.tsp @@ -36,9 +36,7 @@ interface PlacementPolicies { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @armResourceUpdate(PlacementPolicy) @patch @@ -149,7 +147,7 @@ model PlacementPolicyProperties { displayName?: string; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: PlacementPolicyProvisioningState; } diff --git a/specification/vmware/Microsoft.AVS.Management/privateClouds.tsp b/specification/vmware/Microsoft.AVS.Management/privateClouds.tsp index f35f0801baf4..42fd1e9c12f2 100644 --- a/specification/vmware/Microsoft.AVS.Management/privateClouds.tsp +++ b/specification/vmware/Microsoft.AVS.Management/privateClouds.tsp @@ -38,9 +38,7 @@ interface PrivateClouds { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) @armResourceUpdate(PrivateCloud) @patch @@ -227,7 +225,7 @@ model PrivateCloudUpdateProperties { identitySources?: IdentitySource[]; @doc("Properties describing how the cloud is distributed across availability zones") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) availability?: AvailabilityProperties; @doc("Customer managed key encryption, can be enabled or disabled") @@ -258,7 +256,7 @@ model PrivateCloudProperties { identitySources?: IdentitySource[]; @doc("Properties describing how the cloud is distributed across availability zones") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) availability?: AvailabilityProperties; @doc("Customer managed key encryption, can be enabled or disabled") @@ -273,14 +271,14 @@ model PrivateCloudProperties { extendedNetworkBlocks?: string[]; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: PrivateCloudProvisioningState; @doc("An ExpressRoute Circuit") circuit?: Circuit; @doc("The endpoints") - @visibility("read") + @visibility(Lifecycle.Read) endpoints?: Endpoints; @doc(""" @@ -291,15 +289,15 @@ model PrivateCloudProperties { networkBlock: string; @doc("Network used to access vCenter Server and NSX-T Manager") - @visibility("read") + @visibility(Lifecycle.Read) managementNetwork?: string; @doc("Used for virtual machine cold migration, cloning, and snapshot migration") - @visibility("read") + @visibility(Lifecycle.Read) provisioningNetwork?: string; @doc("Used for live migration of virtual machines") - @visibility("read") + @visibility(Lifecycle.Read) vmotionNetwork?: string; @doc("Optionally, set the vCenter admin password when the private cloud is created") @@ -311,15 +309,15 @@ model PrivateCloudProperties { nsxtPassword?: string; @doc("Thumbprint of the vCenter Server SSL certificate") - @visibility("read") + @visibility(Lifecycle.Read) vcenterCertificateThumbprint?: string; @doc("Thumbprint of the NSX-T Manager SSL certificate") - @visibility("read") + @visibility(Lifecycle.Read) nsxtCertificateThumbprint?: string; @doc("Array of cloud link IDs from other clouds that connect to this one") - @visibility("read") + @visibility(Lifecycle.Read) externalCloudLinks?: string[]; @doc(""" @@ -332,11 +330,11 @@ model PrivateCloudProperties { Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024 """) - @visibility("read") + @visibility(Lifecycle.Read) nsxPublicIpQuotaRaised?: NsxPublicIpQuotaRaisedEnum; @doc("Azure resource ID of the virtual network") - @visibility("create", "read") + @visibility(Lifecycle.Create, Lifecycle.Read) virtualNetworkId?: Azure.Core.armResourceIdentifier<[ { type: "\\Microsoft.Network\\vnet"; @@ -350,48 +348,48 @@ model PrivateCloudProperties { @doc("An ExpressRoute Circuit") model Circuit { @doc("CIDR of primary subnet") - @visibility("read") + @visibility(Lifecycle.Read) primarySubnet?: string; @doc("CIDR of secondary subnet") - @visibility("read") + @visibility(Lifecycle.Read) secondarySubnet?: string; #suppress "@azure-tools/typespec-azure-core/casing-style" "Can not change existing name." @doc("Identifier of the ExpressRoute Circuit (Microsoft Colo only)") - @visibility("read") + @visibility(Lifecycle.Read) expressRouteID?: string; #suppress "@azure-tools/typespec-azure-core/casing-style" "Can not change existing name." @doc("ExpressRoute Circuit private peering identifier") - @visibility("read") + @visibility(Lifecycle.Read) expressRoutePrivatePeeringID?: string; } @doc("Endpoint addresses") model Endpoints { @doc("Endpoint FQDN for the NSX-T Data Center manager") - @visibility("read") + @visibility(Lifecycle.Read) nsxtManager?: string; @doc("Endpoint FQDN for Virtual Center Server Appliance") - @visibility("read") + @visibility(Lifecycle.Read) vcsa?: string; @doc("Endpoint FQDN for the HCX Cloud Manager") - @visibility("read") + @visibility(Lifecycle.Read) hcxCloudManager?: string; @doc("Endpoint IP for the NSX-T Data Center manager") - @visibility("read") + @visibility(Lifecycle.Read) nsxtManagerIp?: string; @doc("Endpoint IP for Virtual Center Server Appliance") - @visibility("read") + @visibility(Lifecycle.Read) vcenterIp?: string; @doc("Endpoint IP for the HCX Cloud Manager") - @visibility("read") + @visibility(Lifecycle.Read) hcxCloudManagerIp?: string; } @@ -472,38 +470,38 @@ model EncryptionKeyVaultProperties { keyVersion?: string; @doc("The auto-detected version of the key if versionType is auto-detected.") - @visibility("read") + @visibility(Lifecycle.Read) autoDetectedKeyVersion?: string; @doc("The URL of the vault.") keyVaultUrl?: string; @doc("The state of key provided") - @visibility("read") + @visibility(Lifecycle.Read) keyState?: EncryptionKeyStatus; @doc("Property of the key if user provided or auto detected") - @visibility("read") + @visibility(Lifecycle.Read) versionType?: EncryptionVersionType; } @doc("Administrative credentials for accessing vCenter and NSX-T") model AdminCredentials { @doc("NSX-T Manager username") - @visibility("read") + @visibility(Lifecycle.Read) nsxtUsername?: string; @doc("NSX-T Manager password") - @visibility("read") + @visibility(Lifecycle.Read) @secret nsxtPassword?: string; @doc("vCenter admin username") - @visibility("read") + @visibility(Lifecycle.Read) vcenterUsername?: string; @doc("vCenter admin password") - @visibility("read") + @visibility(Lifecycle.Read) @secret vcenterPassword?: string; } diff --git a/specification/vmware/Microsoft.AVS.Management/scriptCmdlets.tsp b/specification/vmware/Microsoft.AVS.Management/scriptCmdlets.tsp index 1d657e456bda..4fcef34436df 100644 --- a/specification/vmware/Microsoft.AVS.Management/scriptCmdlets.tsp +++ b/specification/vmware/Microsoft.AVS.Management/scriptCmdlets.tsp @@ -84,24 +84,24 @@ union ScriptCmdletProvisioningState { @doc("Properties of a pre-canned script") model ScriptCmdletProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ScriptCmdletProvisioningState; @doc("Description of the scripts functionality") - @visibility("read") + @visibility(Lifecycle.Read) description?: string; @doc("Recommended time limit for execution") - @visibility("read") + @visibility(Lifecycle.Read) timeout?: string; @doc("Specifies whether a script cmdlet is intended to be invoked only through automation or visible to customers") - @visibility("read") + @visibility(Lifecycle.Read) audience?: ScriptCmdletAudience; #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" @doc("Parameters the script will accept") - @visibility("read") + @visibility(Lifecycle.Read) parameters?: ScriptParameter[]; } @@ -122,24 +122,24 @@ model ScriptParameter { The type of parameter the script is expecting. psCredential is a PSCredentialObject """) - @visibility("read") + @visibility(Lifecycle.Read) type?: ScriptParameterTypes; @doc("The parameter name that the script will expect a parameter value for") name?: string; @doc("User friendly description of the parameter") - @visibility("read") + @visibility(Lifecycle.Read) description?: string; @doc(""" Should this parameter be visible to arm and passed in the parameters argument when executing """) - @visibility("read") + @visibility(Lifecycle.Read) visibility?: VisibilityParameterEnum; @doc("Is this parameter required or optional") - @visibility("read") + @visibility(Lifecycle.Read) optional?: OptionalParamEnum; } diff --git a/specification/vmware/Microsoft.AVS.Management/scriptExecutions.tsp b/specification/vmware/Microsoft.AVS.Management/scriptExecutions.tsp index 51a7ba093f3c..63408f5e83be 100644 --- a/specification/vmware/Microsoft.AVS.Management/scriptExecutions.tsp +++ b/specification/vmware/Microsoft.AVS.Management/scriptExecutions.tsp @@ -125,19 +125,19 @@ model ScriptExecutionProperties { retention?: string; @doc("Time the script execution was submitted") - @visibility("read") + @visibility(Lifecycle.Read) submittedAt?: utcDateTime; @doc("Time the script execution was started") - @visibility("read") + @visibility(Lifecycle.Read) startedAt?: utcDateTime; @doc("Time the script execution was finished") - @visibility("read") + @visibility(Lifecycle.Read) finishedAt?: utcDateTime; @doc("The state of the script execution resource") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ScriptExecutionProvisioningState; @doc("Standard output stream from the powershell execution") @@ -150,15 +150,15 @@ model ScriptExecutionProperties { namedOutputs?: Record<{}>; @doc("Standard information out stream from the powershell execution") - @visibility("read") + @visibility(Lifecycle.Read) information?: string[]; @doc("Standard warning out stream from the powershell execution") - @visibility("read") + @visibility(Lifecycle.Read) warnings?: string[]; @doc("Standard error output stream from the powershell execution") - @visibility("read") + @visibility(Lifecycle.Read) errors?: string[]; } diff --git a/specification/vmware/Microsoft.AVS.Management/scriptPackages.tsp b/specification/vmware/Microsoft.AVS.Management/scriptPackages.tsp index 0ab2e3eafc60..48c087d63a16 100644 --- a/specification/vmware/Microsoft.AVS.Management/scriptPackages.tsp +++ b/specification/vmware/Microsoft.AVS.Management/scriptPackages.tsp @@ -39,22 +39,22 @@ union ScriptPackageProvisioningState { @doc("Properties of a Script Package subresource") model ScriptPackageProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ScriptPackageProvisioningState; @doc("User friendly description of the package") - @visibility("read") + @visibility(Lifecycle.Read) description?: string; @doc("Module version") - @visibility("read") + @visibility(Lifecycle.Read) version?: string; @doc("Company that created and supports the package") - @visibility("read") + @visibility(Lifecycle.Read) company?: string; @doc("Link to support by the package vendor") - @visibility("read") + @visibility(Lifecycle.Read) uri?: string; } diff --git a/specification/vmware/Microsoft.AVS.Management/virtualMachines.tsp b/specification/vmware/Microsoft.AVS.Management/virtualMachines.tsp index 9e8eebd6a68e..a5bc43810e41 100644 --- a/specification/vmware/Microsoft.AVS.Management/virtualMachines.tsp +++ b/specification/vmware/Microsoft.AVS.Management/virtualMachines.tsp @@ -64,23 +64,23 @@ union VirtualMachineProvisioningState { @doc("Virtual Machine Properties") model VirtualMachineProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: VirtualMachineProvisioningState; @doc("Display name of the VM.") - @visibility("read") + @visibility(Lifecycle.Read) displayName?: string; @doc("Virtual machine managed object reference id") - @visibility("read") + @visibility(Lifecycle.Read) moRefId?: string; @doc("Path to virtual machine's folder starting from datacenter virtual machine folder") - @visibility("read") + @visibility(Lifecycle.Read) folderPath?: string; @doc("Whether VM DRS-driven movement is restricted (enabled) or not (disabled)") - @visibility("read") + @visibility(Lifecycle.Read) restrictMovement?: VirtualMachineRestrictMovementState; } diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dhcpConfigurations.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dhcpConfigurations.tsp index 99abc4f78460..bc126f424e22 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dhcpConfigurations.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dhcpConfigurations.tsp @@ -41,7 +41,7 @@ interface WorkloadNetworkDhcpConfigurations { #suppress "@azure-tools/typespec-azure-core/no-openapi" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateDhcp") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; #suppress "deprecated" @@ -107,11 +107,11 @@ model WorkloadNetworkDhcpEntity { displayName?: string; @doc("NSX Segments consuming DHCP.") - @visibility("read") + @visibility(Lifecycle.Read) segments?: string[]; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkDhcpProvisioningState; @doc("NSX revision number.") diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsServices.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsServices.tsp index 0c7de01a8a5e..ddc9d340e7aa 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsServices.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsServices.tsp @@ -37,7 +37,7 @@ interface WorkloadNetworkDnsServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateDnsService") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< WorkloadNetworkDnsService, WorkloadNetworkDnsService @@ -53,9 +53,7 @@ interface WorkloadNetworkDnsServices { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) delete( ...Foundations.BaseParameters, @@ -151,11 +149,11 @@ model WorkloadNetworkDnsServiceProperties { logLevel?: DnsServiceLogLevelEnum; @doc("DNS Service status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: DnsServiceStatusEnum; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkDnsServiceProvisioningState; @doc("NSX revision number.") diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsZones.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsZones.tsp index f2fa3d54df41..88795240eb0f 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsZones.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-dnsZones.tsp @@ -34,7 +34,7 @@ interface WorkloadNetworkDnsZones { #suppress "@azure-tools/typespec-azure-core/no-openapi" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateDnsZone") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "DnsZoneIdParameter should be last, but it is breaking to correct it." @@ -47,9 +47,7 @@ interface WorkloadNetworkDnsZones { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) delete( ...Foundations.BaseParameters, @@ -114,7 +112,7 @@ model WorkloadNetworkDnsZoneProperties { dnsServices?: int64; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkDnsZoneProvisioningState; @doc("NSX revision number.") diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-gateways.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-gateways.tsp index 2240338721f5..7cfa3f1748aa 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-gateways.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-gateways.tsp @@ -36,13 +36,13 @@ model WorkloadNetworkGateway @doc("Properties of a NSX Gateway.") model WorkloadNetworkGatewayProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkProvisioningState; @doc("Display name of the DHCP entity.") displayName?: string; @doc("NSX Gateway Path.") - @visibility("read") + @visibility(Lifecycle.Read) path?: string; } diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-portMirroringProfiles.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-portMirroringProfiles.tsp index 23d7ce77a516..95008abdf683 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-portMirroringProfiles.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-portMirroringProfiles.tsp @@ -34,7 +34,7 @@ interface WorkloadNetworkPortMirroringProfiles { #suppress "@azure-tools/typespec-azure-core/no-openapi" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdatePortMirroring") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< WorkloadNetworkPortMirroring, WorkloadNetworkPortMirroring @@ -50,9 +50,7 @@ interface WorkloadNetworkPortMirroringProfiles { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) delete( ...Foundations.BaseParameters, @@ -139,11 +137,11 @@ model WorkloadNetworkPortMirroringProperties { destination?: string; @doc("Port Mirroring Status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: PortMirroringStatusEnum; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkPortMirroringProvisioningState; @doc("NSX revision number.") diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-publicIPs.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-publicIPs.tsp index 6f0e02bb11a5..bdada676b8cb 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-publicIPs.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-publicIPs.tsp @@ -41,9 +41,7 @@ interface WorkloadNetworkPublicIps { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) delete( ...Foundations.BaseParameters, @@ -99,10 +97,10 @@ model WorkloadNetworkPublicIPProperties { numberOfPublicIPs?: int64; @doc("CIDR Block of the Public IP Block.") - @visibility("read") + @visibility(Lifecycle.Read) publicIPBlock?: string; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkPublicIPProvisioningState; } diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-segments.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-segments.tsp index 84f04ac61c04..fd6e34d57a4f 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-segments.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-segments.tsp @@ -31,7 +31,7 @@ interface WorkloadNetworkSegments { #suppress "@azure-tools/typespec-azure-core/no-openapi" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateSegments") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; #suppress "deprecated" @@ -91,15 +91,15 @@ model WorkloadNetworkSegmentProperties { #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" @doc("Port Vif which segment is associated with.") - @visibility("read") + @visibility(Lifecycle.Read) portVif?: WorkloadNetworkSegmentPortVif[]; @doc("Segment status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: SegmentStatusEnum; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkSegmentProvisioningState; @doc("NSX revision number.") diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-virtualMachines.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-virtualMachines.tsp index 4421f6f2a00b..263f23987871 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-virtualMachines.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-virtualMachines.tsp @@ -39,14 +39,14 @@ model WorkloadNetworkVirtualMachine @doc("NSX Virtual Machine Properties") model WorkloadNetworkVirtualMachineProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkProvisioningState; @doc("Display name of the VM.") displayName?: string; @doc("Virtual machine type.") - @visibility("read") + @visibility(Lifecycle.Read) vmType?: VMTypeEnum; } diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-vmGroups.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-vmGroups.tsp index d4148b9dd33c..6feeb3629d2e 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks-vmGroups.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks-vmGroups.tsp @@ -34,7 +34,7 @@ interface WorkloadNetworkVmGroups { #suppress "@azure-tools/typespec-azure-core/no-openapi" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateVMGroup") - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "VmGroupIdParameter should be last, but it is breaking to correct it." @@ -47,9 +47,7 @@ interface WorkloadNetworkVmGroups { @extension("x-ms-long-running-operation", true) @extension( "x-ms-long-running-operation-options", - { - `final-state-via`: "location", - } + #{ `final-state-via`: "location" } ) delete( ...Foundations.BaseParameters, @@ -118,11 +116,11 @@ model WorkloadNetworkVMGroupProperties { members?: string[]; @doc("VM Group status.") - @visibility("read") + @visibility(Lifecycle.Read) status?: VMGroupStatusEnum; @doc("The provisioning state") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkVMGroupProvisioningState; @doc("NSX revision number.") diff --git a/specification/vmware/Microsoft.AVS.Management/workloadNetworks.tsp b/specification/vmware/Microsoft.AVS.Management/workloadNetworks.tsp index 509ff20a72d1..9beaf3a20437 100644 --- a/specification/vmware/Microsoft.AVS.Management/workloadNetworks.tsp +++ b/specification/vmware/Microsoft.AVS.Management/workloadNetworks.tsp @@ -51,6 +51,6 @@ union WorkloadNetworkProvisioningState { @doc("The properties of a workload network") model WorkloadNetworkProperties { @doc("The provisioning state of the resource.") - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadNetworkProvisioningState; } diff --git a/specification/voiceservices/VoiceServices.Provisioning/main.tsp b/specification/voiceservices/VoiceServices.Provisioning/main.tsp index 119620699173..6e3f172b7ff7 100644 --- a/specification/voiceservices/VoiceServices.Provisioning/main.tsp +++ b/specification/voiceservices/VoiceServices.Provisioning/main.tsp @@ -11,9 +11,7 @@ using TypeSpec.Versioning; using Azure.Core; using Azure.Core.Traits; -@service({ - title: "Microsoft.VoiceServices.Provisioning", -}) +@service(#{ title: "Microsoft.VoiceServices.Provisioning" }) @useAuth( [ OAuth2Auth<[ @@ -63,11 +61,11 @@ union ServiceProvisioningStatus { alias ProvisioningStatus = { @doc("The status of the provisioning action associated with this resource.") - @visibility("read") + @visibility(Lifecycle.Read) serviceProvisioningStatus?: ServiceProvisioningStatus; @doc("Any errors pertaining to the provisioning of this resource.") - @visibility("read") + @visibility(Lifecycle.Read) serviceProvisioningErrors?: Azure.Core.Foundations.Error[]; }; @@ -77,14 +75,14 @@ model NumberIdentifier { @minLength(3) @maxLength(16) @pattern("^\\+[1-9]\\d+$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) telephoneNumber: string; } @doc("A list identifiers for a Number resource.") model NumberIdentifiers { @doc("Array containing a list of identifiers for Number resources.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) numbers: NumberIdentifier[]; } @@ -95,19 +93,19 @@ model NumberIdentifiers { alias ServiceSyncEnabled = { @doc("Boolean indicating if data is being provisioned through the backend service.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) syncEnabled: boolean; }; alias ServiceEnabled = { @doc("Boolean indicating if the service is enabled on this Account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) enabled: boolean; }; alias ServiceNumberCount = { @doc("The count of telephone numbers associated with this account that have this backend service enabled.") - @visibility("read") + @visibility(Lifecycle.Read) numberCount?: int64; }; @@ -124,14 +122,14 @@ model TeamsDirectRoutingSubdomainTokens { @minLength(1) @maxLength(100) @pattern("^([A-Za-z0-9=_-]+)$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) region1Token: string; @doc("DNS TXT value for the second region, as provided by the enterprise admin from their Microsoft 365 Admin Center. Can only contain letters, numbers, underscores and dashes. Can be up to 100 characters in length.") @minLength(1) @maxLength(100) @pattern("^([A-Za-z0-9=_-]+)$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) region2Token: string; } @@ -152,18 +150,18 @@ union TeamsDirectRoutingSubdomainProvisioningStatus { @doc("Configuration specific to Teams Direct Routing.") model TeamsDirectRoutingAccountConfig { @doc("Enables/disables caller ID screening for the account. Caller ID screening is enabled by default.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) callScreening: boolean; @doc("Enterprise-specific domain name label. Can only contain letters, numbers, underscores and dashes. Can be up to 10 characters in length.") @minLength(1) @maxLength(10) @pattern("^([A-Za-z0-9_-]+)$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) subdomain: string; @doc("DNS TXT value for the Direct Routing regions, as provided by the customer from their Microsoft 365 Admin Center.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) subdomainTokens: TeamsDirectRoutingSubdomainTokens; } @@ -174,11 +172,11 @@ model TeamsDirectRoutingAccountDetails { ...ServiceNumberCount; @doc("The configuration for Teams Direct Routing on this account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) configuration?: TeamsDirectRoutingAccountConfig; @doc("The provisioning status of the domains.") - @visibility("read") + @visibility(Lifecycle.Read) subdomainStatus: TeamsDirectRoutingSubdomainProvisioningStatus; } @@ -205,27 +203,27 @@ model AzureOperatorCallProtectionAccountDetails { @doc("Details of the backend services associated with this Account.") model AccountServiceDetails { @doc("The Microsoft Teams Tenant ID of the Account. This can only be updated if no Operator Connect or Teams Phone Mobile numbers are configured in this account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) teamsTenantId?: string; @doc("Details for the Teams Operator Connect service on this Account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) teamsOperatorConnect?: TeamsOperatorConnectAccountDetails; @doc("Details for the Teams Direct Routing service on this Account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) teamsDirectRouting?: TeamsDirectRoutingAccountDetails; @doc("Details for the Teams Phone Mobile service on this Account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) teamsPhoneMobile?: TeamsPhoneMobileAccountDetails; @doc("Details for the Zoom Phone Cloud Peering service on this Account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) zoomPhoneCloudPeering?: ZoomPhoneCloudPeeringAccountDetails; @doc("Details for the Azure Operator Call Protection service on this Account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) azureOperatorCallProtection?: AzureOperatorCallProtectionAccountDetails; } @@ -238,16 +236,16 @@ model AccountResource { @minLength(1) @maxLength(100) @pattern("^([A-Za-z0-9_-]+)$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) @key("accountName") name: string; @doc("A user defined identifier used for correlating with external systems.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) correlationId?: string; @doc("The details of the account.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) serviceDetails?: AccountServiceDetails; } @@ -259,41 +257,41 @@ model AccountResource { @doc("The Teams capabilities available for numbers with Operator Connect or Teams Phone Mobile services enabled.") model TeamsAvailableCapabilities { @doc("The available capabilities for the numbers specified with Operator Connect or Teams Phone Mobile services enabled.") - @visibility("read") + @visibility(Lifecycle.Read) availableCapabilities: string[]; } @doc("A teams capability plan for a given usage.") model TeamsCapabilityPlan { @doc("The capability plan name.") - @visibility("read") + @visibility(Lifecycle.Read) name: string; @doc("The offer types available.") - @visibility("read") + @visibility(Lifecycle.Read) offerTypes?: string[]; @doc("The telephone number usage.") - @visibility("read") + @visibility(Lifecycle.Read) usage: string; @doc("Mandatory capabilities for telephone numbers.") - @visibility("read") + @visibility(Lifecycle.Read) mandatoryCapabilities?: string[]; @doc("Choosable capabilities for telephone numbers.") - @visibility("read") + @visibility(Lifecycle.Read) choosableCapabilities?: string[]; @doc("Boolean indicating if Toll free is supported.") - @visibility("read") + @visibility(Lifecycle.Read) supportsTollFree: boolean; } @doc("The Teams telephone number upload usages for this account.") model TeamsCapabilityPlans { @doc("A list of telephone number upload usages.") - @visibility("read") + @visibility(Lifecycle.Read) capabilityPlans: TeamsCapabilityPlan[]; } @@ -317,28 +315,28 @@ union ValidationStatus { model Location { @minLength(1) @doc("The ID of the location.") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @minLength(1) @doc("The civic address ID of the location.") - @visibility("read") + @visibility(Lifecycle.Read) civicAddressId: string; @doc("The description of the location.") - @visibility("read") + @visibility(Lifecycle.Read) description?: string; @doc("The additional information of the location.") - @visibility("read") + @visibility(Lifecycle.Read) additionalInfo?: string; @doc("Flag indicating whether the location is default or not.") - @visibility("read") + @visibility(Lifecycle.Read) isDefault?: boolean; @doc("The elin (Emergency Location Identification Number) of the location.") - @visibility("read") + @visibility(Lifecycle.Read) elin?: string; } @@ -349,96 +347,96 @@ model TeamsCivicAddressResource { @minLength(1) @doc("The ID of the civic address.") @key("civicAddressId") - @visibility("read") + @visibility(Lifecycle.Read) id: string; @doc("The country of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) country?: string; @doc("The house number of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) houseNumber?: string; @doc("The house number suffix of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) houseNumberSuffix?: string; @doc("The pre directional of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) preDirectional?: string; @doc("The street name of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) streetName?: string; @doc("The street suffix of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) streetSuffix?: string; @doc("The post directional of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) postDirectional?: string; @doc("The state or province of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) stateOrProvince?: string; @doc("The county or district of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) countyOrDistrict?: string; @doc("The city or town of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) cityOrTown?: string; @doc("The city or town alias of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) cityOrTownAlias?: string; @doc("The postal or zip code of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) postalOrZipCode?: string; @doc("The description of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) description?: string; @doc("The company name of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) companyName?: string; @doc("The company ID of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) companyId?: string; @minLength(1) @doc("The default location ID of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) defaultLocationId: string; @doc("The validation status of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) validationStatus?: ValidationStatus; @doc("The customer tenant ID of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) tenantId?: string; @doc("The partner ID of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) partnerId?: string; @doc("The list of locations associated with the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) locations?: Location[]; @doc("The latitude of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) latitude?: string; @doc("The longitude of the civic address.") - @visibility("read") + @visibility(Lifecycle.Read) longitude?: string; } @@ -460,52 +458,52 @@ union TelephoneNumberAssignmentStatus { alias NumberAssignmentStatus = { @doc("The assignment status of this Number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) assignmentStatus?: TelephoneNumberAssignmentStatus; }; @doc("Telephone number configuration for Teams Operator Connect and Teams Phone Mobile telephone numbers.") model TeamsCommonNumberConfig { @doc("The usage for this telephone number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) usage: string; @doc("The choosable capabilities for this telephone number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) choosableCapabilities: string[]; @doc("The acquired capabilities for this telephone number.") - @visibility("read") + @visibility(Lifecycle.Read) acquiredCapabilities?: string[]; @doc("The available capabilities for this telephone number.") - @visibility("read") + @visibility(Lifecycle.Read) availableCapabilities?: string[]; @doc("The additional usages for this telephone number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) additionalUsages?: string[]; @doc("The ID of the civic address to be used as the emergency address for this telephone number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) civicAddressId?: string; @doc("The ID of the location to be used as the emergency address for this telephone number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) locationId?: string; @doc("If the enterprise is allowed to update the address for this telephone number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) allowTenantAddressUpdate?: boolean = false; @doc("The country code to be displayed with this telephone number") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) displayedCountryCode?: string; } alias NumberServiceEnabled = { @doc("Boolean indicating if the service is enabled on this Number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) enabled: boolean; }; @@ -520,7 +518,7 @@ model TeamsOperatorConnectNumberDetails { ...NumberAssignmentStatus; @doc("The configuration for Teams Operator Connect on this number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) configuration?: TeamsOperatorConnectNumberConfig; } @@ -540,7 +538,7 @@ model TeamsPhoneMobileNumberDetails { ...NumberAssignmentStatus; @doc("The configuration for Teams Phone Mobile on this number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) configuration?: TeamsPhoneMobileNumberConfig; } @@ -557,23 +555,23 @@ model AzureOperatorCallProtectionNumberDetails { @doc("Configuration of backend services for a telephone number.") model NumberServiceDetails { @doc("Details for the Teams Operator Connect service on this Number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) teamsOperatorConnect?: TeamsOperatorConnectNumberDetails; @doc("Details for the Teams Direct Routing service on this Number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) teamsDirectRouting?: TeamsDirectRoutingNumberDetails; @doc("Details for the Teams Phone Mobile service on this Number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) teamsPhoneMobile?: TeamsPhoneMobileNumberDetails; @doc("Details for the Zoom Phone Cloud Peering service on this Number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) zoomPhoneCloudPeering?: ZoomPhoneCloudPeeringNumberDetails; @doc("Details for the Azure Operator Call Protection service on this Number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) azureOperatorCallProtection?: AzureOperatorCallProtectionNumberDetails; } @@ -583,7 +581,7 @@ model NumberConfiguration { @minLength(1) @maxLength(100) @pattern("^([A-Za-z0-9_-])+$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) customSipHeader?: string; } @@ -597,7 +595,7 @@ model NumberResource { @minLength(1) @maxLength(16) @pattern("^\\+[1-9]\\d+$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) @key("telephoneNumber") telephoneNumber: string; @@ -605,15 +603,15 @@ model NumberResource { @minLength(1) @maxLength(100) @pattern("^([A-Za-z0-9_-]+)$") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) accountName: string; @doc("Configuration of the individual backend services for this number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) serviceDetails: NumberServiceDetails; @doc("Configuration for this number.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) configuration?: NumberConfiguration; } @@ -621,7 +619,7 @@ model NumberResource { model BatchNumbers { @doc("The list of numbers to upload. At most 100 can be uploaded in one request.") @maxItems(100) - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) numbers: NumberResource[]; } @@ -629,7 +627,7 @@ model BatchNumbers { model BatchNumbersDelete { @doc("The list of number to delete. At most 100 can be deleted in one request.") @maxItems(100) - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) numbers: NumberIdentifier[]; } @@ -658,39 +656,39 @@ union TeamsConsentStatus { model ContactDetails { @doc("The full name of the contact detail.") @minLength(1) - @visibility("read") + @visibility(Lifecycle.Read) fullName: string; @doc("The email of the contact detail.") @minLength(1) - @visibility("read") + @visibility(Lifecycle.Read) email: string; @doc("The telephone number of the contact detail.") - @visibility("read") + @visibility(Lifecycle.Read) telephoneNumber?: string; @doc("The company name of the contact detail.") - @visibility("read") + @visibility(Lifecycle.Read) companyName?: string; @doc("The company size of the contact detail.") - @visibility("read") + @visibility(Lifecycle.Read) companySize?: string; } @doc("Details of a customer relationship.") model CustomerRelationship { @doc("The status of the customer relationship.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) status?: string; @doc("The time (ISO8601 format) when the customer relationship is last modified.") - @visibility("read") + @visibility(Lifecycle.Read) lastModifiedOn?: utcDateTime; @doc("The comment of the customer relationship.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) comment?: string; } @@ -700,7 +698,7 @@ model RequestForInformationResource { ...ProvisioningStatus; @doc("The ID of the Request for Information.") - @visibility("read") + @visibility(Lifecycle.Read) id?: string; @doc("The Teams tenant ID which generated this Request for Information.") @@ -708,43 +706,43 @@ model RequestForInformationResource { @maxLength(36) @pattern("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") @key("tenantId") - @visibility("read") + @visibility(Lifecycle.Read) tenantId: string; @doc("The name of the account associated with this Request for Information.") - @visibility("read") + @visibility(Lifecycle.Read) accountName?: string; @doc("Will always be 'teams'.") - @visibility("read") + @visibility(Lifecycle.Read) productContext?: string; @doc("The operator ID of the operator consent.") - @visibility("read") + @visibility(Lifecycle.Read) operatorId?: string; @doc("The status of the operator consent.") - @visibility("read") + @visibility(Lifecycle.Read) status?: TeamsConsentStatus; @doc("The time (ISO8601 format) when the operator consent is created.") - @visibility("read") + @visibility(Lifecycle.Read) consentedOn?: utcDateTime; @doc("The time (ISO8601 format) when the operator consent is last modified.") - @visibility("read") + @visibility(Lifecycle.Read) lastModifiedOn?: utcDateTime; @doc("The list of consented countries.") - @visibility("read") + @visibility(Lifecycle.Read) consentedCountries?: string[]; @doc("The list of tenant contacts.") - @visibility("read") + @visibility(Lifecycle.Read) contacts?: ContactDetails[]; @doc("The customer relationship of the operator consent.") - @visibility("read", "update", "create") + @visibility(Lifecycle.Read, Lifecycle.Update, Lifecycle.Create) customerRelationship?: CustomerRelationship; } diff --git a/specification/voiceservices/resource-manager/Microsoft.VoiceServices/cadl/voiceservices.cadl b/specification/voiceservices/resource-manager/Microsoft.VoiceServices/cadl/voiceservices.cadl index aa60477f78f4..56b02758e543 100644 --- a/specification/voiceservices/resource-manager/Microsoft.VoiceServices/cadl/voiceservices.cadl +++ b/specification/voiceservices/resource-manager/Microsoft.VoiceServices/cadl/voiceservices.cadl @@ -11,7 +11,7 @@ using Cadl.Versioning; using Azure.ResourceManager; @armProviderNamespace("Microsoft.VoiceServices") -@service({ +@service(#{ title: "Microsoft.VoiceServices", }) @versioned(Versions) diff --git a/specification/workloads/Workloads.Operations.Management/main.tsp b/specification/workloads/Workloads.Operations.Management/main.tsp index d50afa989748..9f8505a9758e 100644 --- a/specification/workloads/Workloads.Operations.Management/main.tsp +++ b/specification/workloads/Workloads.Operations.Management/main.tsp @@ -11,9 +11,7 @@ using TypeSpec.Versioning; * Workloads client provides access to various workload operations. */ @armProviderNamespace -@service({ - title: "Workloads Client", -}) +@service(#{ title: "Workloads Client" }) @versioned(Versions) namespace Microsoft.Workloads; diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp index a3b3b3193aaf..ca20cf351897 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp @@ -16,7 +16,7 @@ model SAPDiscoverySite is TrackedResource { @path @key("sapDiscoverySiteName") @segment("sapDiscoverySites") - @visibility("read") + @visibility(Lifecycle.Read) name: string; /** @@ -46,7 +46,7 @@ interface SAPDiscoverySites { /** * Updates a SAP Migration discovery site resource. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmTagsPatchSync; /** diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp index 5b884636749a..ce27c2335c5b 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp @@ -17,7 +17,7 @@ model SAPInstance is TrackedResource { @path @key("sapInstanceName") @segment("sapInstances") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -42,7 +42,7 @@ interface SAPInstances { /** * Updates the SAP Instance resource. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmTagsPatchSync; /** diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp index 3a35ece80995..e53989de18e4 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp @@ -15,7 +15,7 @@ model ServerInstance is ProxyResource { @path @key("serverInstanceName") @segment("serverInstances") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -39,7 +39,7 @@ interface ServerInstances { /** * Updates the Server Instance resource. This operation on a resource by end user will return a Bad Request error. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync; /** diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/main.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/main.tsp index 16cb9f0468b4..8b94d4116677 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/main.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/main.tsp @@ -18,9 +18,7 @@ using TypeSpec.Versioning; */ #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Operations Swagger is common for all RTs and is created as a separate file having it's own folder." @armProviderNamespace -@service({ - title: "Workloads Client", -}) +@service(#{ title: "Workloads Client" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) namespace Microsoft.Workloads; diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp index 06baba790789..e2163ecbfb4f 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp @@ -183,13 +183,13 @@ model SAPDiscoverySiteProperties { /** * Defines the provisioning states. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Indicates any errors on the SAP Migration discovery site resource. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: SAPMigrateError; } @@ -213,26 +213,26 @@ model ErrorDefinition { /** * Service specific error code which serves as the substatus for the HTTP error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: string; /** * Description of the error. */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string; /** * Description of the recommendation. */ - @visibility("read") + @visibility(Lifecycle.Read) recommendation?: string; /** * Internal error details. */ - @visibility("read") - @extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @identifiers(#[]) details?: ErrorDefinition[]; } @@ -259,37 +259,37 @@ model SAPInstanceProperties { /** * This is the SID of SAP System. Keeping this not equal to ID as different landscapes can have repeated System SID IDs. */ - @visibility("read") + @visibility(Lifecycle.Read) systemSid?: string; /** * The Environment; PRD, QA, DEV, etc to which SAP system belongs to. Select from the list of available dropdown values. */ - @visibility("read") + @visibility(Lifecycle.Read) environment?: SapInstanceEnvironment; /** * This is the SID of the production system in a landscape. An SAP system could itself be a production SID or a part of a landscape with a different Production SID. This field can be used to relate non-prod SIDs, other components, SID (WEBDISP) to the prod SID. Enter the value of Production SID. */ - @visibility("read") + @visibility(Lifecycle.Read) landscapeSid?: string; /** * Enter a business function/department identifier to group multiple SIDs. */ - @visibility("read") + @visibility(Lifecycle.Read) application?: string; /** * Defines the provisioning states. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Defines the errors related to SAP Instance resource. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: SAPMigrateError; } @@ -300,61 +300,61 @@ model ServerInstanceProperties { /** * This is the Virtual Machine Name of the SAP system. Add all the virtual machines attached to an SAP system which you wish to migrate to Azure. Keeping this not equal to ID as for single tier all InstanceTypes would be on same server, leading to multiple resources with same servername. */ - @visibility("read") + @visibility(Lifecycle.Read) serverName?: string; /** * Defines the type SAP instance on this server instance. */ - @visibility("read") + @visibility(Lifecycle.Read) sapInstanceType?: SapInstanceType; /** * This is the Instance SID for ASCS/AP/DB instance. An SAP system with HANA database for example could have a different SID for database Instance than that of ASCS instance. */ - @visibility("read") + @visibility(Lifecycle.Read) instanceSid?: string; /** * This is the SAP Application Component; e.g. SAP S/4HANA 2022, SAP ERP ENHANCE PACKAGE. */ - @visibility("read") + @visibility(Lifecycle.Read) sapProduct?: string; /** * Provide the product version of the SAP product. */ - @visibility("read") + @visibility(Lifecycle.Read) sapProductVersion?: string; /** * This is Operating System on which the host server is running. */ - @visibility("read") + @visibility(Lifecycle.Read) operatingSystem?: OperatingSystem; /** * Configuration data for this server instance. */ - @visibility("read") + @visibility(Lifecycle.Read) configurationData?: ConfigurationData; /** * Configuration data for this server instance. */ - @visibility("read") + @visibility(Lifecycle.Read) performanceData?: PerformanceData; /** * Defines the provisioning states. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; /** * Defines the errors related to SAP Instance resource. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: SAPMigrateError; } @@ -375,69 +375,69 @@ model ConfigurationData { /** * Provide the SAPS for each server of the SAP system. This should be a non-zero value. For example, 1000. */ - @visibility("read") + @visibility(Lifecycle.Read) saps?: int32; /** * Provide the CPU value of the server. For example, 16, 32 etc. */ - @visibility("read") + @visibility(Lifecycle.Read) cpu?: int32; /** * Provide the CPU architecture type of the server. For example, Xeon Platinum 8171M, Xeon E5-2673 v3. */ - @visibility("read") + @visibility(Lifecycle.Read) cpuType?: string; /** * Provide the CPU clock speed of the server in MHz. This should be a non-zero value. For example, 2100. */ - @visibility("read") + @visibility(Lifecycle.Read) cpuInMhz?: int32; /** * Provide the RAM of the server. This should be a non-zero value. For example, 256. */ - @visibility("read") + @visibility(Lifecycle.Read) ram?: int32; /** * Provide the HW manufacturer company of the server. For example, Microsoft Corporation. */ - @visibility("read") + @visibility(Lifecycle.Read) hardwareManufacturer?: string; /** * Specify if the Hardware is a physical server or virtual machine. */ - @visibility("read") + @visibility(Lifecycle.Read) `model`?: string; /** * Provide the total disk volume capacity in GB. Add the disk volume for each individual disks and provide the total sum in this field. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "GB is short for Gigabytes." - @visibility("read") + @visibility(Lifecycle.Read) totalDiskSizeGB?: int32; /** * Provide the total disk IOPS capacity. Add the disk volume for each individual disk and provide the sum total in this field. */ - @visibility("read") + @visibility(Lifecycle.Read) totalDiskIops?: int32; /** * The database of this is a server instance. Applicable only if SAP instance type for this server instance is 'DB'. */ - @visibility("read") + @visibility(Lifecycle.Read) databaseType?: DatabaseType; /** * Provide the target HANA database size you need. Applicable only if SAP instance type for this server instance is 'DB' and you are migrating an AnyDb database to SAP S/4HANA. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "GB is short for Gigabytes." - @visibility("read") + @visibility(Lifecycle.Read) targetHanaRamSizeGB?: int32; } @@ -457,14 +457,14 @@ model ExcelPerformanceData extends PerformanceData { /** * Provide the max CPU percentage load on the server. Omit the percentage symbol while filling this value. */ - @visibility("read") + @visibility(Lifecycle.Read) maxCpuLoad?: int32; /** * Provide the source Database size in GB. Applicable only if SAP instance type for this server instance is 'DB'. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "GB is short for Gigabytes." - @visibility("read") + @visibility(Lifecycle.Read) totalSourceDbSizeGB?: int32; /** diff --git a/specification/workloads/Workloads.SAPMonitor.Management/Alert.tsp b/specification/workloads/Workloads.SAPMonitor.Management/Alert.tsp index e741adc737b8..f1e887115841 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/Alert.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/Alert.tsp @@ -18,7 +18,7 @@ model Alert is ProxyResource { @path @key("alertName") @segment("alerts") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/workloads/Workloads.SAPMonitor.Management/AlertTemplate.tsp b/specification/workloads/Workloads.SAPMonitor.Management/AlertTemplate.tsp index 4b95fc9c3a7e..f56fdb75d834 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/AlertTemplate.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/AlertTemplate.tsp @@ -16,7 +16,7 @@ model AlertTemplate is ProxyResource { @path @key("alertTemplateName") @segment("alertTemplates") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp b/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp index 542752e4af90..82af5294b26b 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp @@ -15,7 +15,7 @@ model Monitor is TrackedResource { @path @key("monitorName") @segment("monitors") - @visibility("read") + @visibility(Lifecycle.Read) name: string; ...ManagedServiceIdentityProperty; @@ -41,7 +41,7 @@ interface Monitors { /** * Patches the Tags field of a SAP monitor for the specified subscription, resource group, and SAP monitor name. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** diff --git a/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp b/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp index 32a0311f4e62..0a9602a0f157 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp @@ -15,7 +15,7 @@ model ProviderInstance is ProxyResource { @path @key("providerInstanceName") @segment("providerInstances") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } diff --git a/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp b/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp index b0b964619191..b7404b62b9b7 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/SapLandscapeMonitor.tsp @@ -25,7 +25,7 @@ model SapLandscapeMonitorResource @key @path @segment("sapLandscapeMonitor") - @visibility("read") + @visibility(Lifecycle.Read) name: string; } @@ -44,7 +44,7 @@ interface SapLandscapeMonitor { /** * Patches the SAP Landscape Monitor Dashboard for the specified subscription, resource group, and SAP monitor name. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< SapLandscapeMonitorResource, SapLandscapeMonitorResource diff --git a/specification/workloads/Workloads.SAPMonitor.Management/main.tsp b/specification/workloads/Workloads.SAPMonitor.Management/main.tsp index f1943e844cea..6809fb79ee14 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/main.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/main.tsp @@ -17,9 +17,7 @@ using TypeSpec.Versioning; */ #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" "Operations Swagger is common for all RTs and is created as a separate file having it's own folder." @armProviderNamespace -@service({ - title: "Workloads Client", -}) +@service(#{ title: "Workloads Client" }) @versioned(Versions) namespace Microsoft.Workloads; diff --git a/specification/workloads/Workloads.SAPMonitor.Management/models.tsp b/specification/workloads/Workloads.SAPMonitor.Management/models.tsp index d0fef8375516..c9f421374083 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/models.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/models.tsp @@ -242,13 +242,13 @@ model MonitorProperties { /** * State of provisioning of the SAP monitor. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadMonitorProvisioningState; /** * Defines the SAP monitor errors. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: ErrorDetail; /** @@ -289,13 +289,13 @@ model MonitorProperties { /** * The ARM ID of the MSI used for SAP monitoring. */ - @visibility("read") + @visibility(Lifecycle.Read) msiArmId?: string; /** * The ARM ID of the Storage account used for SAP monitoring. */ - @visibility("read") + @visibility(Lifecycle.Read) storageAccountArmId?: string; } @@ -340,19 +340,19 @@ model ProviderInstanceProperties { /** * State of provisioning of the provider instance */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadMonitorProvisioningState; /** * Resource health details */ - @visibility("read") + @visibility(Lifecycle.Read) health?: Health; /** * Defines the provider instance errors. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: ErrorDetail; /** @@ -368,13 +368,13 @@ model Health { /** * Health state of the resource */ - @visibility("read") + @visibility(Lifecycle.Read) healthState?: WorkloadProviderInstanceHealthState; /** * Reasons impacting health state */ - @visibility("read") + @visibility(Lifecycle.Read) impactingReasons?: string; } @@ -387,7 +387,7 @@ model ProviderSpecificProperties { * The provider type. For example, the value can be SapHana. */ #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) providerType: string; } @@ -398,7 +398,7 @@ model SapLandscapeMonitorProperties { /** * State of provisioning of the SAP monitor. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: SapLandscapeMonitorProvisioningState; /** @@ -410,7 +410,7 @@ model SapLandscapeMonitorProperties { * Gets or sets the list Top Metric Thresholds for SAP Landscape Monitor Dashboard */ @maxItems(50) - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) topMetricsThresholds?: SapLandscapeMonitorMetricThresholds[]; } @@ -422,14 +422,14 @@ model SapLandscapeMonitorPropertiesGrouping { * Gets or sets the list of landscape to SID mappings. */ @maxItems(50) - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) landscape?: SapLandscapeMonitorSidMapping[]; /** * Gets or sets the list of Sap Applications to SID mappings. */ @maxItems(50) - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) sapApplication?: SapLandscapeMonitorSidMapping[]; } @@ -851,13 +851,13 @@ model AlertProperties { /** * Defines the alert instance errors. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: ErrorDetail; /** * ID of the alert rule resource created. */ - @visibility("read") + @visibility(Lifecycle.Read) alertRuleResourceId?: armResourceIdentifier; /** @@ -883,7 +883,7 @@ model AlertProperties { /** * State of provisioning of the alert instance */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadMonitorProvisioningState; } @@ -957,7 +957,7 @@ model AlertRuleProperties { /** * The alert query parameters. */ - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) alertQueryParameters?: AlertQueryParameter[]; } @@ -985,13 +985,13 @@ model AlertTemplateProperties { /** * Defines the SAP monitor Alert Template errors. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: ErrorDetail; /** * State of provisioning of the Alert Template. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: WorkloadMonitorProvisioningState; /** @@ -1060,7 +1060,7 @@ model AlertTemplateProperties { * Describes the Query Input Parameter properties in alerts template. */ @maxItems(50) - @extension("x-ms-identifiers", ["name"]) + @extension("x-ms-identifiers", #["name"]) queryInputParameters?: AlertTemplateQueryInputParameter[]; } diff --git a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPApplicationServerInstance.tsp b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPApplicationServerInstance.tsp index 0325a37abe21..b466fb575239 100644 --- a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPApplicationServerInstance.tsp +++ b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPApplicationServerInstance.tsp @@ -39,7 +39,7 @@ interface SAPApplicationServerInstances { /** * Puts the SAP Application Server Instance resource. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< SAPApplicationServerInstance, UpdateSAPApplicationInstanceRequest diff --git a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPCentralServerInstance.tsp b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPCentralServerInstance.tsp index 568589fd0d53..b43f94a47bf9 100644 --- a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPCentralServerInstance.tsp +++ b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPCentralServerInstance.tsp @@ -39,7 +39,7 @@ interface SAPCentralServerInstances { /** * Updates the SAP Central Services Instance resource. <br><br>This can be used to update tags on the resource. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< SAPCentralServerInstance, UpdateSAPCentralInstanceRequest diff --git a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPDatabaseInstance.tsp b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPDatabaseInstance.tsp index a95ff227952a..2eac63cdf8e7 100644 --- a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPDatabaseInstance.tsp +++ b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPDatabaseInstance.tsp @@ -38,7 +38,7 @@ interface SAPDatabaseInstances { /** * Updates the Database resource. */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< SAPDatabaseInstance, UpdateSAPDatabaseInstanceRequest diff --git a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstance.tsp b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstance.tsp index 30322a827a4d..aa4bae507d6b 100644 --- a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstance.tsp +++ b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstance.tsp @@ -36,7 +36,7 @@ interface SAPVirtualInstances { /** * Updates a Virtual Instance for SAP solutions resource */ - @parameterVisibility + @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync< SAPVirtualInstance, UpdateSAPVirtualInstanceRequest diff --git a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstanceMetadata.tsp b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstanceMetadata.tsp index 001341e013ef..cb25e5462664 100644 --- a/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstanceMetadata.tsp +++ b/specification/workloads/Workloads.SAPVirtualInstance.Management/SAPVirtualInstanceMetadata.tsp @@ -16,7 +16,7 @@ model SAPVirtualInstanceMetadata { * The default variable. */ @path - @visibility("read") + @visibility(Lifecycle.Read) @segment("sapVirtualInstanceMetadata") @key default: "string"; diff --git a/specification/workloads/Workloads.SAPVirtualInstance.Management/main.tsp b/specification/workloads/Workloads.SAPVirtualInstance.Management/main.tsp index 3146223fc8f9..80a11eec8959 100644 --- a/specification/workloads/Workloads.SAPVirtualInstance.Management/main.tsp +++ b/specification/workloads/Workloads.SAPVirtualInstance.Management/main.tsp @@ -24,9 +24,7 @@ using TypeSpec.Versioning; */ #suppress "@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint" @armProviderNamespace -@service({ - title: "Workloads Client", -}) +@service(#{ title: "Workloads Client" }) @versioned(Versions) @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) namespace Microsoft.Workloads; diff --git a/specification/workloads/Workloads.SAPVirtualInstance.Management/models.tsp b/specification/workloads/Workloads.SAPVirtualInstance.Management/models.tsp index d4a3d21f0de1..2a0bf432c3a0 100644 --- a/specification/workloads/Workloads.SAPVirtualInstance.Management/models.tsp +++ b/specification/workloads/Workloads.SAPVirtualInstance.Management/models.tsp @@ -640,7 +640,7 @@ model SAPSupportedResourceSkusResult { /** * Gets the list of SAP supported SKUs. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) supportedSkus?: SAPSupportedSku[]; } @@ -726,7 +726,7 @@ model SAPDiskConfiguration { /** * The list of supported disks for a given VM Sku. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) supportedConfigurations?: DiskDetails[]; } @@ -831,7 +831,7 @@ model SAPAvailabilityZoneDetailsResult { /** * Gets the list of availability zone pairs. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) availabilityZonePairs?: SAPAvailabilityZonePair[]; } @@ -859,13 +859,13 @@ model SAPVirtualInstanceProperties { /** * Defines the environment type - Production/Non Production. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) environment: SAPEnvironmentType; /** * Defines the SAP Product type. */ - @visibility("read", "create") + @visibility(Lifecycle.Read, Lifecycle.Create) sapProduct: SAPProductType; /** @@ -886,31 +886,31 @@ model SAPVirtualInstanceProperties { /** * Defines the SAP Instance status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: SAPVirtualInstanceStatus; /** * Defines the health of SAP Instances. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: SAPHealthState; /** * Defines the Virtual Instance for SAP state. */ - @visibility("read") + @visibility(Lifecycle.Read) state?: SAPVirtualInstanceState; /** * Defines the provisioning states. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: SapVirtualInstanceProvisioningState; /** * Indicates any errors on the Virtual Instance for SAP solutions resource. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: SAPVirtualInstanceError; } @@ -955,20 +955,20 @@ model ErrorDefinition { /** * Service specific error code which serves as the substatus for the HTTP error code. */ - @visibility("read") + @visibility(Lifecycle.Read) code?: string; /** * Description of the error. */ - @visibility("read") + @visibility(Lifecycle.Read) message?: string; /** * Internal error details. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) details?: ErrorDefinition[]; } @@ -979,25 +979,25 @@ model Resource { /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; /** * The name of the resource */ - @visibility("read") + @visibility(Lifecycle.Read) name?: string; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ - @visibility("read") + @visibility(Lifecycle.Read) type?: string; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ - @visibility("read") + @visibility(Lifecycle.Read) systemData?: SystemData; } @@ -1042,13 +1042,13 @@ model SAPCentralServerProperties { /** * The central services instance number. */ - @visibility("read") + @visibility(Lifecycle.Read) instanceNo?: string; /** * The central services instance subnet. */ - @visibility("read") + @visibility(Lifecycle.Read) subnet?: string; /** @@ -1074,50 +1074,50 @@ model SAPCentralServerProperties { /** * The central services instance Kernel Version. */ - @visibility("read") + @visibility(Lifecycle.Read) kernelVersion?: string; /** * The central services instance Kernel Patch level. */ - @visibility("read") + @visibility(Lifecycle.Read) kernelPatch?: string; /** * The Load Balancer details such as LoadBalancer ID attached to ASCS Virtual Machines */ - @visibility("read") + @visibility(Lifecycle.Read) loadBalancerDetails?: LoadBalancerDetails; /** * The list of virtual machines corresponding to the Central Services instance. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) vmDetails?: CentralServerVmDetails[]; /** * Defines the SAP Instance status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: SAPVirtualInstanceStatus; /** * Defines the health of SAP Instances. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: SAPHealthState; /** * Defines the provisioning states. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: SapVirtualInstanceProvisioningState; /** * Defines the errors related to SAP Central Services Instance resource. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: SAPVirtualInstanceError; } @@ -1128,43 +1128,43 @@ model MessageServerProperties { /** * message server port. */ - @visibility("read") + @visibility(Lifecycle.Read) msPort?: int64; /** * message server internal MS port. */ - @visibility("read") + @visibility(Lifecycle.Read) internalMsPort?: int64; /** * message server HTTP Port. */ - @visibility("read") + @visibility(Lifecycle.Read) httpPort?: int64; /** * message server HTTPS Port. */ - @visibility("read") + @visibility(Lifecycle.Read) httpsPort?: int64; /** * message server SAP Hostname. */ - @visibility("read") + @visibility(Lifecycle.Read) hostname?: string; /** * message server IP Address. */ - @visibility("read") + @visibility(Lifecycle.Read) ipAddress?: string; /** * Defines the health of SAP Instances. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: SAPHealthState; } @@ -1175,25 +1175,25 @@ model EnqueueServerProperties { /** * Enqueue Server SAP Hostname. */ - @visibility("read") + @visibility(Lifecycle.Read) hostname?: string; /** * Enqueue Server SAP IP Address. */ - @visibility("read") + @visibility(Lifecycle.Read) ipAddress?: string; /** * Enqueue Server Port. */ - @visibility("read") + @visibility(Lifecycle.Read) port?: int64; /** * Defines the health of SAP Instances. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: SAPHealthState; } @@ -1204,13 +1204,13 @@ model GatewayServerProperties { /** * Gateway Port. */ - @visibility("read") + @visibility(Lifecycle.Read) port?: int64; /** * Defines the health of SAP Instances. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: SAPHealthState; } @@ -1221,43 +1221,43 @@ model EnqueueReplicationServerProperties { /** * Defines the type of Enqueue Replication Server. */ - @visibility("read") + @visibility(Lifecycle.Read) ersVersion?: EnqueueReplicationServerType; /** * ERS Instance Number. */ - @visibility("read") + @visibility(Lifecycle.Read) instanceNo?: string; /** * ERS SAP Hostname. */ - @visibility("read") + @visibility(Lifecycle.Read) hostname?: string; /** * ERS SAP Kernel Version. */ - @visibility("read") + @visibility(Lifecycle.Read) kernelVersion?: string; /** * ERS SAP Kernel Patch level. */ - @visibility("read") + @visibility(Lifecycle.Read) kernelPatch?: string; /** * ERS SAP IP Address. */ - @visibility("read") + @visibility(Lifecycle.Read) ipAddress?: string; /** * Defines the health of SAP Instances. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: SAPHealthState; } @@ -1268,7 +1268,7 @@ model LoadBalancerDetails { /** * Fully qualified resource ID for the load balancer. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; } @@ -1279,20 +1279,20 @@ model CentralServerVmDetails { /** * Defines the type of central server VM. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: CentralServerVirtualMachineType; /** * The virtual machine id. */ - @visibility("read") + @visibility(Lifecycle.Read) virtualMachineId?: string; /** * Storage details of all the Storage Accounts attached to the ASCS Virtual Machine. For e.g. NFS on AFS Shared Storage. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) storageDetails?: StorageInformation[]; } @@ -1303,7 +1303,7 @@ model StorageInformation { /** * Fully qualified resource ID for the storage account. */ - @visibility("read") + @visibility(Lifecycle.Read) id?: string; } @@ -1327,56 +1327,56 @@ model SAPDatabaseProperties { /** * Database subnet. */ - @visibility("read") + @visibility(Lifecycle.Read) subnet?: string; /** * Database SID name. */ - @visibility("read") + @visibility(Lifecycle.Read) databaseSid?: string; /** * Database type, that is if the DB is HANA, DB2, Oracle, SAP ASE, Max DB or MS SQL Server. */ - @visibility("read") + @visibility(Lifecycle.Read) databaseType?: string; /** * Database IP Address. */ - @visibility("read") + @visibility(Lifecycle.Read) ipAddress?: string; /** * The Load Balancer details such as LoadBalancer ID attached to Database Virtual Machines */ - @visibility("read") + @visibility(Lifecycle.Read) loadBalancerDetails?: LoadBalancerDetails; /** * The list of virtual machines corresponding to the Database resource. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) vmDetails?: DatabaseVmDetails[]; /** * Defines the SAP Instance status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: SAPVirtualInstanceStatus; /** * Defines the provisioning states. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: SapVirtualInstanceProvisioningState; /** * Defines the errors related to Database resource. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: SAPVirtualInstanceError; } @@ -1387,20 +1387,20 @@ model DatabaseVmDetails { /** * The virtual machine id. */ - @visibility("read") + @visibility(Lifecycle.Read) virtualMachineId?: string; /** * Defines the SAP Instance status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: SAPVirtualInstanceStatus; /** * Storage details of all the Storage Accounts attached to the Database Virtual Machine. For e.g. NFS on AFS Shared Storage. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) storageDetails?: StorageInformation[]; } @@ -1424,98 +1424,98 @@ model SAPApplicationServerProperties { /** * Application server Instance Number. */ - @visibility("read") + @visibility(Lifecycle.Read) instanceNo?: string; /** * Application server Subnet. */ - @visibility("read") + @visibility(Lifecycle.Read) subnet?: string; /** * Application server instance SAP hostname. */ - @visibility("read") + @visibility(Lifecycle.Read) hostname?: string; /** * Application server instance SAP Kernel Version. */ - @visibility("read") + @visibility(Lifecycle.Read) kernelVersion?: string; /** * Application server instance SAP Kernel Patch level. */ - @visibility("read") + @visibility(Lifecycle.Read) kernelPatch?: string; /** * Application server instance SAP IP Address. */ - @visibility("read") + @visibility(Lifecycle.Read) ipAddress?: string; /** * Application server instance gateway Port. */ - @visibility("read") + @visibility(Lifecycle.Read) gatewayPort?: int64; /** * Application server instance ICM HTTP Port. */ - @visibility("read") + @visibility(Lifecycle.Read) icmHttpPort?: int64; /** * Application server instance ICM HTTPS Port. */ - @visibility("read") + @visibility(Lifecycle.Read) icmHttpsPort?: int64; /** * Application server instance dispatcher status. */ - @visibility("read") + @visibility(Lifecycle.Read) dispatcherStatus?: string; /** * The Load Balancer details such as LoadBalancer ID attached to Application Server Virtual Machines */ - @visibility("read") + @visibility(Lifecycle.Read) loadBalancerDetails?: LoadBalancerDetails; /** * The list of virtual machines. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) vmDetails?: ApplicationServerVmDetails[]; /** * Defines the SAP Instance status. */ - @visibility("read") + @visibility(Lifecycle.Read) status?: SAPVirtualInstanceStatus; /** * Defines the health of SAP Instances. */ - @visibility("read") + @visibility(Lifecycle.Read) health?: SAPHealthState; /** * Defines the provisioning states. */ - @visibility("read") + @visibility(Lifecycle.Read) provisioningState?: SapVirtualInstanceProvisioningState; /** * Defines the Application Instance errors. */ - @visibility("read") + @visibility(Lifecycle.Read) errors?: SAPVirtualInstanceError; } @@ -1526,20 +1526,20 @@ model ApplicationServerVmDetails { /** * Defines the type of application server VM. */ - @visibility("read") + @visibility(Lifecycle.Read) type?: ApplicationServerVirtualMachineType; /** * The virtual machine id. */ - @visibility("read") + @visibility(Lifecycle.Read) virtualMachineId?: string; /** * Storage details of all the Storage Accounts attached to the App Virtual Machine. For e.g. NFS on AFS Shared Storage. */ - @visibility("read") - @OpenAPI.extension("x-ms-identifiers", []) + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) storageDetails?: StorageInformation[]; } @@ -1649,7 +1649,7 @@ model SshConfiguration { /** * The list of SSH public keys used to authenticate with linux based VMs. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) publicKeys?: SshPublicKey[]; } @@ -2116,7 +2116,7 @@ model VirtualMachineResourceNames { /** * The list of network interface name objects for the selected virtual machine. Currently, only one network interface is supported per virtual machine. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) networkInterfaces?: NetworkInterfaceResourceNames[]; /** @@ -2178,7 +2178,7 @@ model CentralServerFullResourceNames { /** * The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) virtualMachines?: VirtualMachineResourceNames[]; /** @@ -2224,7 +2224,7 @@ model ApplicationServerFullResourceNames { /** * The list of virtual machine naming details. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) virtualMachines?: VirtualMachineResourceNames[]; /** @@ -2240,7 +2240,7 @@ model DatabaseServerFullResourceNames { /** * The list of virtual machine naming details. */ - @OpenAPI.extension("x-ms-identifiers", []) + @OpenAPI.extension("x-ms-identifiers", #[]) virtualMachines?: VirtualMachineResourceNames[]; /** @@ -2403,7 +2403,7 @@ model DiscoveryConfiguration extends SAPConfiguration { /** * The geo-location where the SAP system exists. */ - @visibility("read") + @visibility(Lifecycle.Read) appLocation?: string; /**