1. support flatten
2. support custom resource, fix #4861 
3. fix doc multi-line issue
4. fix naming escape issue
5. fix duration default value problem
This commit is contained in:
Chenjie Shi 2024-02-01 21:46:31 +08:00 коммит произвёл GitHub
Родитель 4e0feaf308
Коммит 1579900a2a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
218 изменённых файлов: 14749 добавлений и 10905 удалений

Просмотреть файл

@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@autorest/openapi-to-typespec",
"comment": "Add support for custom resource, enhance doc conversion and fix default value issue",
"type": "minor"
}
],
"packageName": "@autorest/openapi-to-typespec"
}

Просмотреть файл

@ -15,14 +15,14 @@ dependencies:
specifier: ~3.0.0
version: 3.0.255
'@azure-tools/typespec-autorest':
specifier: ^0.37.2
version: 0.37.2(@azure-tools/typespec-azure-core@0.37.2)(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/rest@0.51.0)(@typespec/versioning@0.51.0)
specifier: ^0.38.0
version: 0.38.0(@azure-tools/typespec-azure-core@0.38.0)(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/rest@0.52.0)(@typespec/versioning@0.52.0)
'@azure-tools/typespec-azure-core':
specifier: ^0.37.2
version: 0.37.2(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/rest@0.51.0)
specifier: ^0.38.0
version: 0.38.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/rest@0.52.0)
'@azure-tools/typespec-azure-resource-manager':
specifier: ^0.37.1
version: 0.37.1(@azure-tools/typespec-autorest@0.37.2)(@azure-tools/typespec-azure-core@0.37.2)(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/rest@0.51.0)(@typespec/versioning@0.51.0)
specifier: ^0.38.0
version: 0.38.0(@azure-tools/typespec-autorest@0.38.0)(@azure-tools/typespec-azure-core@0.38.0)(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/rest@0.52.0)(@typespec/versioning@0.52.0)
'@azure-tools/uri':
specifier: ~3.1.1
version: 3.1.1
@ -165,26 +165,26 @@ dependencies:
specifier: ^6.11.0
version: 6.11.0(eslint@8.53.0)(typescript@5.2.2)
'@typespec/compiler':
specifier: ^0.51.0
version: 0.51.0
specifier: ^0.52.0
version: 0.52.0
'@typespec/http':
specifier: ^0.51.0
version: 0.51.0(@typespec/compiler@0.51.0)
specifier: ^0.52.0
version: 0.52.0(@typespec/compiler@0.52.0)
'@typespec/openapi':
specifier: ^0.50.0
version: 0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
specifier: ^0.52.0
version: 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/openapi3':
specifier: ^0.50.0
version: 0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/versioning@0.51.0)
specifier: ^0.52.0
version: 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/versioning@0.52.0)
'@typespec/prettier-plugin-typespec':
specifier: ^0.51.0
version: 0.51.0
specifier: ^0.52.0
version: 0.52.0
'@typespec/rest':
specifier: ^0.51.0
version: 0.51.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
specifier: ^0.52.0
version: 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/versioning':
specifier: ^0.51.0
version: 0.51.0(@typespec/compiler@0.51.0)
specifier: ^0.52.0
version: 0.52.0(@typespec/compiler@0.52.0)
ajv:
specifier: ^8.6.0
version: 8.12.0
@ -393,57 +393,57 @@ packages:
engines: {node: '>=10.12.0'}
dev: false
/@azure-tools/typespec-autorest@0.37.2(@azure-tools/typespec-azure-core@0.37.2)(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/rest@0.51.0)(@typespec/versioning@0.51.0):
resolution: {integrity: sha512-iLNF2tdIET0qVmZ+7LMXGLj9tDI0I8pfDq12kSLQryAp6NzOn6hMz73gUEgIE1Gj6KE4YrQXfHf/F4kNfHpWeA==}
/@azure-tools/typespec-autorest@0.38.0(@azure-tools/typespec-azure-core@0.38.0)(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/rest@0.52.0)(@typespec/versioning@0.52.0):
resolution: {integrity: sha512-lBxuAtmE9kCeafSqwsiAp1sjVTEl4PdxxLq22zbQag2/ISLjVAXCae62+qULzqpY7pbDU03f/4tjvf4W7EPwXQ==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@azure-tools/typespec-azure-core': ~0.37.1
'@typespec/compiler': ~0.51.0
'@typespec/http': ~0.51.0
'@typespec/openapi': ~0.51.0
'@typespec/rest': ~0.51.0
'@typespec/versioning': ~0.51.0
'@azure-tools/typespec-azure-core': ~0.38.0
'@typespec/compiler': ~0.52.0
'@typespec/http': ~0.52.0
'@typespec/openapi': ~0.52.0
'@typespec/rest': ~0.52.0
'@typespec/versioning': ~0.52.0
dependencies:
'@azure-tools/typespec-azure-core': 0.37.2(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/rest@0.51.0)
'@typespec/compiler': 0.51.0
'@typespec/http': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/openapi': 0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/rest': 0.51.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/versioning': 0.51.0(@typespec/compiler@0.51.0)
'@azure-tools/typespec-azure-core': 0.38.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/rest@0.52.0)
'@typespec/compiler': 0.52.0
'@typespec/http': 0.52.0(@typespec/compiler@0.52.0)
'@typespec/openapi': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/rest': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/versioning': 0.52.0(@typespec/compiler@0.52.0)
dev: false
/@azure-tools/typespec-azure-core@0.37.2(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/rest@0.51.0):
resolution: {integrity: sha512-/503w3jnRnStowsI7etaDynwQcz7ecNqhFKZErBYGbKVZKoEwJIr5d59m52sjJs8cmr2336es6jw2n2TdfotrA==}
/@azure-tools/typespec-azure-core@0.38.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/rest@0.52.0):
resolution: {integrity: sha512-ASM+njC2lpzPykzw2OicWIaAOH+OBe3bVMrufEnINBjlr7owAtudvjrTLLWmAVMBciL/YOF579KdyjxTbaxJ5A==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@typespec/compiler': ~0.51.0
'@typespec/http': ~0.51.0
'@typespec/rest': ~0.51.0
'@typespec/compiler': ~0.52.0
'@typespec/http': ~0.52.0
'@typespec/rest': ~0.52.0
dependencies:
'@typespec/compiler': 0.51.0
'@typespec/http': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/rest': 0.51.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/compiler': 0.52.0
'@typespec/http': 0.52.0(@typespec/compiler@0.52.0)
'@typespec/rest': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
dev: false
/@azure-tools/typespec-azure-resource-manager@0.37.1(@azure-tools/typespec-autorest@0.37.2)(@azure-tools/typespec-azure-core@0.37.2)(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/rest@0.51.0)(@typespec/versioning@0.51.0):
resolution: {integrity: sha512-1RyFLJeS4lWVne/djKmPHix4UYJIO7o59n0SDlGrK8jx8k6nK4mu9LgSiwyufvBXBwVJ++dO10qRbBngJJquUg==}
/@azure-tools/typespec-azure-resource-manager@0.38.0(@azure-tools/typespec-autorest@0.38.0)(@azure-tools/typespec-azure-core@0.38.0)(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/rest@0.52.0)(@typespec/versioning@0.52.0):
resolution: {integrity: sha512-jWMwIzT5WCokIW0IOTi/yqc5UsO47Mw+k9CGBwSmggYug/hmDELz+AfNyL/0T+rM2eF+5R/IrMKFI4Hq/OE9vQ==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@azure-tools/typespec-autorest': ~0.37.2
'@azure-tools/typespec-azure-core': ~0.37.2
'@typespec/compiler': ~0.51.0
'@typespec/http': ~0.51.0
'@typespec/openapi': ~0.51.0
'@typespec/rest': ~0.51.0
'@typespec/versioning': ~0.51.0
'@azure-tools/typespec-autorest': ~0.38.0
'@azure-tools/typespec-azure-core': ~0.38.0
'@typespec/compiler': ~0.52.0
'@typespec/http': ~0.52.0
'@typespec/openapi': ~0.52.0
'@typespec/rest': ~0.52.0
'@typespec/versioning': ~0.52.0
dependencies:
'@azure-tools/typespec-autorest': 0.37.2(@azure-tools/typespec-azure-core@0.37.2)(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/rest@0.51.0)(@typespec/versioning@0.51.0)
'@azure-tools/typespec-azure-core': 0.37.2(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/rest@0.51.0)
'@typespec/compiler': 0.51.0
'@typespec/http': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/openapi': 0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/rest': 0.51.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/versioning': 0.51.0(@typespec/compiler@0.51.0)
'@azure-tools/typespec-autorest': 0.38.0(@azure-tools/typespec-azure-core@0.38.0)(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/rest@0.52.0)(@typespec/versioning@0.52.0)
'@azure-tools/typespec-azure-core': 0.38.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/rest@0.52.0)
'@typespec/compiler': 0.52.0
'@typespec/http': 0.52.0(@typespec/compiler@0.52.0)
'@typespec/openapi': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/rest': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/versioning': 0.52.0(@typespec/compiler@0.52.0)
dev: false
/@azure-tools/uri@3.1.1:
@ -480,6 +480,14 @@ packages:
chalk: 2.4.2
dev: false
/@babel/code-frame@7.23.5:
resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.23.4
chalk: 2.4.2
dev: false
/@babel/compat-data@7.23.3:
resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==}
engines: {node: '>=6.9.0'}
@ -624,6 +632,15 @@ packages:
js-tokens: 4.0.0
dev: false
/@babel/highlight@7.23.4:
resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-validator-identifier': 7.22.20
chalk: 2.4.2
js-tokens: 4.0.0
dev: false
/@babel/parser@7.23.3:
resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==}
engines: {node: '>=6.0.0'}
@ -1273,6 +1290,11 @@ packages:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: false
/@sindresorhus/merge-streams@1.0.0:
resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==}
engines: {node: '>=18'}
dev: false
/@sinonjs/commons@3.0.0:
resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
dependencies:
@ -1750,18 +1772,18 @@ packages:
eslint-visitor-keys: 3.4.3
dev: false
/@typespec/compiler@0.51.0:
resolution: {integrity: sha512-eGxQG27ovSkmuAyUpYhQzTfENmMV1w/Zm1binmAT/gUF56SE+XGCg8pLaBNlDgRbcGDJaziiop7uBMDbsuBDyg==}
/@typespec/compiler@0.52.0:
resolution: {integrity: sha512-36cZ5RWxRjL4SUe41KjPh3j3RQibpUoOzHcSllQJ3ByTSZdXv1zckMHLiRfaAbTXUADSAn2GMs4ZO3s8GdOGIQ==}
engines: {node: '>=18.0.0'}
hasBin: true
dependencies:
'@babel/code-frame': 7.22.13
'@babel/code-frame': 7.23.5
ajv: 8.12.0
change-case: 4.1.2
globby: 13.2.2
change-case: 5.3.0
globby: 14.0.0
mustache: 4.2.0
picocolors: 1.0.0
prettier: 3.1.0
prettier: 3.1.1
prompts: 2.4.2
semver: 7.5.4
vscode-languageserver: 9.0.1
@ -1770,66 +1792,66 @@ packages:
yargs: 17.7.2
dev: false
/@typespec/http@0.51.0(@typespec/compiler@0.51.0):
resolution: {integrity: sha512-9YtcIPzUP0ELf/ZFBfhgLCPIyERn+DrYJTtEtaWkcO+qEkdFxO5eahwgh1FPuS6iJrW6pUPBuAfGDOAH1+N/PQ==}
/@typespec/http@0.52.0(@typespec/compiler@0.52.0):
resolution: {integrity: sha512-8UluHzYV3zZFSRuKYeQombaJzYMAq8lcM7ysOY6zxmagRxv/L2LAG5iMu7iSrM48I7PR+WVhXSonRA0xhHctfw==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@typespec/compiler': ~0.51.0
'@typespec/compiler': ~0.52.0
dependencies:
'@typespec/compiler': 0.51.0
'@typespec/compiler': 0.52.0
dev: false
/@typespec/openapi3@0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/versioning@0.51.0):
resolution: {integrity: sha512-R3YOEpRZoABrTrglLClesknhsl1AqXRt0lzZLttATal6w4V0XTGFsc3gyD0muoUTy1e1vPfQixpUTY2CHFqIQA==}
/@typespec/openapi3@0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/versioning@0.52.0):
resolution: {integrity: sha512-PPhNdpKQD2iHJemOaRUhnaeFWa4ApW4HtcZI+jrg4hyNSIwDYxL0OwwRohKjRUKM98iacpXvEh+5rKtkPiY2Qw==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@typespec/compiler': ~0.50.0
'@typespec/http': ~0.50.0
'@typespec/openapi': ~0.50.0
'@typespec/versioning': ~0.50.0
'@typespec/compiler': ~0.52.0
'@typespec/http': ~0.52.0
'@typespec/openapi': ~0.52.0
'@typespec/versioning': ~0.52.0
dependencies:
'@typespec/compiler': 0.51.0
'@typespec/http': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/openapi': 0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/versioning': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/compiler': 0.52.0
'@typespec/http': 0.52.0(@typespec/compiler@0.52.0)
'@typespec/openapi': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/versioning': 0.52.0(@typespec/compiler@0.52.0)
yaml: 2.3.4
dev: false
/@typespec/openapi@0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0):
resolution: {integrity: sha512-aOg3y4XxRl6bI/DR+OR1GFZD+1s9ygH0Z8jarHc3wSNnh4gLmAZ8RYmPFPzwULhvck/EYw+P9R0kcYpX8iC+Lw==}
/@typespec/openapi@0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0):
resolution: {integrity: sha512-2Otnu9glehxvp6TU7NOHEniBDDKufV03XTmeVGgGEmu/j+cveAMg8lA1/O0RBpS2oHGsCFnMEuPcR8M1c0LI+Q==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@typespec/compiler': ~0.50.0
'@typespec/http': ~0.50.0
'@typespec/compiler': ~0.52.0
'@typespec/http': ~0.52.0
dependencies:
'@typespec/compiler': 0.51.0
'@typespec/http': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/compiler': 0.52.0
'@typespec/http': 0.52.0(@typespec/compiler@0.52.0)
dev: false
/@typespec/prettier-plugin-typespec@0.51.0:
resolution: {integrity: sha512-byj0Xw+lg6LDa8duSC1iEhGCwOxb1yr4A7/KNL/JzFKPSRgUD4WePba8wxZEeMcRR2LeWlIIm8zxpWG97jkk8g==}
/@typespec/prettier-plugin-typespec@0.52.0:
resolution: {integrity: sha512-6l4LylxfCVvAdbCiqFqJwPYyRkzV+TjZ/gQsOPqNlqxTDsMq61A6QT01BSftocJWRTFdSXP4Z3r2LP9E8FoNrg==}
dependencies:
prettier: 3.1.0
prettier: 3.1.1
dev: false
/@typespec/rest@0.51.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0):
resolution: {integrity: sha512-swigbWjdewmKg+DtHj/a2r8jyX810JYkcIcVHkqdnkCq6TqlyNP0VSSUM39BmXmkCHMUumlSm2cOMieESRfNlg==}
/@typespec/rest@0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0):
resolution: {integrity: sha512-dLsY0fS60IVaAt4eCRcvEqorX/miPVV33du3dETTYYmbHtfEbvBKgTj/m6OH4noey7oaihlvLz5kYyLv8Am7zA==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@typespec/compiler': ~0.51.0
'@typespec/http': ~0.51.0
'@typespec/compiler': ~0.52.0
'@typespec/http': ~0.52.0
dependencies:
'@typespec/compiler': 0.51.0
'@typespec/http': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/compiler': 0.52.0
'@typespec/http': 0.52.0(@typespec/compiler@0.52.0)
dev: false
/@typespec/versioning@0.51.0(@typespec/compiler@0.51.0):
resolution: {integrity: sha512-eja0epBhtmJRO+Jq0Zdb2eRcSTsU+uq/X0xgD5SM+KB97nxFtaRkOJYd59QBN+XysvkcfVRrLOGJjzcpNMa0cw==}
/@typespec/versioning@0.52.0(@typespec/compiler@0.52.0):
resolution: {integrity: sha512-Vr4WHaZiDOxJqRp8/u6X0R45E+rFKEprYmSZX0o5bzetj0cVjOIEbQZvDJCif1Uz0S3K0KKfqf/kYmdYWMJ7Dw==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@typespec/compiler': ~0.51.0
'@typespec/compiler': ~0.52.0
dependencies:
'@typespec/compiler': 0.51.0
'@typespec/compiler': 0.52.0
dev: false
/@ungap/structured-clone@1.2.0:
@ -2685,6 +2707,10 @@ packages:
resolution: {integrity: sha512-tH6YZXViaeC2/Mnt8m4gSmbZfNorC2rhwCX2bXw8SYZWr8ljCPB7iA+1TLG9t7yroWBFauc63LlOZ1gucMVCWw==}
dev: false
/change-case@5.3.0:
resolution: {integrity: sha512-Eykca0fGS/xYlx2fG5NqnGSnsWauhSGiSXYhB1kO6E909GUfo8S54u4UZNS7lMJmgZumZ2SUpWaoLgAcfQRICg==}
dev: false
/change-case@5.4.0:
resolution: {integrity: sha512-11YRFf0f4pI+ROHUfq64WivyrcNSrZjdDt2qgVxvAObtj/Pwnu5uAKObHRbN9uAhaDFkvkqcKVEl8Dxnmx+N7w==}
dev: false
@ -4255,6 +4281,18 @@ packages:
slash: 4.0.0
dev: false
/globby@14.0.0:
resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==}
engines: {node: '>=18'}
dependencies:
'@sindresorhus/merge-streams': 1.0.0
fast-glob: 3.3.2
ignore: 5.2.4
path-type: 5.0.0
slash: 5.1.0
unicorn-magic: 0.1.0
dev: false
/gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
dependencies:
@ -6635,6 +6673,11 @@ packages:
engines: {node: '>=8'}
dev: false
/path-type@5.0.0:
resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
engines: {node: '>=12'}
dev: false
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: false
@ -6709,6 +6752,12 @@ packages:
hasBin: true
dev: false
/prettier@3.1.1:
resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==}
engines: {node: '>=14'}
hasBin: true
dev: false
/pretty-format@26.6.2:
resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==}
engines: {node: '>= 10'}
@ -7281,6 +7330,11 @@ packages:
engines: {node: '>=12'}
dev: false
/slash@5.1.0:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
dev: false
/smart-buffer@4.2.0:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
@ -8129,6 +8183,11 @@ packages:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
dev: false
/unicorn-magic@0.1.0:
resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
engines: {node: '>=18'}
dev: false
/union-value@1.0.1:
resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
engines: {node: '>=0.10.0'}
@ -8652,7 +8711,7 @@ packages:
dev: false
file:projects/autorest.tgz(ts-node@10.9.1):
resolution: {integrity: sha512-SvV+cy1y4sDq7SBRVLMMEHxwEenXbnqh2epuL4w/JPstJeAkkSZHZ+zEr7NPa/gKlMcpHLvJAKZclQ7Wxr/Gqw==, tarball: file:projects/autorest.tgz}
resolution: {integrity: sha512-IVX851LfnNuOOa9ogcw5VrtP6DCEU6SGwdbWohC8SPyIc+NvkDHMNPn4YEVQFKboieTbliTRogzKi1Lqupu/kA==, tarball: file:projects/autorest.tgz}
id: file:projects/autorest.tgz
name: '@rush-temp/autorest'
version: 0.0.0
@ -8710,7 +8769,7 @@ packages:
dev: false
file:projects/cadl.tgz(ts-node@10.9.1)(webpack-cli@5.1.4)(webpack@5.89.0):
resolution: {integrity: sha512-av7i43qPFgwFiE7GHT5KJPa4d0FHlFTbx/y04efEF/83afKlgZ5HVMrFi7N/+lYpm1lHBMPZ0aPn4gK6m23EsQ==, tarball: file:projects/cadl.tgz}
resolution: {integrity: sha512-GO2iRP6pv3OR2QwYUE+tb7TP6nC+o6bv5ErnrT1vleUz33DH9Kz1Jb9obYFl+4GgtXAaT0fSvCUNgm3pA5ej+A==, tarball: file:projects/cadl.tgz}
id: file:projects/cadl.tgz
name: '@rush-temp/cadl'
version: 0.0.0
@ -8756,7 +8815,7 @@ packages:
dev: false
file:projects/codegen.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-3C8weoCa1kCOKeoOVrLzpSZo5dzm6rUBu6GpSekpssx7TPkHZP/9D2Zk7gaMX3IdLiJe9UHH8mMtNEUZM07QMQ==, tarball: file:projects/codegen.tgz}
resolution: {integrity: sha512-VovTenml5aFvdxVxeubTWgNxH95b97qPKSJfccqCog+K5N1MLKQ8OyLfHBIj1we1u2OWAwsUVfDAJDBRsZvCmQ==, tarball: file:projects/codegen.tgz}
id: file:projects/codegen.tgz
name: '@rush-temp/codegen'
version: 0.0.0
@ -8796,7 +8855,7 @@ packages:
dev: false
file:projects/codemodel.tgz(jest@29.7.0)(prettier@3.1.0):
resolution: {integrity: sha512-XU/8wU9Jo2eyvIFEVi22uh9YHNGK2X69RZ3fhSsdx9e6Ccp2ajm3QX++m7rV8b1FthMVeIn3FHFGIC7miuT2/Q==, tarball: file:projects/codemodel.tgz}
resolution: {integrity: sha512-eciCOrz1bsEKinYsI0hZwEsNX/tZZSbOwiI6BGzznOoVjf7gZ/bE9IhoVnRz6rQ192Qtrkz0IzsoAmCHNZQ1cw==, tarball: file:projects/codemodel.tgz}
id: file:projects/codemodel.tgz
name: '@rush-temp/codemodel'
version: 0.0.0
@ -8828,7 +8887,7 @@ packages:
dev: false
file:projects/common.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-dr0VbBpkYbGLe+5tnqwXZcU37okgm1NFocwBAyMKuwD8M7QRNEBSw+CWz04fKcO6bFUc4QZHbNQyM9RiDZs8pg==, tarball: file:projects/common.tgz}
resolution: {integrity: sha512-Dr5MV/1kdgzhxptcFbe1cla9YfQKIIPgZ+KjDwrrSlUGr8B4449Bq++2So07dJMQANDoyXjEPYVWoMAUB3YndA==, tarball: file:projects/common.tgz}
id: file:projects/common.tgz
name: '@rush-temp/common'
version: 0.0.0
@ -8861,7 +8920,7 @@ packages:
dev: false
file:projects/compare.tgz(prettier@3.1.0):
resolution: {integrity: sha512-TdSUwopQGGjakA2XILTfCpdkmPjMt0tg/U2uHdTsRPS3cBco9dE42Lzg2fQWuqo8kpP54tIAQ38w2mIg9IYiLw==, tarball: file:projects/compare.tgz}
resolution: {integrity: sha512-+V9SrJtEo0ilGKK7vr0UsFzAxl0GfRPB+MxBS8dl9KkR0/YTOIOgbY2nKDXPxsG5vkaFZ71hgDAwAbdqVOxhWg==, tarball: file:projects/compare.tgz}
id: file:projects/compare.tgz
name: '@rush-temp/compare'
version: 0.0.0
@ -8907,7 +8966,7 @@ packages:
dev: false
file:projects/configuration.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-QIvRtuY4X8HzqQc5WSZSnxTEMte4WOqY5CcI2VgvRWeuj9X/BpUwCvUJG7qQc7FhQ/KUlTLC4Qqfsy3DzD+/gA==, tarball: file:projects/configuration.tgz}
resolution: {integrity: sha512-refACiofNn9MEmuxOHQ+FlnM1QVGK7jt1n0cTpoK3vUp9A865OmlIPq6GPuSRw6WqGD1vJFX4IS+ng7+fJwGIA==, tarball: file:projects/configuration.tgz}
id: file:projects/configuration.tgz
name: '@rush-temp/configuration'
version: 0.0.0
@ -8948,7 +9007,7 @@ packages:
dev: false
file:projects/core.tgz(ts-node@10.9.1):
resolution: {integrity: sha512-aMmjUxmr7vDPP8vbV0AuWwuyWlv3LFEFe9bDTsoSfQXouygxRsG18vzVWtEXqxLcA2DLLQof9fmHoFR4/IWBrQ==, tarball: file:projects/core.tgz}
resolution: {integrity: sha512-eYt9hPHj/gnuPH1z8V/POm8I7Qk5f3sPhKQSrtz0vDmpXFeBmOQjku6UizVNGdIsjYAYmKM6sxOsjRdHRYv5aA==, tarball: file:projects/core.tgz}
id: file:projects/core.tgz
name: '@rush-temp/core'
version: 0.0.0
@ -9013,7 +9072,7 @@ packages:
dev: false
file:projects/datastore.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-6/wu2bBUSvArdPUcvguk4iP5weUXdYt6po8oTByiu4MOKai2WH6T2elniSQVeNa8i0nspiwRrrKZfBA1LRYNfw==, tarball: file:projects/datastore.tgz}
resolution: {integrity: sha512-rw9TMnec+y4rClT4qX7eiU/MnaDL4sxvFHk5dFVa3n0W2aK8BSvOKfnYezMGXEQ6AcBwC1b3jOIQyGGl/y7LHg==, tarball: file:projects/datastore.tgz}
id: file:projects/datastore.tgz
name: '@rush-temp/datastore'
version: 0.0.0
@ -9054,7 +9113,7 @@ packages:
dev: false
file:projects/deduplication.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-OeYQ73RhcmGwZbW6Ctnuh+q4vIjgRR2880FOuFYSGSAia3/ROZGlAzQqZrHn2/vsOcYXRWZHXy/84HCRcSsIww==, tarball: file:projects/deduplication.tgz}
resolution: {integrity: sha512-v0Qz78yfJ+q4XeJE/VJp9JDKvIjRt264L4SrYTs+m85UIFpBl4XoP7sSUOk5yuTSeJlaEbaAQ5WRwJcnT+Q8vw==, tarball: file:projects/deduplication.tgz}
id: file:projects/deduplication.tgz
name: '@rush-temp/deduplication'
version: 0.0.0
@ -9088,7 +9147,7 @@ packages:
dev: false
file:projects/extension-base.tgz(jest@29.7.0)(prettier@3.1.0):
resolution: {integrity: sha512-tooRuR6QsOAqpII/MvkKbICjhyRxKFNPhT1y05CG5wlgrqTrwok6sYt0M6bGb73apeC0n7MZbPpWvSR7kQKdrQ==, tarball: file:projects/extension-base.tgz}
resolution: {integrity: sha512-MBEh+961tu6edrkkdRYUrNtAngts+uuekG3CzzYbIpmsTup2RzIk57euiWSh8zA0d3375iPVMwuHd6m6ORcaxA==, tarball: file:projects/extension-base.tgz}
id: file:projects/extension-base.tgz
name: '@rush-temp/extension-base'
version: 0.0.0
@ -9116,7 +9175,7 @@ packages:
dev: false
file:projects/extension.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-YXVy7zorVQE5y0/DwaZobVpgJKsMg8FN2/17G/IXxFH8qzEmEoC6gJPE26mf10HTI0noSGV3NCWCSyzsReEb7w==, tarball: file:projects/extension.tgz}
resolution: {integrity: sha512-BtX8trhAIukgMnSIDC0Ou3fn3IKV9dNyF4oVHAqvudItaLrJSLRfzg6wxyXabSFFSRrohWNSx3ZdnNRgJsRSWw==, tarball: file:projects/extension.tgz}
id: file:projects/extension.tgz
name: '@rush-temp/extension'
version: 0.0.0
@ -9161,7 +9220,7 @@ packages:
dev: false
file:projects/fixer.tgz(ts-node@10.9.1):
resolution: {integrity: sha512-ZyqP7Gub1FyIjYmv7IBtE8jOfK/dp5fTUcRo5WjMCldnLJlqLvZrteccdnVqeKd+TRi3PDnanrW1k6z+CekfQw==, tarball: file:projects/fixer.tgz}
resolution: {integrity: sha512-hgI1LGdKk3LtK5qtwPy1GcbgVQyo6jHY/+eKB7lgrg0YQHQtbOOx66NJcV9CYLuYl5eWEwHcI94wnGOy7ehkGA==, tarball: file:projects/fixer.tgz}
id: file:projects/fixer.tgz
name: '@rush-temp/fixer'
version: 0.0.0
@ -9205,7 +9264,7 @@ packages:
dev: false
file:projects/json.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-TWVpPxmRslYdAtw0qUukBOH0VgsqWuIxh7p1KWAysUa5kQ1OhGT8XqG5+ADb70+RgXFbHGYYN9iqjOAapp4QMw==, tarball: file:projects/json.tgz}
resolution: {integrity: sha512-8ePBJH0KNMHYtw84tnP/BDhe2srShAUkXkcow/UjMU5FbaGBouPvLYlYzqA2ZDDYIlsKDEEKxQu594xORCCFYw==, tarball: file:projects/json.tgz}
id: file:projects/json.tgz
name: '@rush-temp/json'
version: 0.0.0
@ -9234,7 +9293,7 @@ packages:
dev: false
file:projects/jsonschema.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-w+3HeMxVDFR0oXDmQegTFnxPoC15xfB20qKeGDyhs10ODDeBw3P5+sdokfFu/n/jzUWtyB71vrwaUOzxhr/fbA==, tarball: file:projects/jsonschema.tgz}
resolution: {integrity: sha512-TlSf9AgX2HVChk9Rc4GyUIPrZrOyrE91SPpFJlYKkK4FASq6oAEstJvpL/+GRBL8KRP2aY2JWQ8AyYEDbEDG0Q==, tarball: file:projects/jsonschema.tgz}
id: file:projects/jsonschema.tgz
name: '@rush-temp/jsonschema'
version: 0.0.0
@ -9263,7 +9322,7 @@ packages:
dev: false
file:projects/modelerfour.tgz(ts-node@10.9.1):
resolution: {integrity: sha512-6jJDUoekbhc7cEhjyadfzwunHkiOCehYPZh/QEEuOzzTJSixWUIle6ejSyptngSe8uxSsVpDJ/4QSTj6UvFoPw==, tarball: file:projects/modelerfour.tgz}
resolution: {integrity: sha512-yqvv8uLcXaCtMnHap9s3Ks9ozN6NLDmS8EzHhCP5XgKAQCnQoBuX2J64Kkt5WRdtuvIEJqDtx8kX/qKapZeQWg==, tarball: file:projects/modelerfour.tgz}
id: file:projects/modelerfour.tgz
name: '@rush-temp/modelerfour'
version: 0.0.0
@ -9314,7 +9373,7 @@ packages:
dev: false
file:projects/oai2-to-oai3.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-EmqXeZJWuoXi6p1c9Flme9Km7H1ISlOOEX1rMEhn/G14Fxe2BJujI8iheV/3eN7CyqwhdBr3Zko2CY77132LDQ==, tarball: file:projects/oai2-to-oai3.tgz}
resolution: {integrity: sha512-429l1k8VRbB/Qk1N0kCG+c70ZG5B2ixgF3RQCrm1dF6T0946z327MpAITNIfL0qtD5vC0jW3hzBasXPaMXc7Mw==, tarball: file:projects/oai2-to-oai3.tgz}
id: file:projects/oai2-to-oai3.tgz
name: '@rush-temp/oai2-to-oai3'
version: 0.0.0
@ -9351,14 +9410,14 @@ packages:
dev: false
file:projects/openapi-to-typespec.tgz(jest@29.7.0):
resolution: {integrity: sha512-zAj7zkO6vCcOuJPYLE8z93z4EqthmE0ByOjCnhOSutRmbgrMC357Rocf0KoOefoFJcA+IqIy3kIHBRPj/F7PVw==, tarball: file:projects/openapi-to-typespec.tgz}
resolution: {integrity: sha512-KvfNMg+QS2PURPUPNr32nxEeDtcKBbiOIitXRN55kRdADozPRn83lfm8IBi6OTDajBw5nfv6UOWT163f0jfqcw==, tarball: file:projects/openapi-to-typespec.tgz}
id: file:projects/openapi-to-typespec.tgz
name: '@rush-temp/openapi-to-typespec'
version: 0.0.0
dependencies:
'@azure-tools/typespec-autorest': 0.37.2(@azure-tools/typespec-azure-core@0.37.2)(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/rest@0.51.0)(@typespec/versioning@0.51.0)
'@azure-tools/typespec-azure-core': 0.37.2(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/rest@0.51.0)
'@azure-tools/typespec-azure-resource-manager': 0.37.1(@azure-tools/typespec-autorest@0.37.2)(@azure-tools/typespec-azure-core@0.37.2)(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/rest@0.51.0)(@typespec/versioning@0.51.0)
'@azure-tools/typespec-autorest': 0.38.0(@azure-tools/typespec-azure-core@0.38.0)(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/rest@0.52.0)(@typespec/versioning@0.52.0)
'@azure-tools/typespec-azure-core': 0.38.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/rest@0.52.0)
'@azure-tools/typespec-azure-resource-manager': 0.38.0(@azure-tools/typespec-autorest@0.38.0)(@azure-tools/typespec-azure-core@0.38.0)(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/rest@0.52.0)(@typespec/versioning@0.52.0)
'@types/fs-extra': 9.0.13
'@types/lodash': 4.14.201
'@types/node': 20.9.0
@ -9367,13 +9426,13 @@ packages:
'@types/webpack': 5.28.5(webpack-cli@5.1.4)
'@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.2.2)
'@typescript-eslint/parser': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
'@typespec/compiler': 0.51.0
'@typespec/http': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/openapi': 0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/openapi3': 0.50.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)(@typespec/openapi@0.50.0)(@typespec/versioning@0.51.0)
'@typespec/prettier-plugin-typespec': 0.51.0
'@typespec/rest': 0.51.0(@typespec/compiler@0.51.0)(@typespec/http@0.51.0)
'@typespec/versioning': 0.51.0(@typespec/compiler@0.51.0)
'@typespec/compiler': 0.52.0
'@typespec/http': 0.52.0(@typespec/compiler@0.52.0)
'@typespec/openapi': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/openapi3': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)(@typespec/openapi@0.52.0)(@typespec/versioning@0.52.0)
'@typespec/prettier-plugin-typespec': 0.52.0
'@typespec/rest': 0.52.0(@typespec/compiler@0.52.0)(@typespec/http@0.52.0)
'@typespec/versioning': 0.52.0(@typespec/compiler@0.52.0)
chalk: 4.1.2
change-case: 5.0.2
change-case-all: 2.1.0
@ -9408,7 +9467,7 @@ packages:
dev: false
file:projects/openapi.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-jeOfewor/wxa+HdeUSgWjhsV4FbhMs9QX8uxqJxh7KZvTBxcvw1XhQkrriRoSEXnBXmHDuAvxKG6gEImlL6c7w==, tarball: file:projects/openapi.tgz}
resolution: {integrity: sha512-HE2/rfH9QyCccaXSR+AEAe/wGVAe/l37tqzQYSU1sFWE+u4MkZA1p7IoBgXOit6m8qOi9HGYFbm4TlpkPLKUrQ==, tarball: file:projects/openapi.tgz}
id: file:projects/openapi.tgz
name: '@rush-temp/openapi'
version: 0.0.0
@ -9437,13 +9496,13 @@ packages:
dev: false
file:projects/schemas.tgz:
resolution: {integrity: sha512-R4SNYE56Q0TOMYcT8gSTZIInxE9vVJH1k54SR8Ksvg8HNkzG+Pko1NIxb8zpWFB74VEmx3TDaruHnodgJjUrvQ==, tarball: file:projects/schemas.tgz}
resolution: {integrity: sha512-aeHJHwq6RJNeECiY4g86CukjYKRNg8eHFoxQVmU/aCtNct/TMpfrAc19FVV4JyuNRKtXdFrVNjO2hUJxZXQSQA==, tarball: file:projects/schemas.tgz}
name: '@rush-temp/schemas'
version: 0.0.0
dev: false
file:projects/system-requirements.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-z9xJ+0SQtAhIFr9wve8giTZZxNxdWfI6JxRdXLqEpRLZHHakvBWugiaIe/sfMbYBz+2tFyvHVmI1g6MqA5w1EA==, tarball: file:projects/system-requirements.tgz}
resolution: {integrity: sha512-2/b/vgr/a7FOjk7eTBfvo9o+w4QywiBeIgIHzYhVYTJcy5Huxm1ce0sNnId9Bay+/MrR8aw3lvRDlPUrWdbJUQ==, tarball: file:projects/system-requirements.tgz}
id: file:projects/system-requirements.tgz
name: '@rush-temp/system-requirements'
version: 0.0.0
@ -9478,7 +9537,7 @@ packages:
dev: false
file:projects/test-public-packages.tgz(prettier@3.1.0):
resolution: {integrity: sha512-Rn+gH1k+oRn0DDXoRdjqMkiECwfd/KS8aExh8AEAcn3NUKXZlnHbMX//5WYnKgvyH2nRIr02Q0dCui6cxIviNQ==, tarball: file:projects/test-public-packages.tgz}
resolution: {integrity: sha512-ToosHldq4gjvV7xkx1oaD/rVcFWYokbdUgfd6vA3Uzx38HO4HaKY0wqNROzocyDrqwT6IWTMPMo2YATka/49vg==, tarball: file:projects/test-public-packages.tgz}
id: file:projects/test-public-packages.tgz
name: '@rush-temp/test-public-packages'
version: 0.0.0
@ -9499,7 +9558,7 @@ packages:
dev: false
file:projects/test-utils.tgz(@types/node@20.9.0)(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-PjGDVMkoTdQpgj3j0MSrYPkMoilJ3rXaramucEQu/DXD2iUlUqLbATiDxEeOeeJcbyChAWoj8U/ZPV0UG3JdZg==, tarball: file:projects/test-utils.tgz}
resolution: {integrity: sha512-tit5MjyO3D/0svfHHHE79slcHCUmLc+cyL2DJ+jLP/LFZ1FCDGzyNhW04+fJbCd0LIM05efwORznprhNtesO9A==, tarball: file:projects/test-utils.tgz}
id: file:projects/test-utils.tgz
name: '@rush-temp/test-utils'
version: 0.0.0
@ -9526,7 +9585,7 @@ packages:
dev: false
file:projects/yaml.tgz(prettier@3.1.0)(ts-node@10.9.1):
resolution: {integrity: sha512-BKdiJVcGwcy3siN8gBZEoV3uGhFsHHp2cz7xx1bhy7yUgO8mU1utB0CClwHw575UMrMfxJ/2/tOwWZZ6YRzNVA==, tarball: file:projects/yaml.tgz}
resolution: {integrity: sha512-H8/9GzwHHWTFw9aj6TqJWA8Hnb0a2ZwNMDALfKiPxzqK8qkqA7ddM9XXKwrK9Vn4Hfry5Lf80q59WoI5KkzaJw==, tarball: file:projects/yaml.tgz}
id: file:projects/yaml.tgz
name: '@rush-temp/yaml'
version: 0.0.0

Просмотреть файл

@ -23,9 +23,9 @@ tsproject.yaml - Contains configuration for the TypeSpec compiler
package.json - Configuration of the TypeSpec project
```yaml
version: 3.6.6
version: 3.10.1
use-extension:
"@autorest/modelerfour": "^4.23.5"
"@autorest/modelerfour": "^4.27.0"
modelerfour:
# this runs a pre-namer step to clean up names

Просмотреть файл

@ -28,7 +28,7 @@ param(
function GenerateMetadata ()
{
Write-Host "##Generating metadata with csharp codegen in $outputFolder with $csharpCodegen"
$cmd = "autorest --csharp --isAzureSpec --isArm --max-memory-size=8192 --use=`"$csharpCodegen`" --output-folder=$outputFolder --mgmt-debug.only-generate-metadata --azure-arm --skip-csproj $swaggerConfigFile"
$cmd = "autorest --version=3.10.1 --csharp --isAzureSpec --isArm --max-memory-size=8192 --use=`"$csharpCodegen`" --output-folder=$outputFolder --mgmt-debug.only-generate-metadata --azure-arm --skip-csproj $swaggerConfigFile"
Write-Host "$cmd"
Invoke-Expression $cmd
if ($LASTEXITCODE) { exit $LASTEXITCODE }
@ -42,7 +42,7 @@ function GenerateMetadata ()
function DoConvert ()
{
Write-Host "##Converting from swagger to tsp with in $outputFolder with $converterCodegen"
$cmd = "autorest --openapi-to-typespec --isAzureSpec --isArm --use=`"$converterCodegen`" --output-folder=$outputFolder --src-path=tsp-output $swaggerConfigFile"
$cmd = "autorest --version=3.10.1 --openapi-to-typespec --isAzureSpec --isArm --use=`"$converterCodegen`" --output-folder=$outputFolder $swaggerConfigFile"
Write-Host "$cmd"
Invoke-Expression $cmd
if ($LASTEXITCODE) { exit $LASTEXITCODE }

Просмотреть файл

@ -41,16 +41,16 @@
"@azure-tools/codegen": "~2.10.0",
"@autorest/extension-base": "~3.6.0",
"@autorest/codemodel": "~4.20.0",
"@typespec/compiler": "^0.51.0",
"@typespec/rest": "^0.51.0",
"@typespec/http": "^0.51.0",
"@typespec/versioning": "^0.51.0",
"@typespec/prettier-plugin-typespec": "^0.51.0",
"@azure-tools/typespec-azure-core": "^0.37.2",
"@azure-tools/typespec-autorest": "^0.37.2",
"@azure-tools/typespec-azure-resource-manager": "^0.37.1",
"@typespec/openapi": "^0.50.0",
"@typespec/openapi3": "^0.50.0",
"@typespec/compiler": "^0.52.0",
"@typespec/rest": "^0.52.0",
"@typespec/http": "^0.52.0",
"@typespec/versioning": "^0.52.0",
"@typespec/prettier-plugin-typespec": "^0.52.0",
"@azure-tools/typespec-azure-core": "^0.38.0",
"@azure-tools/typespec-autorest": "^0.38.0",
"@azure-tools/typespec-azure-resource-manager": "^0.38.0",
"@typespec/openapi": "^0.52.0",
"@typespec/openapi3": "^0.52.0",
"prettier": "~3.1.0",
"lodash": "~4.17.20",
"pluralize": "^8.0.0",
@ -67,7 +67,7 @@
"fs-extra": "^10.1.0",
"@types/fs-extra": "^9.0.13",
"chalk": "^4.1.0",
"@azure-tools/typespec-autorest": "^0.37.2",
"@azure-tools/typespec-autorest": "^0.38.0",
"webpack-cli": "~5.1.4",
"webpack": "~5.89.0",
"@typescript-eslint/eslint-plugin": "^6.11.0",

Просмотреть файл

@ -2,6 +2,7 @@ import { Case } from "change-case-all";
import { TypespecOperation, TspArmResource } from "interfaces";
import _ from "lodash";
import pluralize from "pluralize";
import { getArmCommonTypeVersion } from "../autorest-session";
import { replaceGeneratedResourceObject } from "../transforms/transform-arm-resources";
import { generateDecorators } from "../utils/decorators";
import { generateDocs } from "../utils/docs";
@ -9,6 +10,26 @@ import { getModelPropertiesDeclarations } from "../utils/model-generation";
import { generateOperation } from "./generate-operations";
export function generateArmResource(resource: TspArmResource): string {
const definitions: string[] = [];
definitions.push(generateArmResourceModel(resource));
definitions.push("\n");
definitions.push(generateArmResourceOperation(resource));
definitions.push("\n");
for (const o of resource.resourceOperations) {
for (const d of o.augmentedDecorators ?? []) {
definitions.push(`${d}`);
}
}
return definitions.join("\n");
}
function generateArmResourceModel(resource: TspArmResource): string {
let definitions: string[] = [];
for (const fixme of resource.fixMe ?? []) {
@ -25,28 +46,54 @@ export function generateArmResource(resource: TspArmResource): string {
definitions.push(`@parentResource(${resource.resourceParent.name})`);
}
definitions.push(`model ${resource.name} is ${resource.resourceKind}<${resource.propertiesModelName}> {`);
if (
getArmCommonTypeVersion() &&
!resource.propertiesPropertyRequired &&
resource.propertiesPropertyVisibility.length === 2 &&
resource.propertiesPropertyVisibility.includes("read") &&
resource.propertiesPropertyVisibility.includes("create")
) {
definitions.push(`model ${resource.name} is ${resource.resourceKind}<${resource.propertiesModelName}> {`);
definitions = [...definitions, ...getModelPropertiesDeclarations(resource.properties)];
definitions = [...definitions, ...getModelPropertiesDeclarations(resource.properties)];
} else {
definitions.push(
`#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"`,
);
definitions.push(
`#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"`,
);
definitions.push(`@includeInapplicableMetadataInPayload(false)`);
if (!getArmCommonTypeVersion()) {
if (resource.baseModelName) {
definitions.push(`model ${resource.name} extends ${resource.baseModelName} {`);
} else {
definitions.push(`model ${resource.name} {`);
}
} else {
definitions.push(`@Azure.ResourceManager.Private.armResourceInternal(${resource.propertiesModelName})`);
definitions.push(`model ${resource.name} extends ${resource.resourceKind}Base {`);
}
definitions = [...definitions, ...getModelPropertiesDeclarations(resource.properties)];
const propertyDoc = generateDocs({ doc: resource.propertiesPropertyDescription });
propertyDoc && definitions.push(propertyDoc);
definitions.push(`@extension("x-ms-client-flatten", true)`);
if (resource.propertiesPropertyVisibility.length > 0) {
definitions.push(`@visibility("${resource.propertiesPropertyVisibility.join(",")}")`);
}
definitions.push(`properties${resource.propertiesPropertyRequired ? "" : "?"}: ${resource.propertiesModelName}`);
}
for (const p of resource.optionalStandardProperties) {
definitions.push(`\n...${p}`);
}
definitions.push("}\n");
definitions.push("\n");
definitions.push(generateArmResourceOperation(resource));
definitions.push("\n");
for (const o of resource.resourceOperations) {
for (const d of o.augmentedDecorators ?? []) {
definitions.push(`${d}`);
}
}
return definitions.join("\n");
}

Просмотреть файл

@ -1,7 +1,6 @@
import { TypespecParameter } from "../interfaces";
import { generateDecorators } from "../utils/decorators";
import { generateDocs } from "../utils/docs";
import { transformDefaultValue } from "../utils/values";
export function generateParameter(parameter: TypespecParameter): string {
const definitions: string[] = [];
@ -12,7 +11,7 @@ export function generateParameter(parameter: TypespecParameter): string {
decorators && definitions.push(decorators);
let defaultValue = "";
if (parameter.defaultValue) {
defaultValue = ` = ${transformDefaultValue(parameter.type, parameter.defaultValue)}`;
defaultValue = ` = ${parameter.defaultValue}`;
}
definitions.push(`"${parameter.name}"${parameter.isOptional ? "?" : ""}: ${parameter.type}${defaultValue}`);

Просмотреть файл

@ -240,8 +240,12 @@ export interface TspArmResourceExistsOperation extends TspArmResourceOperationBa
export interface TspArmResource extends TypespecObject {
resourceKind: ArmResourceKind;
propertiesModelName: string;
propertiesPropertyRequired: boolean;
propertiesPropertyVisibility: string[];
propertiesPropertyDescription: string;
resourceParent?: TspArmResource;
resourceOperations: TspArmResourceOperation[];
normalOperations: TypespecOperation[];
optionalStandardProperties: string[];
baseModelName?: string;
}

Просмотреть файл

@ -63,7 +63,7 @@ export async function processDetector(host: AutorestExtensionHost) {
for (const v of Object.values(session.model.components.schemas)) {
if (v["x-ms-metadata"]?.originalLocations) {
for (const p of v["x-ms-metadata"].originalLocations) {
const result = p.match(/\/specification\/common-types\/resource-management\/(v\d)\//);
const result = p.match(/\/common-types\/resource-management\/(v\d)\//);
if (result) {
setArmCommonTypeVersion(result[1]);
return;

Просмотреть файл

@ -1,7 +1,7 @@
import { Operation, Parameter, Response, SchemaResponse, SchemaType } from "@autorest/codemodel";
import _ from "lodash";
import pluralize, { singular } from "pluralize";
import { getSession } from "../autorest-session";
import { getArmCommonTypeVersion, getSession } from "../autorest-session";
import { generateParameter } from "../generate/generate-parameter";
import {
ArmResourceKind,
@ -68,11 +68,19 @@ export function transformTspArmResource(schema: ArmResourceSchema): TspArmResour
addGeneratedResourceObjectIfNotExits(schema.language.default.name, schema.language.default.name);
const propertiesModelSchema = schema.properties?.find((p) => p.serializedName === "properties")?.schema;
const propertiesModel = schema.properties?.find((p) => p.serializedName === "properties");
const propertiesModelSchema = propertiesModel?.schema;
let propertiesModelName = propertiesModelSchema?.language.default.name;
let propertiesPropertyRequired = false;
let propertiesPropertyVisibility = ["read", "create"];
let propertiesPropertyDescription = "";
if (propertiesModelSchema?.type === SchemaType.Dictionary) {
propertiesModelName = "Record<unknown>";
} else if (propertiesModelSchema?.type === SchemaType.Object) {
propertiesPropertyRequired = propertiesModel?.required ?? false;
propertiesPropertyVisibility = propertiesModel?.extensions?.["x-ms-mutability"] ?? [];
propertiesPropertyDescription = propertiesModel?.language.default.description ?? "";
}
// TODO: deal with resources that has no properties property
@ -83,39 +91,46 @@ export function transformTspArmResource(schema: ArmResourceSchema): TspArmResour
const operations = getTspOperations(schema);
let baseModelName = undefined;
if (!getArmCommonTypeVersion()) {
const immediateParents = schema.parents?.immediate ?? [];
baseModelName = immediateParents
.filter((p) => p.language.default.name !== schema.language.default.name)
.map((p) => p.language.default.name)[0];
}
const decorators = buildResourceDecorators(schema);
if (!getArmCommonTypeVersion() && schema.resourceMetadata.IsExtensionResource) {
decorators.push({ name: "extensionResource" });
}
return {
fixMe,
resourceKind: getResourceKind(schema),
kind: "object",
properties: [buildKeyProperty(schema), ...getOtherProperties(schema)],
properties: [buildKeyProperty(schema), ...getOtherProperties(schema, !getArmCommonTypeVersion())],
name: schema.resourceMetadata.SwaggerModelName,
parents: [],
resourceParent: getParentResource(schema),
propertiesModelName,
propertiesPropertyRequired,
propertiesPropertyVisibility,
propertiesPropertyDescription,
doc: schema.language.default.description,
decorators: buildResourceDecorators(schema),
decorators,
resourceOperations: operations[0],
normalOperations: operations[1],
optionalStandardProperties: getResourceOptionalStandardProperties(schema),
optionalStandardProperties: getArmCommonTypeVersion() ? getResourceOptionalStandardProperties(schema) : [],
baseModelName,
};
}
function getOtherProperties(schema: ArmResourceSchema): TypespecObjectProperty[] {
const knownProperties = [
"properties",
"id",
"name",
"type",
"systemData",
"location",
"tags",
"identity",
"sku",
"eTag",
"plan",
"kind",
"managedBy",
];
function getOtherProperties(schema: ArmResourceSchema, noCommonTypes: boolean): TypespecObjectProperty[] {
const knownProperties = ["properties", "name"];
if (!noCommonTypes) {
knownProperties.push(...["id", "type", "systemData", "location", "tags", "identity", "sku", "eTag", "plan"]);
}
const otherProperties: TypespecObjectProperty[] = [];
for (const property of schema.properties ?? []) {
if (!knownProperties.includes(property.serializedName)) {
@ -157,16 +172,6 @@ function getResourceOptionalStandardProperties(schema: ArmResourceSchema): strin
optionalStandardProperties.push("Azure.ResourceManager.ResourcePlan");
}
if (schema.properties?.find((p) => p.serializedName === "kind")) {
// TODO: handle non-standard property
optionalStandardProperties.push("Azure.ResourceManager.ResourceKind");
}
if (schema.properties?.find((p) => p.serializedName === "managedBy")) {
// TODO: handle non-standard property
optionalStandardProperties.push("Azure.ResourceManager.ManagedBy");
}
return optionalStandardProperties;
}
@ -213,23 +218,6 @@ function convertResourceExistsOperation(resourceMetadata: ArmResource): TspArmRe
return [];
}
function getLROHeader(swaggerOperation: Operation): string | undefined {
if (!swaggerOperation.extensions?.["x-ms-long-running-operation"]) {
return undefined;
}
let lroHeader = undefined;
const finalStateVia = swaggerOperation.extensions?.["x-ms-long-running-operation-options"]?.["final-state-via"];
if (finalStateVia === "azure-async-operation") {
lroHeader = "ArmAsyncOperationHeader";
} else if (finalStateVia === "location") {
lroHeader = "ArmLroLocationHeader";
// TODO: deal with final-state-schema
} else {
// TODO: not sure how to deal with original-uri and operation-location
}
return lroHeader;
}
function getTSPOperationGroupName(resourceName: string): string {
const operationGroupName = pluralize(resourceName);
if (operationGroupName === resourceName) {
@ -248,33 +236,26 @@ function convertResourceCreateOrReplaceOperation(
const swaggerOperation = operations[operation.OperationID];
const bodyParam = swaggerOperation.requests?.[0].parameters?.find((p) => p.protocol.http?.in === "body");
const isLongRunning = swaggerOperation.extensions?.["x-ms-long-running-operation"] ?? false;
const lroHeader = getLROHeader(swaggerOperation);
const baseParameters = buildOperationBaseParameters(swaggerOperation, resourceMetadata);
const templateParameters = [resourceMetadata.SwaggerModelName];
if (baseParameters) {
templateParameters.push(baseParameters);
}
if (lroHeader) {
if (!baseParameters) {
templateParameters.push(`BaseParameters<${resourceMetadata.SwaggerModelName}>`);
}
templateParameters.push(lroHeader);
}
const tspOperationGroupName = getTSPOperationGroupName(resourceMetadata.SwaggerModelName);
const operationName = getOperationName(operation.OperationID);
const augmentedDecorators = [];
if (bodyParam) {
if (bodyParam.language.default.name !== "resource") {
augmentedDecorators.push(
`@@projectedName(${tspOperationGroupName}.${operationName}::parameters.resource, "json", "${bodyParam.language.default.name}");`,
`@@projectedName(${tspOperationGroupName}.\`${operationName}\`::parameters.resource, "json", "${bodyParam.language.default.name}");`,
);
augmentedDecorators.push(
`@@extension(${tspOperationGroupName}.${operationName}::parameters.resource, "x-ms-client-name", "${bodyParam.language.default.name}");`,
`@@extension(${tspOperationGroupName}.\`${operationName}\`::parameters.resource, "x-ms-client-name", "${bodyParam.language.default.name}");`,
);
}
if (bodyParam.language.default.description !== "Resource create parameters.") {
augmentedDecorators.push(
`@@doc(${tspOperationGroupName}.${operationName}::parameters.resource, "${bodyParam.language.default.description}");`,
`@@doc(${tspOperationGroupName}.\`${operationName}\`::parameters.resource, "${bodyParam.language.default.description}");`,
);
}
}
@ -305,7 +286,6 @@ function convertResourceUpdateOperation(
) {
const swaggerOperation = operations[operation.OperationID];
const isLongRunning = swaggerOperation.extensions?.["x-ms-long-running-operation"] ?? false;
const lroHeader = getLROHeader(swaggerOperation);
const baseParameters = buildOperationBaseParameters(swaggerOperation, resourceMetadata);
const bodyParam = swaggerOperation.requests?.[0].parameters?.find((p) => p.protocol.http?.in === "body");
const fixMe: string[] = [];
@ -325,15 +305,15 @@ function convertResourceUpdateOperation(
const operationName = getOperationName(operation.OperationID);
if (bodyParam.language.default.name !== "properties") {
augmentedDecorators.push(
`@@projectedName(${tspOperationGroupName}.${operationName}::parameters.properties, "json", "${bodyParam.language.default.name}");`,
`@@projectedName(${tspOperationGroupName}.\`${operationName}\`::parameters.properties, "json", "${bodyParam.language.default.name}");`,
);
augmentedDecorators.push(
`@@extension(${tspOperationGroupName}.${operationName}::parameters.properties, "x-ms-client-name", "${bodyParam.language.default.name}");`,
`@@extension(${tspOperationGroupName}.\`${operationName}\`::parameters.properties, "x-ms-client-name", "${bodyParam.language.default.name}");`,
);
}
if (bodyParam.language.default.description !== "The resource properties to be updated.") {
augmentedDecorators.push(
`@@doc(${tspOperationGroupName}.${operationName}::parameters.properties, "${bodyParam.language.default.description}");`,
`@@doc(${tspOperationGroupName}.\`${operationName}\`::parameters.properties, "${bodyParam.language.default.description}");`,
);
}
} else {
@ -343,12 +323,6 @@ function convertResourceUpdateOperation(
if (baseParameters) {
templateParameters.push(baseParameters);
}
if (lroHeader) {
if (!baseParameters) {
templateParameters.push(`BaseParameters<${resourceMetadata.SwaggerModelName}>`);
}
templateParameters.push(lroHeader);
}
return [
{
fixMe,
@ -376,19 +350,12 @@ function convertResourceDeleteOperation(
const operation = resourceMetadata.DeleteOperations[0];
const swaggerOperation = operations[operation.OperationID];
const isLongRunning = swaggerOperation.extensions?.["x-ms-long-running-operation"] ?? false;
const lroHeader = getLROHeader(swaggerOperation);
const okResponse = swaggerOperation?.responses?.filter((o) => o.protocol.http?.statusCodes.includes("200"))?.[0];
const baseParameters = buildOperationBaseParameters(swaggerOperation, resourceMetadata);
const templateParameters = [resourceMetadata.SwaggerModelName];
if (baseParameters) {
templateParameters.push(baseParameters);
}
if (lroHeader) {
if (!baseParameters) {
templateParameters.push(`BaseParameters<${resourceMetadata.SwaggerModelName}>`);
}
templateParameters.push(lroHeader);
}
return [
{
doc: operation.Description,
@ -527,7 +494,6 @@ function convertResourceActionOperations(
const swaggerOperation = operations[operation.OperationID];
const bodyParam = swaggerOperation.requests?.[0].parameters?.find((p) => p.protocol.http?.in === "body");
const isLongRunning = swaggerOperation.extensions?.["x-ms-long-running-operation"] ?? false;
const lroHeader = getLROHeader(swaggerOperation);
const okResponse = swaggerOperation?.responses?.filter(
(o) => o.protocol.http?.statusCodes.includes("200"),
)?.[0];
@ -555,12 +521,6 @@ function convertResourceActionOperations(
if (baseParameters) {
templateParameters.push(baseParameters);
}
if (lroHeader) {
if (!baseParameters) {
templateParameters.push(`BaseParameters<${resourceMetadata.SwaggerModelName}>`);
}
templateParameters.push(lroHeader);
}
const tspOperationGroupName = getTSPOperationGroupName(resourceMetadata.SwaggerModelName);
const operationName = getOperationName(operation.OperationID);
@ -568,15 +528,15 @@ function convertResourceActionOperations(
if (bodyParam) {
if (bodyParam.language.default.name !== "body") {
augmentedDecorators.push(
`@@projectedName(${tspOperationGroupName}.${operationName}::parameters.body, "json", "${bodyParam.language.default.name}");`,
`@@projectedName(${tspOperationGroupName}.\`${operationName}\`::parameters.body, "json", "${bodyParam.language.default.name}");`,
);
augmentedDecorators.push(
`@@extension(${tspOperationGroupName}.${operationName}::parameters.body, "x-ms-client-name", "${bodyParam.language.default.name}");`,
`@@extension(${tspOperationGroupName}.\`${operationName}\`::parameters.body, "x-ms-client-name", "${bodyParam.language.default.name}");`,
);
}
if (bodyParam.language.default.description !== "The content of the action request") {
augmentedDecorators.push(
`@@doc(${tspOperationGroupName}.${operationName}::parameters.body, "${bodyParam.language.default.description}");`,
`@@doc(${tspOperationGroupName}.\`${operationName}\`::parameters.body, "${bodyParam.language.default.description}");`,
);
}
}
@ -747,8 +707,8 @@ function buildOperationBaseParameters(operation: Operation, resource: ArmResourc
params.push(generateParameter(parameter));
}
return `{
...BaseParameters<${resource.SwaggerModelName}>,
${params.join("\n")}
...BaseParameters<${resource.SwaggerModelName}>;
${params.join(";\n")}
}`;
}
}
@ -847,6 +807,10 @@ function buildKeyProperty(schema: ArmResourceSchema): TypespecObjectProperty {
name: "segment",
arguments: [schema.resourceMetadata.ResourceKeySegment],
},
{
name: "visibility",
arguments: ["read"],
},
);
// remove @path decorator for key parameter

Просмотреть файл

@ -127,22 +127,24 @@ export function transformObjectProperty(propertySchema: Property, codeModel: Cod
isOptional: propertySchema.required !== true,
type: visited.name,
decorators: getPropertyDecorators(propertySchema),
defaultValue: getDefaultValue(propertySchema.schema),
defaultValue: getDefaultValue(visited.name, propertySchema.schema),
};
}
const logger = getLogger("getDiscriminatorProperty");
logger.info(`Transforming property ${propertySchema.language.default.name} of type ${propertySchema.schema.type}`);
const type = getTypespecType(propertySchema.schema, codeModel);
return {
kind: "property",
doc,
name,
isOptional: propertySchema.required !== true,
type: getTypespecType(propertySchema.schema, codeModel),
type,
decorators: getPropertyDecorators(propertySchema),
fixMe: getFixme(propertySchema, codeModel),
defaultValue: getDefaultValue(propertySchema.schema),
defaultValue: getDefaultValue(type, propertySchema.schema),
};
}

Просмотреть файл

@ -178,7 +178,7 @@ export function transformParameter(parameter: Parameter, codeModel: CodeModel):
location: transformParameterLocation(parameter),
decorators: getPropertyDecorators(parameter),
serializedName: parameter.language.default.serializedName ?? parameter.language.default.name,
defaultValue: getDefaultValue(parameter.schema),
defaultValue: getDefaultValue(visited.name, parameter.schema),
};
}

Просмотреть файл

@ -137,6 +137,15 @@ export function getPropertyDecorators(element: Property | Parameter): TypespecDe
});
}
if (element.extensions?.["x-ms-client-flatten"]) {
decorators.push({
name: "extension",
arguments: [{ value: `"x-ms-client-flatten"` }, { value: "true" }],
module: "@typespec/openapi",
namespace: "TypeSpec.OpenAPI",
});
}
return decorators;
}

Просмотреть файл

@ -32,7 +32,7 @@ function lineWrap(doc: string | string[]): string[] {
const { isArm } = getOptions();
const maxLength = isArm ? Number.POSITIVE_INFINITY : 80;
let docString = Array.isArray(doc) ? doc.join("") : doc;
let docString = Array.isArray(doc) ? doc.join("\n") : doc;
docString = docString.replace(/\r\n/g, "\n");
docString = docString.replace(/\r/g, "\n");
@ -40,21 +40,21 @@ function lineWrap(doc: string | string[]): string[] {
return [docString];
}
const oriLines = docString.split("\n");
const lines: string[] = [];
const words = docString.split(" ");
let line = ``;
for (const word of words) {
if (word === "\n") {
lines.push(line.substring(0, line.length - 1));
line = "";
} else if (word.length + 1 > maxLength - line.length) {
lines.push(line.substring(0, line.length - 1));
line = `${word} `;
} else {
line = `${line}${word} `;
for (const oriLine of oriLines) {
const words = oriLine.split(" ");
let line = ``;
for (const word of words) {
if (word.length + 1 > maxLength - line.length) {
lines.push(line.substring(0, line.length - 1));
line = `${word} `;
} else {
line = `${line}${word} `;
}
}
lines.push(`${line.substring(0, line.length - 1)}`);
}
lines.push(`${line.substring(0, line.length - 1)}`);
return lines;
}

Просмотреть файл

@ -44,17 +44,36 @@ export function getModelsImports(program: TypespecProgram) {
}
export function getRoutesImports(_program: TypespecProgram) {
const imports: Imports = {
modules: [`import "@azure-tools/typespec-azure-core";`, `import "@typespec/rest";`, `import "./models.tsp";`],
namespaces: [`using TypeSpec.Rest;`, `using TypeSpec.Http;`],
};
const modules = new Set<string>();
const namespaces = new Set<string>();
modules.add(`import "@azure-tools/typespec-azure-core";`);
modules.add(`import "@typespec/rest";`);
modules.add(`import "./models.tsp";`);
namespaces.add(`using TypeSpec.Rest;`);
namespaces.add(`using TypeSpec.Http;`);
const { isArm } = getOptions();
if (isArm) {
imports.modules.push(`import "@azure-tools/typespec-azure-resource-manager";`);
imports.namespaces.push("using Azure.ResourceManager;");
modules.add(`import "@azure-tools/typespec-azure-resource-manager";`);
namespaces.add("using Azure.ResourceManager;");
}
return imports;
for (const og of _program.operationGroups) {
for (const operation of og.operations) {
for (const param of operation.parameters) {
for (const decorator of param.decorators ?? []) {
decorator.module && modules.add(`import "${decorator.module}";`);
decorator.namespace && namespaces.add(`using ${decorator.namespace};`);
}
}
}
}
return {
modules: [...modules],
namespaces: [...namespaces],
};
}

Просмотреть файл

@ -1,7 +1,6 @@
import { TypespecObjectProperty } from "../interfaces";
import { generateDecorators } from "./decorators";
import { generateDocs } from "./docs";
import { transformDefaultValue } from "./values";
export function getModelPropertiesDeclarations(properties: TypespecObjectProperty[]): string[] {
const definitions: string[] = [];
@ -13,7 +12,7 @@ export function getModelPropertiesDeclarations(properties: TypespecObjectPropert
property.fixMe && property.fixMe.length && definitions.push(property.fixMe.join("\n"));
let defaultValue = "";
if (property.defaultValue) {
defaultValue = ` = ${transformDefaultValue(property.type, property.defaultValue)}`;
defaultValue = ` = ${property.defaultValue}`;
}
definitions.push(`"${property.name}"${getOptionalOperator(property)}: ${property.type}${defaultValue};`);
}

Просмотреть файл

@ -1,7 +1,7 @@
import { readFileSync } from "fs";
import { join } from "path";
import { CodeModel, ObjectSchema, Operation, SchemaResponse } from "@autorest/codemodel";
import { getSession } from "../autorest-session";
import { getArmCommonTypeVersion, getSession } from "../autorest-session";
import { TypespecObject, TspArmResource, TypespecEnum } from "../interfaces";
import { isGeneratedResourceObject } from "../transforms/transform-arm-resources";
export interface _ArmResourceOperation {
@ -156,17 +156,7 @@ export function isResourceSchema(schema: ObjectSchema): schema is ArmResourceSch
}
const _ArmCoreTypes = [
"TrackedResource",
"ProxyResource",
"ExtensionResource",
"ResourceProvisioningState",
"ManagedServiceIdentity",
"ManagedSystemAssignedIdentity",
"EntityTag",
"ResourceKind",
"ResourcePlan",
"ResourceSku",
"ManagedBy",
"OperationListResult",
"Origin",
"OperationDisplay",
@ -174,15 +164,29 @@ const _ArmCoreTypes = [
"ErrorDetail",
"ErrorAdditionalInfo",
"SystemData",
"ManagedIdentityProperties",
"ManagedSystemIdentityProperties",
"UserAssignedIdentity",
"Operation",
"ErrorResponse",
];
const _ArmCoreCustomTypes = [
"TrackedResource",
"ProxyResource",
"ExtensionResource",
"ManagedServiceIdentity",
"ManagedIdentityProperties",
"UserAssignedIdentity",
"ManagedSystemAssignedIdentity",
"ManagedSystemIdentityProperties",
"EntityTag",
"ResourcePlan",
"ResourceSku",
];
export function filterArmModels(codeModel: CodeModel, objects: TypespecObject[]): TypespecObject[] {
const filtered = [..._ArmCoreTypes];
if (getArmCommonTypeVersion()) {
filtered.push(..._ArmCoreCustomTypes);
}
for (const operationGroup of codeModel.operationGroups) {
for (const operation of operationGroup.operations) {
if (operation.requests?.[0].protocol?.http?.path.match(/^\/providers\/[^/]+\/operations$/)) {
@ -201,15 +205,18 @@ const _ArmCoreEnums = [
"CreatedByType",
"Origin",
"ActionType",
"ManagedIdentityType",
"ManagedSystemIdentityType",
"SkuTier",
"CheckNameAvailabilityRequest",
"CheckNameAvailabilityReason",
];
const _ArmCoreCustomEnums = ["ManagedIdentityType", "ManagedSystemIdentityType", "SkuTier"];
export function filterArmEnums(enums: TypespecEnum[]): TypespecEnum[] {
return enums.filter((e) => !_ArmCoreEnums.includes(e.name));
const filtered = [..._ArmCoreEnums];
if (getArmCommonTypeVersion()) {
filtered.push(..._ArmCoreCustomEnums);
}
return enums.filter((e) => !filtered.includes(e.name));
}
export function isTspArmResource(schema: TypespecObject): schema is TspArmResource {

Просмотреть файл

@ -1,5 +1,5 @@
import { Schema } from "@autorest/codemodel";
import { isChoiceSchema } from "./schemas";
import { isChoiceSchema, isSealedChoiceSchema } from "./schemas";
export function transformValue(value: string | number | boolean) {
if (typeof value === "string") {
@ -9,25 +9,17 @@ export function transformValue(value: string | number | boolean) {
return value;
}
export function transformDefaultValue(type: string, value: string | number | boolean) {
if (["string", "int32", "int64", "float32", "float64", "boolean"].includes(type)) {
return transformValue(value);
} else {
return `${type}.${value}`;
}
}
export function getDefaultValue(schema: Schema) {
export function getDefaultValue(type: string, schema: Schema) {
if (schema.defaultValue === undefined) {
return undefined;
}
if (isChoiceSchema(schema)) {
if (isChoiceSchema(schema) || isSealedChoiceSchema(schema)) {
for (const choice of schema.choices) {
if (schema.defaultValue === choice.value.toString()) {
return choice.language.default.name;
return `${type}.\`${choice.language.default.name}\``;
}
}
} else {
return schema.defaultValue;
return transformValue(schema.defaultValue);
}
}

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* DataConnector Model.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(DataManagerForAgriculture)
model DataConnector is ProxyResource<DataConnectorProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(DataConnectorProperties)
model DataConnector extends ProxyResourceBase {
/**
* Connector name.
*/
@ -25,8 +29,15 @@ model DataConnector is ProxyResource<DataConnectorProperties> {
@path
@key("dataConnectorName")
@segment("dataConnectors")
@visibility("read")
name: string;
/**
* DataConnector Properties.
*/
@extension("x-ms-client-flatten", true)
properties: DataConnectorProperties;
...Azure.ResourceManager.EntityTag;
}
@ -58,9 +69,9 @@ interface DataConnectors {
...BaseParameters<DataConnector>;
/**
* Maximum number of items needed (inclusive).
Minimum = 10, Maximum = 1000, Default value = 50.
*/
* Maximum number of items needed (inclusive).
* Minimum = 10, Maximum = 1000, Default value = 50.
*/
@maxValue(1000)
@minValue(10)
@query("$maxPageSize")

Просмотреть файл

@ -14,8 +14,13 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* Data Manager For Agriculture ARM Resource.
*/
model DataManagerForAgriculture
is TrackedResource<DataManagerForAgricultureProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
DataManagerForAgricultureProperties
)
model DataManagerForAgriculture extends TrackedResourceBase {
/**
* DataManagerForAgriculture resource name.
*/
@ -25,8 +30,15 @@ model DataManagerForAgriculture
@path
@key("dataManagerForAgricultureResourceName")
@segment("farmBeats")
@visibility("read")
name: string;
/**
* Data Manager For Agriculture ARM Resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: DataManagerForAgricultureProperties;
...Azure.ResourceManager.ManagedServiceIdentity;
}
@ -54,9 +66,7 @@ interface DataManagerForAgricultures {
@operationId("DataManagerForAgricultureResources_Update")
update is ArmCustomPatchAsync<
DataManagerForAgriculture,
DataManagerForAgricultureUpdateRequestModel,
BaseParameters<DataManagerForAgriculture>,
ArmLroLocationHeader
DataManagerForAgricultureUpdateRequestModel
>;
/**
@ -77,9 +87,9 @@ interface DataManagerForAgricultures {
...BaseParameters<DataManagerForAgriculture>;
/**
* Maximum number of items needed (inclusive).
Minimum = 10, Maximum = 1000, Default value = 50.
*/
* Maximum number of items needed (inclusive).
* Minimum = 10, Maximum = 1000, Default value = 50.
*/
@maxValue(1000)
@minValue(10)
@query("$maxPageSize")

Просмотреть файл

@ -14,9 +14,14 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* DataManagerForAgriculture extension resource.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@tenantResource
model DataManagerForAgricultureExtension
is ProxyResource<DataManagerForAgricultureExtensionProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
DataManagerForAgricultureExtensionProperties
)
model DataManagerForAgricultureExtension extends ProxyResourceBase {
/**
* dataManagerForAgricultureExtensionId to be queried.
*/
@ -24,7 +29,14 @@ model DataManagerForAgricultureExtension
@path
@key("dataManagerForAgricultureExtensionId")
@segment("farmBeatsExtensionDefinitions")
@visibility("read")
name: string;
/**
* DataManagerForAgricultureExtension properties.
*/
@extension("x-ms-client-flatten", true)
properties?: DataManagerForAgricultureExtensionProperties;
}
@armResourceOperations
@ -81,9 +93,9 @@ interface DataManagerForAgricultureExtensions {
publisherIds?: string[];
/**
* Maximum number of items needed (inclusive).
Minimum = 10, Maximum = 1000, Default value = 50.
*/
* Maximum number of items needed (inclusive).
* Minimum = 10, Maximum = 1000, Default value = 50.
*/
@maxValue(1000)
@minValue(10)
@query("$maxPageSize")

Просмотреть файл

@ -14,9 +14,14 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* DataManagerForAgriculture solution resource.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@tenantResource
model DataManagerForAgricultureSolution
is ProxyResource<DataManagerForAgricultureSolutionProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
DataManagerForAgricultureSolutionProperties
)
model DataManagerForAgricultureSolution extends ProxyResourceBase {
/**
* dataManagerForAgricultureSolutionId to be queried.
*/
@ -24,7 +29,14 @@ model DataManagerForAgricultureSolution
@path
@key("dataManagerForAgricultureSolutionId")
@segment("farmBeatsSolutionDefinitions")
@visibility("read")
name: string;
/**
* DataManagerForAgricultureSolution properties.
*/
@extension("x-ms-client-flatten", true)
properties?: DataManagerForAgricultureSolutionProperties;
}
@armResourceOperations
@ -65,9 +77,9 @@ interface DataManagerForAgricultureSolutions {
farmBeatsSolutionNames?: string[];
/**
* Maximum number of items needed (inclusive).
Minimum = 10, Maximum = 1000, Default value = 50.
*/
* Maximum number of items needed (inclusive).
* Minimum = 10, Maximum = 1000, Default value = 50.
*/
@maxValue(1000)
@minValue(10)
@query("$maxPageSize")

Просмотреть файл

@ -15,16 +15,27 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* Extension resource.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(DataManagerForAgriculture)
model Extension is ProxyResource<ExtensionProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(ExtensionProperties)
model Extension extends ProxyResourceBase {
/**
* Id of extension resource.
*/
@path
@key("extensionId")
@segment("extensions")
@visibility("read")
name: string;
/**
* Extension resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: ExtensionProperties;
...Azure.ResourceManager.EntityTag;
}
@ -74,9 +85,9 @@ interface Extensions {
extensionCategories?: string[];
/**
* Maximum number of items needed (inclusive).
Minimum = 10, Maximum = 1000, Default value = 50.
*/
* Maximum number of items needed (inclusive).
* Minimum = 10, Maximum = 1000, Default value = 50.
*/
@maxValue(1000)
@minValue(10)
@query("$maxPageSize")

Просмотреть файл

@ -15,16 +15,28 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* The private endpoint connection resource.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(DataManagerForAgriculture)
model PrivateEndpointConnection
is ProxyResource<PrivateEndpointConnectionProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PrivateEndpointConnectionProperties
)
model PrivateEndpointConnection extends ProxyResourceBase {
/**
* Private endpoint connection name.
*/
@path
@key("privateEndpointConnectionName")
@segment("privateEndpointConnections")
@visibility("read")
name: string;
/**
* Resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PrivateEndpointConnectionProperties;
}
@armResourceOperations
@ -42,11 +54,7 @@ interface PrivateEndpointConnections {
/**
* Delete Private endpoint connection request.
*/
delete is ArmResourceDeleteAsync<
PrivateEndpointConnection,
BaseParameters<PrivateEndpointConnection>,
ArmAsyncOperationHeader
>;
delete is ArmResourceDeleteAsync<PrivateEndpointConnection>;
/**
* Get list of Private endpoint connections.

Просмотреть файл

@ -15,15 +15,28 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* A private link resource.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(DataManagerForAgriculture)
model PrivateLinkResource is ProxyResource<PrivateLinkResourceProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PrivateLinkResourceProperties
)
model PrivateLinkResource extends ProxyResourceBase {
/**
* Sub resource name.
*/
@path
@key("subResourceName")
@segment("privateLinkResources")
@visibility("read")
name: string;
/**
* Resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PrivateLinkResourceProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.AgFoodPlatform;
/**
* Solution resource.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(DataManagerForAgriculture)
model Solution is ProxyResource<SolutionProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(SolutionProperties)
model Solution extends ProxyResourceBase {
/**
* SolutionId for Data Manager For Agriculture Resource.
*/
@ -24,8 +28,15 @@ model Solution is ProxyResource<SolutionProperties> {
@path
@key("solutionId")
@segment("solutions")
@visibility("read")
name: string;
/**
* Solution resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: SolutionProperties;
...Azure.ResourceManager.EntityTag;
}
@ -84,9 +95,9 @@ interface Solutions {
names?: string[];
/**
* Filters on key-value pairs within the Properties object.
eg. "{testKey} eq {testValue}".
*/
* Filters on key-value pairs within the Properties object.
* eg. "{testKey} eq {testValue}".
*/
@query({
name: "propertyFilters",
format: "multi",
@ -127,9 +138,9 @@ eg. "{testKey} eq {testValue}".
maxLastModifiedDateTime?: utcDateTime;
/**
* Maximum number of items needed (inclusive).
Minimum = 10, Maximum = 1000, Default value = 50.
*/
* Maximum number of items needed (inclusive).
* Minimum = 10, Maximum = 1000, Default value = 50.
*/
@maxValue(1000)
@minValue(10)
@query("$maxPageSize")

Просмотреть файл

@ -211,11 +211,11 @@ model DataManagerForAgricultureExtensionProperties {
extensionApiDocsLink?: string;
/**
* Detailed information which shows summary of requested data.
Used in descriptive get extension metadata call.
Information for weather category per api included are apisSupported,
customParameters, PlatformParameters and Units supported.
*/
* Detailed information which shows summary of requested data.
* Used in descriptive get extension metadata call.
* Information for weather category per api included are apisSupported,
* customParameters, PlatformParameters and Units supported.
*/
@visibility("read")
detailedInformation?: DetailedInformation[];
}
@ -457,9 +457,9 @@ model DataManagerForAgricultureUpdateProperties {
}
/**
* Arm async operation class.
Ref: https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/async-operations.
*/
* Arm async operation class.
* Ref: https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/async-operations.
*/
model ArmAsyncOperation {
/**
* Status of the async operation.
@ -467,16 +467,16 @@ model ArmAsyncOperation {
status?: string;
/**
* Arm async operation error class.
Ref: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#azure-asyncoperation-resource-format.
*/
* Arm async operation error class.
* Ref: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#azure-asyncoperation-resource-format.
*/
error?: ArmAsyncOperationError;
}
/**
* Arm async operation error class.
Ref: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#azure-asyncoperation-resource-format.
*/
* Arm async operation error class.
* Ref: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#azure-asyncoperation-resource-format.
*/
model ArmAsyncOperationError {
/**
* Status of the async operation.
@ -651,9 +651,9 @@ model DataManagerForAgricultureSolutionProperties {
partnerTenantId?: string;
/**
* Gets scope of the Data manager For Agriculture data access that's required for processing solution request to partner.
Example: For gdd they might need weatherScope and satelliteScope.
*/
* Gets scope of the Data manager For Agriculture data access that's required for processing solution request to partner.
* Example: For gdd they might need weatherScope and satelliteScope.
*/
@visibility("read")
dataAccessScopes?: string[];

Просмотреть файл

@ -14,15 +14,26 @@ namespace Azure.ResourceManager.AlertsManagement;
/**
* An alert created in alert management service.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@subscriptionResource
model Alert is ProxyResource<AlertProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(AlertProperties)
model Alert extends ProxyResourceBase {
/**
* Unique ID of an alert instance.
*/
@path
@key("alertId")
@segment("alerts")
@visibility("read")
name: string;
/**
* Alert property bag
*/
@extension("x-ms-client-flatten", true)
properties?: AlertProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,14 +14,27 @@ namespace Azure.ResourceManager.AlertsManagement;
/**
* Alert processing rule object containing target scopes, conditions and scheduling logic.
*/
model AlertProcessingRule is TrackedResource<AlertProcessingRuleProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
AlertProcessingRuleProperties
)
model AlertProcessingRule extends TrackedResourceBase {
/**
* The name of the alert processing rule that needs to be fetched.
*/
@path
@key("alertProcessingRuleName")
@segment("actionRules")
@visibility("read")
name: string;
/**
* Alert processing rule properties.
*/
@extension("x-ms-client-flatten", true)
properties?: AlertProcessingRuleProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,26 @@ namespace Azure.ResourceManager.AlertsManagement;
/**
* Set of related alerts grouped together smartly by AMS.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@subscriptionResource
model SmartGroup is ProxyResource<SmartGroupProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(SmartGroupProperties)
model SmartGroup extends ProxyResourceBase {
/**
* Smart group unique id.
*/
@path
@key("smartGroupId")
@segment("smartGroups")
@visibility("read")
name: string;
/**
* Properties of smart group.
*/
@extension("x-ms-client-flatten", true)
properties?: SmartGroupProperties;
}
@armResourceOperations

Просмотреть файл

@ -1,11 +1,13 @@
import "@typespec/rest";
import "@typespec/http";
import "@azure-tools/typespec-azure-core";
import "@typespec/openapi";
import "@azure-tools/typespec-azure-resource-manager";
using TypeSpec.Rest;
using TypeSpec.Http;
using Azure.Core;
using TypeSpec.OpenAPI;
using Azure.ResourceManager;
using Azure.ResourceManager.Foundations;
@ -384,6 +386,7 @@ model PatchObject {
/**
* Properties supported by patch operation.
*/
@extension("x-ms-client-flatten", true)
properties?: PatchProperties;
/**

Просмотреть файл

@ -14,8 +14,10 @@ namespace Azure.ResourceManager.Analysis;
/**
* Represents an instance of an Analysis Services resource.
*/
model AnalysisServicesServer
is TrackedResource<AnalysisServicesServerProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
model AnalysisServicesServer extends Resource {
/**
* The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63.
*/
@ -25,7 +27,14 @@ model AnalysisServicesServer
@path
@key("serverName")
@segment("servers")
@visibility("read")
name: string;
/**
* Properties of the provision operation request.
*/
@extension("x-ms-client-flatten", true)
properties?: AnalysisServicesServerProperties;
}
@armResourceOperations

Просмотреть файл

@ -1,11 +1,13 @@
import "@typespec/rest";
import "@typespec/http";
import "@azure-tools/typespec-azure-core";
import "@typespec/openapi";
import "@azure-tools/typespec-azure-resource-manager";
using TypeSpec.Rest;
using TypeSpec.Http;
using Azure.Core;
using TypeSpec.OpenAPI;
using Azure.ResourceManager;
using Azure.ResourceManager.Foundations;
@ -49,6 +51,15 @@ enum ProvisioningState {
Scaling,
}
/**
* The name of the Azure pricing tier to which the SKU applies.
*/
enum SkuTier {
Development,
Basic,
Standard,
}
/**
* The managed mode of the server (0 = not managed, 1 = managed).
*/
@ -103,6 +114,28 @@ model AnalysisServicesServerProperties
sku?: ResourceSku;
}
/**
* Represents the SKU name and Azure pricing tier for Analysis Services resource.
*/
model ResourceSku {
/**
* Name of the SKU level.
*/
name: string;
/**
* The name of the Azure pricing tier to which the SKU applies.
*/
tier?: SkuTier;
/**
* The number of instances in the read only query pool.
*/
@maxValue(8)
@minValue(1)
capacity?: int32 = 1;
}
/**
* An object that represents a set of mutable Analysis Services resource properties.
*/
@ -268,6 +301,7 @@ model AnalysisServicesServerUpdateParameters {
/**
* Properties of the provision operation request.
*/
@extension("x-ms-client-flatten", true)
properties?: AnalysisServicesServerMutableProperties;
}

Просмотреть файл

@ -15,16 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Tenant Settings.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model AccessInformationContract
is ProxyResource<AccessInformationContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
AccessInformationContractProperties
)
model AccessInformationContract extends ProxyResourceBase {
/**
* The identifier of the Access configuration.
*/
@path
@key("accessName")
@segment("tenant")
@visibility("read")
name: AccessIdName;
/**
* AccessInformation entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: AccessInformationContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* API details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model ApiContract is ProxyResource<ApiContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(ApiContractProperties)
model ApiContract extends ProxyResourceBase {
/**
* API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
*/
@ -26,7 +30,14 @@ model ApiContract is ProxyResource<ApiContractProperties> {
@path
@key("apiId")
@segment("apis")
@visibility("read")
name: string;
/**
* API entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: ApiContractProperties;
}
@armResourceOperations
@ -63,8 +74,7 @@ interface ApiContracts {
*/
@header
`If-Match`?: string;
},
ArmLroLocationHeader
}
>;
/**

Просмотреть файл

@ -14,8 +14,13 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* A single API Management service resource in List or Get response.
*/
model ApiManagementServiceResource
is TrackedResource<ApiManagementServiceProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
ApiManagementServiceProperties
)
model ApiManagementServiceResource extends TrackedResourceBase {
/**
* The name of the API Management service.
*/
@ -25,6 +30,7 @@ model ApiManagementServiceResource
@path
@key("serviceName")
@segment("service")
@visibility("read")
name: string;
/**
@ -38,6 +44,12 @@ model ApiManagementServiceResource
*/
zones?: string[];
/**
* Properties of the API Management service.
*/
@extension("x-ms-client-flatten", true)
properties: ApiManagementServiceProperties;
...Azure.ResourceManager.ManagedServiceIdentity;
...Azure.ResourceManager.ResourceSku;
}
@ -98,9 +110,7 @@ interface ApiManagementServiceResources {
performConnectivityCheckAsync is ArmResourceActionAsync<
ApiManagementServiceResource,
ConnectivityCheckRequest,
ConnectivityCheckResponse,
BaseParameters<ApiManagementServiceResource>,
ArmLroLocationHeader
ConnectivityCheckResponse
>;
/**
@ -111,9 +121,7 @@ interface ApiManagementServiceResources {
restore is ArmResourceActionAsync<
ApiManagementServiceResource,
ApiManagementServiceBackupRestoreParameters,
ApiManagementServiceResource,
BaseParameters<ApiManagementServiceResource>,
ArmLroLocationHeader
ApiManagementServiceResource
>;
/**
@ -124,9 +132,7 @@ interface ApiManagementServiceResources {
backup is ArmResourceActionAsync<
ApiManagementServiceResource,
ApiManagementServiceBackupRestoreParameters,
ApiManagementServiceResource,
BaseParameters<ApiManagementServiceResource>,
ArmLroLocationHeader
ApiManagementServiceResource
>;
/**
@ -148,9 +154,7 @@ interface ApiManagementServiceResources {
applyNetworkConfigurationUpdates is ArmResourceActionAsync<
ApiManagementServiceResource,
ApiManagementServiceApplyNetworkConfigurationParameters,
ApiManagementServiceResource,
BaseParameters<ApiManagementServiceResource>,
ArmLroLocationHeader
ApiManagementServiceResource
>;
/**
@ -170,8 +174,7 @@ interface ApiManagementServiceResources {
*/
@path
configurationName: ConfigurationIdName;
},
ArmLroLocationHeader
}
>;
/**
@ -191,8 +194,7 @@ interface ApiManagementServiceResources {
*/
@path
configurationName: ConfigurationIdName;
},
ArmLroLocationHeader
}
>;
/**
@ -212,8 +214,7 @@ interface ApiManagementServiceResources {
*/
@path
configurationName: ConfigurationIdName;
},
ArmLroLocationHeader
}
>;
/**

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* ApiRelease details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiContract)
model ApiReleaseContract is ProxyResource<ApiReleaseContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(ApiReleaseContractProperties)
model ApiReleaseContract extends ProxyResourceBase {
/**
* Release identifier within an API. Must be unique in the current API Management service instance.
*/
@ -26,7 +30,14 @@ model ApiReleaseContract is ProxyResource<ApiReleaseContractProperties> {
@path
@key("releaseId")
@segment("releases")
@visibility("read")
name: string;
/**
* ApiRelease entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: ApiReleaseContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* API Version Set Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model ApiVersionSetContract is ProxyResource<ApiVersionSetContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
ApiVersionSetContractProperties
)
model ApiVersionSetContract extends ProxyResourceBase {
/**
* Api Version Set identifier. Must be unique in the current API Management service instance.
*/
@ -26,7 +32,14 @@ model ApiVersionSetContract is ProxyResource<ApiVersionSetContractProperties> {
@path
@key("versionSetId")
@segment("apiVersionSets")
@visibility("read")
name: string;
/**
* API VersionSet contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: ApiVersionSetContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,9 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* External OAuth authorization server settings.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model AuthorizationServerContract
is ProxyResource<AuthorizationServerContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
AuthorizationServerContractProperties
)
model AuthorizationServerContract extends ProxyResourceBase {
/**
* Identifier of the authorization server.
*/
@ -27,7 +32,14 @@ model AuthorizationServerContract
@path
@key("authsid")
@segment("authorizationServers")
@visibility("read")
name: string;
/**
* Properties of the External OAuth authorization server Contract.
*/
@extension("x-ms-client-flatten", true)
properties?: AuthorizationServerContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Backend details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model BackendContract is ProxyResource<BackendContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(BackendContractProperties)
model BackendContract extends ProxyResourceBase {
/**
* Identifier of the Backend entity. Must be unique in the current API Management service instance.
*/
@ -25,7 +29,14 @@ model BackendContract is ProxyResource<BackendContractProperties> {
@path
@key("backendId")
@segment("backends")
@visibility("read")
name: string;
/**
* Backend entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: BackendContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Cache details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model CacheContract is ProxyResource<CacheContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(CacheContractProperties)
model CacheContract extends ProxyResourceBase {
/**
* Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier).
*/
@ -26,7 +30,14 @@ model CacheContract is ProxyResource<CacheContractProperties> {
@path
@key("cacheId")
@segment("caches")
@visibility("read")
name: string;
/**
* Cache properties details.
*/
@extension("x-ms-client-flatten", true)
properties?: CacheContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Certificate details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model CertificateContract is ProxyResource<CertificateContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
CertificateContractProperties
)
model CertificateContract extends ProxyResourceBase {
/**
* Identifier of the certificate entity. Must be unique in the current API Management service instance.
*/
@ -26,7 +32,14 @@ model CertificateContract is ProxyResource<CertificateContractProperties> {
@path
@key("certificateId")
@segment("certificates")
@visibility("read")
name: string;
/**
* Certificate properties details.
*/
@extension("x-ms-client-flatten", true)
properties?: CertificateContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,9 +14,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Deleted API Management Service information.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@locationResource
model DeletedServiceContract
is ProxyResource<DeletedServiceContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
DeletedServiceContractProperties
)
model DeletedServiceContract extends ProxyResourceBase {
/**
* The name of the API Management service.
*/
@ -26,7 +31,14 @@ model DeletedServiceContract
@path
@key("serviceName")
@segment("deletedservices")
@visibility("read")
name: string;
/**
* Deleted API Management Service details.
*/
@extension("x-ms-client-flatten", true)
properties?: DeletedServiceContractProperties;
}
@armResourceOperations
@ -43,11 +55,7 @@ interface DeletedServiceContracts {
*/
#suppress "@azure-tools/typespec-azure-core/no-operation-id" "For backward compatibility"
@operationId("DeletedServices_Purge")
purge is ArmResourceDeleteAsync<
DeletedServiceContract,
BaseParameters<DeletedServiceContract>,
ArmLroLocationHeader
>;
purge is ArmResourceDeleteAsync<DeletedServiceContract>;
/**
* Lists all soft-deleted services available for undelete for the given subscription.

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Diagnostic details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiContract)
model DiagnosticContract is ProxyResource<DiagnosticContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(DiagnosticContractProperties)
model DiagnosticContract extends ProxyResourceBase {
/**
* Diagnostic identifier. Must be unique in the current API Management service instance.
*/
@ -26,7 +30,14 @@ model DiagnosticContract is ProxyResource<DiagnosticContractProperties> {
@path
@key("diagnosticId")
@segment("diagnostics")
@visibility("read")
name: string;
/**
* Diagnostic entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: DiagnosticContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,15 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Email Template details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model EmailTemplateContract is ProxyResource<EmailTemplateContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
EmailTemplateContractProperties
)
model EmailTemplateContract extends ProxyResourceBase {
/**
* Email Template Name Identifier.
*/
@path
@key("templateName")
@segment("templates")
@visibility("read")
name: TemplateName;
/**
* Email Template entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: EmailTemplateContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,9 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Gateway certificate authority details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(GatewayContract)
model GatewayCertificateAuthorityContract
is ProxyResource<GatewayCertificateAuthorityContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
GatewayCertificateAuthorityContractProperties
)
model GatewayCertificateAuthorityContract extends ProxyResourceBase {
/**
* Identifier of the certificate entity. Must be unique in the current API Management service instance.
*/
@ -27,7 +32,14 @@ model GatewayCertificateAuthorityContract
@path
@key("certificateId")
@segment("certificateAuthorities")
@visibility("read")
name: string;
/**
* Gateway certificate authority details.
*/
@extension("x-ms-client-flatten", true)
properties?: GatewayCertificateAuthorityContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Gateway details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model GatewayContract is ProxyResource<GatewayContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(GatewayContractProperties)
model GatewayContract extends ProxyResourceBase {
/**
* Gateway entity identifier. Must be unique in the current API Management service instance. Must not have value 'managed'
*/
@ -25,7 +29,14 @@ model GatewayContract is ProxyResource<GatewayContractProperties> {
@path
@key("gatewayId")
@segment("gateways")
@visibility("read")
name: string;
/**
* Gateway details.
*/
@extension("x-ms-client-flatten", true)
properties?: GatewayContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,9 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Gateway hostname configuration details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(GatewayContract)
model GatewayHostnameConfigurationContract
is ProxyResource<GatewayHostnameConfigurationContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
GatewayHostnameConfigurationContractProperties
)
model GatewayHostnameConfigurationContract extends ProxyResourceBase {
/**
* Gateway hostname configuration identifier. Must be unique in the scope of parent Gateway entity.
*/
@ -26,7 +31,14 @@ model GatewayHostnameConfigurationContract
@path
@key("hcId")
@segment("hostnameConfigurations")
@visibility("read")
name: string;
/**
* Gateway hostname configuration details.
*/
@extension("x-ms-client-flatten", true)
properties?: GatewayHostnameConfigurationContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Global Schema Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model GlobalSchemaContract is ProxyResource<GlobalSchemaContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
GlobalSchemaContractProperties
)
model GlobalSchemaContract extends ProxyResourceBase {
/**
* Schema id identifier. Must be unique in the current API Management service instance.
*/
@ -25,7 +31,14 @@ model GlobalSchemaContract is ProxyResource<GlobalSchemaContractProperties> {
@path
@key("schemaId")
@segment("schemas")
@visibility("read")
name: string;
/**
* Properties of the Global Schema.
*/
@extension("x-ms-client-flatten", true)
properties?: GlobalSchemaContractProperties;
}
@armResourceOperations
@ -65,8 +78,7 @@ interface GlobalSchemaContracts {
*/
@header
`If-Match`?: string;
},
ArmLroLocationHeader
}
>;
/**

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model GroupContract is ProxyResource<GroupContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(GroupContractProperties)
model GroupContract extends ProxyResourceBase {
/**
* Group identifier. Must be unique in the current API Management service instance.
*/
@ -25,7 +29,14 @@ model GroupContract is ProxyResource<GroupContractProperties> {
@path
@key("groupId")
@segment("groups")
@visibility("read")
name: string;
/**
* Group entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: GroupContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,16 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Identity Provider details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model IdentityProviderContract
is ProxyResource<IdentityProviderContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
IdentityProviderContractProperties
)
model IdentityProviderContract extends ProxyResourceBase {
/**
* Identity Provider Type identifier.
*/
@path
@key("identityProviderName")
@segment("identityProviders")
@visibility("read")
name: IdentityProviderType;
/**
* Identity Provider contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: IdentityProviderContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,9 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Issue Attachment Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(IssueContract)
model IssueAttachmentContract
is ProxyResource<IssueAttachmentContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
IssueAttachmentContractProperties
)
model IssueAttachmentContract extends ProxyResourceBase {
/**
* Attachment identifier within an Issue. Must be unique in the current Issue.
*/
@ -27,7 +32,14 @@ model IssueAttachmentContract
@path
@key("attachmentId")
@segment("attachments")
@visibility("read")
name: string;
/**
* Properties of the Issue Attachment.
*/
@extension("x-ms-client-flatten", true)
properties?: IssueAttachmentContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Issue Comment Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(IssueContract)
model IssueCommentContract is ProxyResource<IssueCommentContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
IssueCommentContractProperties
)
model IssueCommentContract extends ProxyResourceBase {
/**
* Comment identifier within an Issue. Must be unique in the current Issue.
*/
@ -26,7 +32,14 @@ model IssueCommentContract is ProxyResource<IssueCommentContractProperties> {
@path
@key("commentId")
@segment("comments")
@visibility("read")
name: string;
/**
* Properties of the Issue Comment.
*/
@extension("x-ms-client-flatten", true)
properties?: IssueCommentContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Issue Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiContract)
model IssueContract is ProxyResource<IssueContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(IssueContractProperties)
model IssueContract extends ProxyResourceBase {
/**
* Issue identifier. Must be unique in the current API Management service instance.
*/
@ -26,7 +30,14 @@ model IssueContract is ProxyResource<IssueContractProperties> {
@path
@key("issueId")
@segment("issues")
@visibility("read")
name: string;
/**
* Properties of the Issue.
*/
@extension("x-ms-client-flatten", true)
properties?: IssueContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Logger details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model LoggerContract is ProxyResource<LoggerContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(LoggerContractProperties)
model LoggerContract extends ProxyResourceBase {
/**
* Logger identifier. Must be unique in the API Management service instance.
*/
@ -25,7 +29,14 @@ model LoggerContract is ProxyResource<LoggerContractProperties> {
@path
@key("loggerId")
@segment("loggers")
@visibility("read")
name: string;
/**
* Logger entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: LoggerContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* NamedValue details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model NamedValueContract is ProxyResource<NamedValueContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(NamedValueContractProperties)
model NamedValueContract extends ProxyResourceBase {
/**
* Identifier of the NamedValue.
*/
@ -25,7 +29,14 @@ model NamedValueContract is ProxyResource<NamedValueContractProperties> {
@path
@key("namedValueId")
@segment("namedValues")
@visibility("read")
name: string;
/**
* NamedValue entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: NamedValueContractProperties;
}
@armResourceOperations
@ -65,8 +76,7 @@ interface NamedValueContracts {
*/
@header
`If-Match`?: string;
},
ArmLroLocationHeader
}
>;
/**
@ -86,8 +96,7 @@ interface NamedValueContracts {
*/
@header
`If-Match`: string;
},
ArmLroLocationHeader
}
>;
/**
@ -164,9 +173,7 @@ interface NamedValueContracts {
refreshSecret is ArmResourceActionAsync<
NamedValueContract,
void,
NamedValueContract,
BaseParameters<NamedValueContract>,
ArmLroLocationHeader
NamedValueContract
>;
}

Просмотреть файл

@ -15,15 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Notification details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model NotificationContract is ProxyResource<NotificationContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
NotificationContractProperties
)
model NotificationContract extends ProxyResourceBase {
/**
* Notification Name Identifier.
*/
@path
@key("notificationName")
@segment("notifications")
@visibility("read")
name: NotificationName;
/**
* Notification entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: NotificationContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,9 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* OpenId Connect Provider details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model OpenidConnectProviderContract
is ProxyResource<OpenidConnectProviderContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
OpenidConnectProviderContractProperties
)
model OpenidConnectProviderContract extends ProxyResourceBase {
/**
* Identifier of the OpenID Connect Provider.
*/
@ -26,7 +31,14 @@ model OpenidConnectProviderContract
@path
@key("opid")
@segment("openidConnectProviders")
@visibility("read")
name: string;
/**
* OpenId Connect Provider contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: OpenidConnectProviderContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* API Operation details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiContract)
model OperationContract is ProxyResource<OperationContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(OperationContractProperties)
model OperationContract extends ProxyResourceBase {
/**
* Operation identifier within an API. Must be unique in the current API Management service instance.
*/
@ -25,7 +29,14 @@ model OperationContract is ProxyResource<OperationContractProperties> {
@path
@key("operationId")
@segment("operations")
@visibility("read")
name: string;
/**
* Properties of the Operation Contract.
*/
@extension("x-ms-client-flatten", true)
properties?: OperationContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,15 +15,26 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Policy Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(OperationContract)
model PolicyContract is ProxyResource<PolicyContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(PolicyContractProperties)
model PolicyContract extends ProxyResourceBase {
/**
* The identifier of the Policy.
*/
@path
@key("policyId")
@segment("policies")
@visibility("read")
name: PolicyIdName;
/**
* Properties of the Policy.
*/
@extension("x-ms-client-flatten", true)
properties?: PolicyContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,13 +15,25 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Delegation settings for a developer portal.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@singleton("delegation")
@parentResource(ApiManagementServiceResource)
model PortalDelegationSettings
is ProxyResource<PortalDelegationSettingsProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PortalDelegationSettingsProperties
)
model PortalDelegationSettings extends ProxyResourceBase {
@key("portalsetting")
@segment("portalsettings")
@visibility("read")
name: string;
/**
* Delegation settings contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PortalDelegationSettingsProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,9 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Portal Revision's contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model PortalRevisionContract
is ProxyResource<PortalRevisionContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PortalRevisionContractProperties
)
model PortalRevisionContract extends ProxyResourceBase {
/**
* Portal revision identifier. Must be unique in the current API Management service instance.
*/
@ -26,7 +31,14 @@ model PortalRevisionContract
@path
@key("portalRevisionId")
@segment("portalRevisions")
@visibility("read")
name: string;
/**
* Properties of the portal revisions.
*/
@extension("x-ms-client-flatten", true)
properties?: PortalRevisionContractProperties;
}
@armResourceOperations
@ -56,11 +68,7 @@ interface PortalRevisionContracts {
*/
#suppress "@azure-tools/typespec-azure-core/no-operation-id" "For backward compatibility"
@operationId("PortalRevision_CreateOrUpdate")
createOrUpdate is ArmResourceCreateOrReplaceAsync<
PortalRevisionContract,
BaseParameters<PortalRevisionContract>,
ArmLroLocationHeader
>;
createOrUpdate is ArmResourceCreateOrReplaceAsync<PortalRevisionContract>;
/**
* Updates the description of specified portal revision or makes it current.
@ -79,8 +87,7 @@ interface PortalRevisionContracts {
*/
@header
`If-Match`: string;
},
ArmLroLocationHeader
}
>;
/**
@ -94,14 +101,14 @@ interface PortalRevisionContracts {
...BaseParameters<PortalRevisionContract>;
/**
* | Field | Supported operators | Supported functions |
|-------------|------------------------|-----------------------------------|
|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|
|description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|
|isCurrent | eq, ne | |
*/
* | Field | Supported operators | Supported functions |
* |-------------|------------------------|-----------------------------------|
*
* |name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|
* |description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|
* |isCurrent | eq, ne | |
*
*/
@query("$filter")
$filter?: string;

Просмотреть файл

@ -15,12 +15,25 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Sign-In settings for the Developer Portal.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@singleton("signin")
@parentResource(ApiManagementServiceResource)
model PortalSigninSettings is ProxyResource<PortalSigninSettingProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PortalSigninSettingProperties
)
model PortalSigninSettings extends ProxyResourceBase {
@key("portalsetting")
@segment("portalsettings")
@visibility("read")
name: string;
/**
* Sign-in settings contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PortalSigninSettingProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,12 +15,25 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Sign-Up settings for a developer portal.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@singleton("signup")
@parentResource(ApiManagementServiceResource)
model PortalSignupSettings is ProxyResource<PortalSignupSettingsProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PortalSignupSettingsProperties
)
model PortalSignupSettings extends ProxyResourceBase {
@key("portalsetting")
@segment("portalsettings")
@visibility("read")
name: string;
/**
* Sign-up settings contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PortalSignupSettingsProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,16 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* The Private Endpoint Connection resource.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model PrivateEndpointConnection
is ProxyResource<PrivateEndpointConnectionProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PrivateEndpointConnectionProperties
)
model PrivateEndpointConnection extends ProxyResourceBase {
/**
* Name of the private endpoint connection.
*/
@path
@key("privateEndpointConnectionName")
@segment("privateEndpointConnections")
@visibility("read")
name: string;
/**
* Resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PrivateEndpointConnectionProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,15 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* A private link resource
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model PrivateLinkResource is ProxyResource<PrivateLinkResourceProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
PrivateLinkResourceProperties
)
model PrivateLinkResource extends ProxyResourceBase {
/**
* Name of the private link resource.
*/
@path
@key("privateLinkSubResourceName")
@segment("privateLinkResources")
@visibility("read")
name: string;
/**
* Resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PrivateLinkResourceProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Product details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model ProductContract is ProxyResource<ProductContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(ProductContractProperties)
model ProductContract extends ProxyResourceBase {
/**
* Product identifier. Must be unique in the current API Management service instance.
*/
@ -25,7 +29,14 @@ model ProductContract is ProxyResource<ProductContractProperties> {
@path
@key("productId")
@segment("products")
@visibility("read")
name: string;
/**
* Product entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: ProductContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* API Schema Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiContract)
model SchemaContract is ProxyResource<SchemaContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(SchemaContractProperties)
model SchemaContract extends ProxyResourceBase {
/**
* Schema id identifier. Must be unique in the current API Management service instance.
*/
@ -25,7 +29,14 @@ model SchemaContract is ProxyResource<SchemaContractProperties> {
@path
@key("schemaId")
@segment("schemas")
@visibility("read")
name: string;
/**
* Properties of the API Schema.
*/
@extension("x-ms-client-flatten", true)
properties?: SchemaContractProperties;
}
@armResourceOperations
@ -65,8 +76,7 @@ interface SchemaContracts {
*/
@header
`If-Match`?: string;
},
ArmLroLocationHeader
}
>;
/**

Просмотреть файл

@ -15,15 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Subscription details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model SubscriptionContract is ProxyResource<SubscriptionContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
SubscriptionContractProperties
)
model SubscriptionContract extends ProxyResourceBase {
/**
* Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
*/
@path
@key("subscriptionId")
@segment("subscriptions")
@visibility("read")
name: string;
/**
* Subscription contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: SubscriptionContractProperties;
}
@armResourceOperations
@ -60,8 +73,8 @@ interface SubscriptionContracts {
/**
* Notify change in Subscription State.
* - If false, do not send any email notification for change of state of subscription
* - If true, send email notification of change of state of subscription
* - If false, do not send any email notification for change of state of subscription
* - If true, send email notification of change of state of subscription
*/
@query("notify")
notify?: boolean;
@ -94,8 +107,8 @@ interface SubscriptionContracts {
/**
* Notify change in Subscription State.
* - If false, do not send any email notification for change of state of subscription
* - If true, send email notification of change of state of subscription
* - If false, do not send any email notification for change of state of subscription
* - If true, send email notification of change of state of subscription
*/
@query("notify")
notify?: boolean;

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Tag Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(OperationContract)
model TagContract is ProxyResource<TagContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(TagContractProperties)
model TagContract extends ProxyResourceBase {
/**
* Tag identifier. Must be unique in the current API Management service instance.
*/
@ -26,7 +30,14 @@ model TagContract is ProxyResource<TagContractProperties> {
@path
@key("tagId")
@segment("tags")
@visibility("read")
name: string;
/**
* Tag entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: TagContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,9 +15,14 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Contract details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiContract)
model TagDescriptionContract
is ProxyResource<TagDescriptionContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
TagDescriptionContractProperties
)
model TagDescriptionContract extends ProxyResourceBase {
/**
* Tag description identifier. Used when creating tagDescription for API/Tag association. Based on API and Tag names.
*/
@ -27,7 +32,14 @@ model TagDescriptionContract
@path
@key("tagDescriptionId")
@segment("tagDescriptions")
@visibility("read")
name: string;
/**
* TagDescription entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: TagDescriptionContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,16 +15,28 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* Tenant Settings.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model TenantSettingsContract
is ProxyResource<TenantSettingsContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
TenantSettingsContractProperties
)
model TenantSettingsContract extends ProxyResourceBase {
/**
* The identifier of the settings.
*/
@path
@key("settingsType")
@segment("settings")
@visibility("read")
name: SettingsTypeName;
/**
* TenantSettings entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: TenantSettingsContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,8 +15,12 @@ namespace Azure.ResourceManager.ApiManagement;
/**
* User details.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(ApiManagementServiceResource)
model UserContract is ProxyResource<UserContractProperties> {
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(UserContractProperties)
model UserContract extends ProxyResourceBase {
/**
* User identifier. Must be unique in the current API Management service instance.
*/
@ -25,7 +29,14 @@ model UserContract is ProxyResource<UserContractProperties> {
@path
@key("userId")
@segment("users")
@visibility("read")
name: string;
/**
* User entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: UserContractProperties;
}
@armResourceOperations

Просмотреть файл

@ -1,11 +1,13 @@
import "@typespec/rest";
import "@typespec/http";
import "@azure-tools/typespec-azure-core";
import "@typespec/openapi";
import "@azure-tools/typespec-azure-resource-manager";
using TypeSpec.Rest;
using TypeSpec.Http;
using Azure.Core;
using TypeSpec.OpenAPI;
using Azure.ResourceManager;
using Azure.ResourceManager.Foundations;
@ -106,10 +108,10 @@ enum ContentFormat {
/**
* Type of API to create.
* * `http` creates a REST API
* * `soap` creates a SOAP pass-through API
* * `websocket` creates websocket API
* * `graphql` creates GraphQL API.
* * `http` creates a REST API
* * `soap` creates a SOAP pass-through API
* * `websocket` creates websocket API
* * `graphql` creates GraphQL API.
*/
enum SoapApiType {
/**
@ -1318,6 +1320,7 @@ model ApiCreateOrUpdateParameter {
/**
* API entity create of update properties.
*/
@extension("x-ms-client-flatten", true)
properties?: ApiCreateOrUpdateProperties;
}
@ -1342,10 +1345,10 @@ model ApiCreateOrUpdateProperties extends ApiContractProperties {
/**
* Type of API to create.
* * `http` creates a REST API
* * `soap` creates a SOAP pass-through API
* * `websocket` creates websocket API
* * `graphql` creates GraphQL API.
* * `http` creates a REST API
* * `soap` creates a SOAP pass-through API
* * `websocket` creates websocket API
* * `graphql` creates GraphQL API.
*/
@projectedName("json", "apiType")
soapApiType?: SoapApiType;
@ -1373,6 +1376,7 @@ model ApiUpdateContract {
/**
* Properties of the API entity that can be updated.
*/
@extension("x-ms-client-flatten", true)
properties?: ApiContractUpdateProperties;
}
@ -1720,6 +1724,7 @@ model OperationUpdateContract {
/**
* Properties of the API Operation entity that can be updated.
*/
@extension("x-ms-client-flatten", true)
properties?: OperationUpdateContractProperties;
}
@ -1836,6 +1841,7 @@ model SchemaContractProperties {
/**
* Create or update Properties of the API Schema Document.
*/
@extension("x-ms-client-flatten", true)
document?: SchemaDocumentProperties;
}
@ -2048,6 +2054,7 @@ model IssueUpdateContract {
/**
* Issue entity Update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: IssueUpdateContractProperties;
}
@ -2157,6 +2164,7 @@ model TagDescriptionCreateParameters {
/**
* Properties supplied to Create TagDescription operation.
*/
@extension("x-ms-client-flatten", true)
properties?: TagDescriptionBaseProperties;
}
@ -2397,6 +2405,7 @@ model ApiVersionSetUpdateParameters {
/**
* Parameters to update or create an API Version Set Contract.
*/
@extension("x-ms-client-flatten", true)
properties?: ApiVersionSetUpdateParametersProperties;
}
@ -2534,6 +2543,7 @@ model AuthorizationServerUpdateContract extends Resource {
/**
* Properties of the External OAuth authorization server update Contract.
*/
@extension("x-ms-client-flatten", true)
properties?: AuthorizationServerUpdateContractProperties;
}
@ -2811,6 +2821,7 @@ model BackendUpdateParameters {
/**
* Backend entity update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: BackendUpdateParameterProperties;
}
@ -2838,6 +2849,7 @@ model BackendReconnectContract extends Resource {
/**
* Reconnect request properties.
*/
@extension("x-ms-client-flatten", true)
properties?: BackendReconnectProperties;
}
@ -2888,6 +2900,7 @@ model CacheUpdateParameters {
/**
* Cache update properties details.
*/
@extension("x-ms-client-flatten", true)
properties?: CacheUpdateProperties;
}
@ -2936,9 +2949,9 @@ model CertificateContractProperties {
thumbprint: string;
/**
* Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
expirationDate: utcDateTime;
@ -2973,9 +2986,9 @@ model KeyVaultLastAccessStatusContractProperties {
message?: string;
/**
* Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
timeStampUtc?: utcDateTime;
}
@ -3002,6 +3015,7 @@ model CertificateCreateOrUpdateParameters {
/**
* Certificate create or update properties details.
*/
@extension("x-ms-client-flatten", true)
properties?: CertificateCreateOrUpdateProperties;
}
@ -3260,6 +3274,7 @@ model ContentTypeContract extends Resource {
/**
* Properties of the content type.
*/
@extension("x-ms-client-flatten", true)
properties?: ContentTypeContractProperties;
}
@ -3302,6 +3317,7 @@ model ContentItemContract extends Resource {
/**
* Properties of the content item.
*/
@extension("x-ms-client-flatten", true)
properties?: Record<unknown>;
}
@ -3818,6 +3834,7 @@ model RemotePrivateEndpointConnectionWrapper {
/**
* Resource properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PrivateEndpointConnectionWrapperProperties;
}
@ -3898,11 +3915,11 @@ model ApiManagementServiceIdentity {
tenantId?: string;
/**
* The list of user identities associated with the resource. The user identity
dictionary key references will be ARM resource ids in the form:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
*/
* The list of user identities associated with the resource. The user identity
* dictionary key references will be ARM resource ids in the form:
* '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
* providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
*/
userAssignedIdentities?: Record<UserIdentityProperties>;
}
@ -3953,6 +3970,7 @@ model ApiManagementServiceUpdateParameters extends ApimResource {
/**
* Properties of the API Management service.
*/
@extension("x-ms-client-flatten", true)
properties?: ApiManagementServiceUpdateProperties;
/**
@ -4132,6 +4150,7 @@ model EmailTemplateUpdateParameters {
/**
* Email Template Update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: EmailTemplateUpdateParameterProperties;
}
@ -4248,9 +4267,9 @@ model GatewayTokenRequestContract {
keyType: KeyType;
/**
* The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
expiry: utcDateTime;
}
@ -4319,6 +4338,7 @@ model AssociationContract extends Resource {
/**
* Association entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: AssociationContractProperties;
}
@ -4383,6 +4403,7 @@ model GroupCreateParameters {
/**
* Properties supplied to Create Group operation.
*/
@extension("x-ms-client-flatten", true)
properties?: GroupCreateParametersProperties;
}
@ -4420,6 +4441,7 @@ model GroupUpdateParameters {
/**
* Group entity update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: GroupUpdateParametersProperties;
}
@ -4483,9 +4505,9 @@ model UserContractProperties extends UserEntityBaseParameters {
email?: string;
/**
* Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
registrationDate?: utcDateTime;
@ -4609,6 +4631,7 @@ model IdentityProviderCreateContract extends Resource {
/**
* Identity Provider contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: IdentityProviderCreateContractProperties;
}
@ -4637,6 +4660,7 @@ model IdentityProviderUpdateParameters {
/**
* Identity Provider update properties.
*/
@extension("x-ms-client-flatten", true)
properties?: IdentityProviderUpdateProperties;
}
@ -4683,9 +4707,9 @@ model LoggerContractProperties {
description?: string;
/**
* The name and SendRule connection string of the event hub for azureEventHub logger.
Instrumentation key for applicationInsights logger.
*/
* The name and SendRule connection string of the event hub for azureEventHub logger.
* Instrumentation key for applicationInsights logger.
*/
credentials?: Record<string>;
/**
@ -4706,6 +4730,7 @@ model LoggerUpdateContract {
/**
* Logger entity update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: LoggerUpdateParameters;
}
@ -4781,6 +4806,7 @@ model NamedValueCreateContract extends Resource {
/**
* NamedValue entity contract properties for PUT operation.
*/
@extension("x-ms-client-flatten", true)
properties?: NamedValueCreateContractProperties;
}
@ -4816,6 +4842,7 @@ model NamedValueUpdateParameters {
/**
* NamedValue entity Update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: NamedValueUpdateParameterProperties;
}
@ -4909,16 +4936,16 @@ model ConnectivityStatusContract {
error?: string;
/**
* The date when the resource connectivity status was last updated. This status should be updated every 15 minutes. If this status has not been updated, then it means that the service has lost network connectivity to the resource, from inside the Virtual Network.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The date when the resource connectivity status was last updated. This status should be updated every 15 minutes. If this status has not been updated, then it means that the service has lost network connectivity to the resource, from inside the Virtual Network.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
lastUpdated: utcDateTime;
/**
* The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
lastStatusChange: utcDateTime;
@ -4997,6 +5024,7 @@ model RecipientUserContract extends Resource {
/**
* Recipient User entity contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RecipientUsersContractProperties;
}
@ -5037,6 +5065,7 @@ model RecipientEmailContract extends Resource {
/**
* Recipient Email contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RecipientEmailContractProperties;
}
@ -5088,6 +5117,7 @@ model OpenidConnectProviderUpdateContract {
/**
* OpenId Connect Provider Update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: OpenidConnectProviderUpdateContractProperties;
}
@ -5207,6 +5237,7 @@ model PolicyDescriptionContract extends Resource {
/**
* Policy description contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PolicyDescriptionContractProperties;
}
@ -5274,6 +5305,7 @@ model PortalSettingsContract extends Resource {
/**
* Portal Settings contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: PortalSettingsContractProperties;
}
@ -5500,6 +5532,7 @@ model ProductUpdateParameters {
/**
* Product entity Update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: ProductUpdateProperties;
}
@ -5565,38 +5598,38 @@ model SubscriptionContractProperties {
state: SubscriptionState;
/**
* Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
@visibility("read")
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
createdDate?: utcDateTime;
/**
* Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
startDate?: utcDateTime;
/**
* Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
expirationDate?: utcDateTime;
/**
* Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
endDate?: utcDateTime;
/**
* Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
notificationDate?: utcDateTime;
@ -5665,16 +5698,16 @@ model QuotaCounterContract {
periodKey: string;
/**
* The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
periodStartTime: utcDateTime;
/**
* The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
periodEndTime: utcDateTime;
@ -5706,6 +5739,7 @@ model QuotaCounterValueUpdateContract {
/**
* Quota counter value details.
*/
@extension("x-ms-client-flatten", true)
properties?: QuotaCounterValueContractProperties;
}
@ -5760,9 +5794,9 @@ model ReportRecordContract {
name?: string;
/**
* Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
timestamp?: utcDateTime;
@ -6026,6 +6060,7 @@ model GlobalSchemaContractProperties {
/**
* Global Schema document object for json-based schema formats(e.g. json schema).
*/
@extension("x-ms-client-flatten", true)
document?: Record<unknown>;
}
@ -6283,6 +6318,7 @@ model SubscriptionCreateParameters {
/**
* Subscription contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: SubscriptionCreateParameterProperties;
}
@ -6339,6 +6375,7 @@ model SubscriptionUpdateParameters {
/**
* Subscription Update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: SubscriptionUpdateParameterProperties;
}
@ -6423,6 +6460,7 @@ model TagCreateUpdateParameters {
/**
* Properties supplied to Create Tag operation.
*/
@extension("x-ms-client-flatten", true)
properties?: TagContractProperties;
}
@ -6453,6 +6491,7 @@ model AccessInformationCreateParameters {
/**
* Tenant access information update parameter properties.
*/
@extension("x-ms-client-flatten", true)
properties?: AccessInformationCreateParameterProperties;
}
@ -6488,6 +6527,7 @@ model AccessInformationUpdateParameters {
/**
* Tenant access information update parameter properties.
*/
@extension("x-ms-client-flatten", true)
properties?: AccessInformationUpdateParameterProperties;
}
@ -6538,6 +6578,7 @@ model DeployConfigurationParameters {
/**
* Deploy Configuration Parameter contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: DeployConfigurationParameterProperties;
}
@ -6563,6 +6604,7 @@ model OperationResultContract extends Resource {
/**
* Properties of the Operation Contract.
*/
@extension("x-ms-client-flatten", true)
properties?: OperationResultContractProperties;
}
@ -6581,16 +6623,16 @@ model OperationResultContractProperties {
status?: AsyncOperationStatus;
/**
* Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
started?: utcDateTime;
/**
* Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
updated?: utcDateTime;
@ -6638,6 +6680,7 @@ model SaveConfigurationParameter {
/**
* Properties of the Save Configuration Parameters.
*/
@extension("x-ms-client-flatten", true)
properties?: SaveConfigurationParameterProperties;
}
@ -6663,6 +6706,7 @@ model TenantConfigurationSyncStateContract extends Resource {
/**
* Properties returned Tenant Configuration Sync State check.
*/
@extension("x-ms-client-flatten", true)
properties?: TenantConfigurationSyncStateContractProperties;
}
@ -6696,16 +6740,16 @@ model TenantConfigurationSyncStateContractProperties {
isGitEnabled?: boolean;
/**
* The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
syncDate?: utcDateTime;
/**
* The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
configurationChangeDate?: utcDateTime;
@ -6722,6 +6766,7 @@ model UserCreateParameters {
/**
* User entity create contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: UserCreateParameterProperties;
}
@ -6773,6 +6818,7 @@ model UserUpdateParameters {
/**
* User entity update contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: UserUpdateParametersProperties;
}
@ -6834,6 +6880,7 @@ model UserTokenParameters {
/**
* User Token Parameter contract properties.
*/
@extension("x-ms-client-flatten", true)
properties?: UserTokenParameterProperties;
}
@ -6847,9 +6894,9 @@ model UserTokenParameterProperties {
keyType: KeyType;
/**
* The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
* The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*
*/
// FIXME: (utcDateTime) Please double check that this is the correct type for your scenario.
expiry: utcDateTime;
}
@ -6898,5 +6945,6 @@ model QuotaCounterValueContract {
/**
* Quota counter Value Properties.
*/
@extension("x-ms-client-flatten", true)
value?: QuotaCounterValueContractProperties;
}

Просмотреть файл

@ -14,14 +14,25 @@ namespace Azure.ResourceManager.Authorization;
/**
* Deny Assignment
*/
model DenyAssignment is ExtensionResource<DenyAssignmentProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(DenyAssignmentProperties)
model DenyAssignment extends ExtensionResourceBase {
/**
* The ID of the deny assignment to get.
*/
@path
@key("denyAssignmentId")
@segment("denyAssignments")
@visibility("read")
name: string;
/**
* Deny assignment properties.
*/
@extension("x-ms-client-flatten", true)
properties?: DenyAssignmentProperties;
}
@armResourceOperations

Просмотреть файл

@ -23,6 +23,7 @@ model ProviderOperationsMetadata is ProxyResource<{}> {
@path
@key("resourceProviderNamespace")
@segment("providerOperations")
@visibility("read")
name: string;
/**

Просмотреть файл

@ -14,14 +14,25 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role Assignments
*/
model RoleAssignment is ExtensionResource<RoleAssignmentProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(RoleAssignmentProperties)
model RoleAssignment extends ExtensionResourceBase {
/**
* The name of the role assignment. It can be any valid GUID.
*/
@path
@key("roleAssignmentName")
@segment("roleAssignments")
@visibility("read")
name: string;
/**
* Role assignment properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleAssignmentProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role Assignment schedule
*/
model RoleAssignmentSchedule
is ExtensionResource<RoleAssignmentScheduleProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleAssignmentScheduleProperties
)
model RoleAssignmentSchedule extends ExtensionResourceBase {
/**
* The name (guid) of the role assignment schedule to get.
*/
@path
@key("roleAssignmentScheduleName")
@segment("roleAssignmentSchedules")
@visibility("read")
name: string;
/**
* Role assignment schedule properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleAssignmentScheduleProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Information about current or upcoming role assignment schedule instance
*/
model RoleAssignmentScheduleInstance
is ExtensionResource<RoleAssignmentScheduleInstanceProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleAssignmentScheduleInstanceProperties
)
model RoleAssignmentScheduleInstance extends ExtensionResourceBase {
/**
* The name (hash of schedule name + time) of the role assignment schedule to get.
*/
@path
@key("roleAssignmentScheduleInstanceName")
@segment("roleAssignmentScheduleInstances")
@visibility("read")
name: string;
/**
* Role assignment schedule instance properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleAssignmentScheduleInstanceProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role Assignment schedule request
*/
model RoleAssignmentScheduleRequest
is ExtensionResource<RoleAssignmentScheduleRequestProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleAssignmentScheduleRequestProperties
)
model RoleAssignmentScheduleRequest extends ExtensionResourceBase {
/**
* The name (guid) of the role assignment schedule request to get.
*/
@path
@key("roleAssignmentScheduleRequestName")
@segment("roleAssignmentScheduleRequests")
@visibility("read")
name: string;
/**
* Role assignment schedule request properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleAssignmentScheduleRequestProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,14 +14,25 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role definition.
*/
model RoleDefinition is ExtensionResource<RoleDefinitionProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(RoleDefinitionProperties)
model RoleDefinition extends ExtensionResourceBase {
/**
* The ID of the role definition.
*/
@path
@key("roleDefinitionId")
@segment("roleDefinitions")
@visibility("read")
name: string;
/**
* Role definition properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleDefinitionProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role eligibility schedule
*/
model RoleEligibilitySchedule
is ExtensionResource<RoleEligibilityScheduleProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleEligibilityScheduleProperties
)
model RoleEligibilitySchedule extends ExtensionResourceBase {
/**
* The name (guid) of the role eligibility schedule to get.
*/
@path
@key("roleEligibilityScheduleName")
@segment("roleEligibilitySchedules")
@visibility("read")
name: string;
/**
* role eligibility schedule properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleEligibilityScheduleProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Information about current or upcoming role eligibility schedule instance
*/
model RoleEligibilityScheduleInstance
is ExtensionResource<RoleEligibilityScheduleInstanceProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleEligibilityScheduleInstanceProperties
)
model RoleEligibilityScheduleInstance extends ExtensionResourceBase {
/**
* The name (hash of schedule name + time) of the role eligibility schedule to get.
*/
@path
@key("roleEligibilityScheduleInstanceName")
@segment("roleEligibilityScheduleInstances")
@visibility("read")
name: string;
/**
* Role eligibility schedule instance properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleEligibilityScheduleInstanceProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role Eligibility schedule request
*/
model RoleEligibilityScheduleRequest
is ExtensionResource<RoleEligibilityScheduleRequestProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleEligibilityScheduleRequestProperties
)
model RoleEligibilityScheduleRequest extends ExtensionResourceBase {
/**
* The name (guid) of the role eligibility schedule request to get.
*/
@path
@key("roleEligibilityScheduleRequestName")
@segment("roleEligibilityScheduleRequests")
@visibility("read")
name: string;
/**
* Role eligibility schedule request properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleEligibilityScheduleRequestProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role management policy
*/
model RoleManagementPolicy
is ExtensionResource<RoleManagementPolicyProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleManagementPolicyProperties
)
model RoleManagementPolicy extends ExtensionResourceBase {
/**
* The name (guid) of the role management policy to get.
*/
@path
@key("roleManagementPolicyName")
@segment("roleManagementPolicies")
@visibility("read")
name: string;
/**
* Role management policy properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleManagementPolicyProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,15 +14,27 @@ namespace Azure.ResourceManager.Authorization;
/**
* Role management policy
*/
model RoleManagementPolicyAssignment
is ExtensionResource<RoleManagementPolicyAssignmentProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
@Azure.ResourceManager.Private.armResourceInternal(
RoleManagementPolicyAssignmentProperties
)
model RoleManagementPolicyAssignment extends ExtensionResourceBase {
/**
* The name of format {guid_guid} the role management policy assignment to get.
*/
@path
@key("roleManagementPolicyAssignmentName")
@segment("roleManagementPolicyAssignments")
@visibility("read")
name: string;
/**
* Role management policy properties.
*/
@extension("x-ms-client-flatten", true)
properties?: RoleManagementPolicyAssignmentProperties;
}
@armResourceOperations

Просмотреть файл

@ -1,10 +1,12 @@
import "@typespec/rest";
import "@typespec/http";
import "@azure-tools/typespec-azure-core";
import "@typespec/openapi";
import "@azure-tools/typespec-azure-resource-manager";
using TypeSpec.Rest;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using Azure.ResourceManager;
using Azure.ResourceManager.Foundations;
@ -207,6 +209,7 @@ model ClassicAdministrator {
/**
* Properties for the classic administrator.
*/
@extension("x-ms-client-flatten", true)
properties?: ClassicAdministratorProperties;
}
@ -378,6 +381,7 @@ model ProviderOperation {
/**
* The operation properties.
*/
@extension("x-ms-client-flatten", true)
properties?: Record<unknown>;
/**
@ -465,6 +469,7 @@ model RoleAssignmentCreateParameters {
/**
* Role assignment properties.
*/
@extension("x-ms-client-flatten", true)
properties: RoleAssignmentProperties;
}
@ -677,16 +682,19 @@ model ExpandedProperties {
/**
* Details of the resource scope
*/
@extension("x-ms-client-flatten", true)
scope?: ExpandedPropertiesScope;
/**
* Details of role definition
*/
@extension("x-ms-client-flatten", true)
roleDefinition?: ExpandedPropertiesRoleDefinition;
/**
* Details of the principal
*/
@extension("x-ms-client-flatten", true)
principal?: ExpandedPropertiesPrincipal;
}
@ -913,6 +921,7 @@ model RoleAssignmentScheduleRequestProperties {
/**
* Schedule info of the role assignment schedule
*/
@extension("x-ms-client-flatten", true)
scheduleInfo?: RoleAssignmentScheduleRequestPropertiesScheduleInfo;
/**
@ -973,6 +982,7 @@ model RoleAssignmentScheduleRequestPropertiesScheduleInfo {
/**
* Expiration of the role assignment schedule
*/
@extension("x-ms-client-flatten", true)
expiration?: RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration;
}
@ -1211,6 +1221,7 @@ model RoleEligibilityScheduleRequestProperties {
/**
* Schedule info of the role eligibility schedule
*/
@extension("x-ms-client-flatten", true)
scheduleInfo?: RoleEligibilityScheduleRequestPropertiesScheduleInfo;
/**
@ -1276,6 +1287,7 @@ model RoleEligibilityScheduleRequestPropertiesScheduleInfo {
/**
* Expiration of the role eligibility schedule
*/
@extension("x-ms-client-flatten", true)
expiration?: RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration;
}
@ -1430,6 +1442,7 @@ model PolicyProperties {
* Details of the resource scope
*/
@visibility("read")
@extension("x-ms-client-flatten", true)
scope?: PolicyPropertiesScope;
}
@ -1495,16 +1508,19 @@ model PolicyAssignmentProperties {
/**
* Details of the resource scope
*/
@extension("x-ms-client-flatten", true)
scope?: PolicyAssignmentPropertiesScope;
/**
* Details of role definition
*/
@extension("x-ms-client-flatten", true)
roleDefinition?: PolicyAssignmentPropertiesRoleDefinition;
/**
* Details of the policy
*/
@extension("x-ms-client-flatten", true)
policy?: PolicyAssignmentPropertiesPolicy;
}

Просмотреть файл

@ -24,6 +24,7 @@ model Application is TrackedResource<ApplicationProperties> {
@path
@key("applicationName")
@segment("applications")
@visibility("read")
name: string;
}

Просмотреть файл

@ -24,6 +24,7 @@ model BusinessProcess is ProxyResource<BusinessProcessProperties> {
@path
@key("businessProcessName")
@segment("businessProcesses")
@visibility("read")
name: string;
}

Просмотреть файл

@ -23,6 +23,7 @@ model BusinessProcessVersion is ProxyResource<BusinessProcessProperties> {
@path
@key("businessProcessVersion")
@segment("versions")
@visibility("read")
name: string;
}

Просмотреть файл

@ -25,6 +25,7 @@ model InfrastructureResource
@path
@key("infrastructureResourceName")
@segment("infrastructureResources")
@visibility("read")
name: string;
}

Просмотреть файл

@ -22,6 +22,7 @@ model Space is TrackedResource<SpaceResourceProperties> {
@path
@key("spaceName")
@segment("spaces")
@visibility("read")
name: string;
}

Просмотреть файл

@ -1,10 +1,12 @@
import "@typespec/rest";
import "@typespec/http";
import "@typespec/openapi";
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
using TypeSpec.Rest;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using Azure.ResourceManager;
using Azure.ResourceManager.Foundations;
@ -94,6 +96,7 @@ model SpaceUpdate {
/**
* The updatable properties of the Space.
*/
@extension("x-ms-client-flatten", true)
properties?: SpaceUpdateProperties;
}
@ -165,6 +168,7 @@ model ApplicationUpdate {
/**
* The updatable properties of the Application.
*/
@extension("x-ms-client-flatten", true)
properties?: ApplicationUpdateProperties;
}
@ -297,6 +301,7 @@ model BusinessProcessUpdate {
/**
* The updatable properties of the BusinessProcess.
*/
@extension("x-ms-client-flatten", true)
properties?: BusinessProcessUpdateProperties;
}
@ -524,6 +529,7 @@ model ApplicationResource extends ProxyResource {
* The resource-specific properties for this resource.
*/
@visibility("read", "create")
@extension("x-ms-client-flatten", true)
properties?: ApplicationResourceProperties;
}
@ -560,6 +566,7 @@ model ApplicationResourceUpdate {
/**
* The updatable properties of the ApplicationResource.
*/
@extension("x-ms-client-flatten", true)
properties?: ApplicationResourceUpdateProperties;
}
@ -626,6 +633,7 @@ model InfrastructureResourceUpdate {
/**
* The updatable properties of the InfrastructureResource.
*/
@extension("x-ms-client-flatten", true)
properties?: InfrastructureResourceUpdateProperties;
}

Просмотреть файл

@ -14,16 +14,29 @@ namespace Microsoft.Compute;
/**
* Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set.
*/
model AvailabilitySet is TrackedResource<AvailabilitySetProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
model AvailabilitySet extends Resource {
/**
* The name of the availability set.
*/
@path
@key("availabilitySetName")
@segment("availabilitySets")
@visibility("read")
name: string;
...Azure.ResourceManager.ResourceSku;
/**
* Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.
*/
sku?: Sku;
/**
* The instance view of a resource.
*/
@extension("x-ms-client-flatten", true)
properties?: AvailabilitySetProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,22 +15,35 @@ namespace Microsoft.Compute;
/**
* Specifies information about the capacity reservation.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(CapacityReservationGroup)
model CapacityReservation is TrackedResource<CapacityReservationProperties> {
@includeInapplicableMetadataInPayload(false)
model CapacityReservation extends Resource {
/**
* The name of the capacity reservation.
*/
@path
@key("capacityReservationName")
@segment("capacityReservations")
@visibility("read")
name: string;
/**
* SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.
*/
sku: Sku;
/**
* Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone.
*/
zones?: string[];
...Azure.ResourceManager.ResourceSku;
/**
* Properties of the Capacity reservation.
*/
@extension("x-ms-client-flatten", true)
properties?: CapacityReservationProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,20 +14,29 @@ namespace Microsoft.Compute;
/**
* Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group.
*/
model CapacityReservationGroup
is TrackedResource<CapacityReservationGroupProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
model CapacityReservationGroup extends Resource {
/**
* The name of the capacity reservation group.
*/
@path
@key("capacityReservationGroupName")
@segment("capacityReservationGroups")
@visibility("read")
name: string;
/**
* Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones.
*/
zones?: string[];
/**
* capacity reservation group Properties.
*/
@extension("x-ms-client-flatten", true)
properties?: CapacityReservationGroupProperties;
}
@armResourceOperations

Просмотреть файл

@ -14,19 +14,57 @@ namespace Microsoft.Compute;
/**
* Describes the cloud service.
*/
model CloudService is TrackedResource<CloudServiceProperties> {
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@includeInapplicableMetadataInPayload(false)
model CloudService {
/**
* Name of the cloud service.
*/
@path
@key("cloudServiceName")
@segment("cloudServices")
@visibility("read")
name: string;
/**
* Resource Id.
*/
@visibility("read")
id?: string;
/**
* Resource type.
*/
@visibility("read")
type?: string;
/**
* Resource location.
*/
location: string;
/**
* Resource tags.
*/
tags?: Record<string>;
/**
* Metadata pertaining to creation and last modification of the resource.
*/
@visibility("read")
systemData?: SystemData;
/**
* List of logical availability zone of the resource. List should contain only 1 zone where cloud service should be provisioned. This field is optional.
*/
zones?: string[];
/**
* Cloud service properties
*/
@extension("x-ms-client-flatten", true)
properties?: CloudServiceProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,17 +15,48 @@ namespace Microsoft.Compute;
/**
* Describes a role of the cloud service.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(CloudService)
model CloudServiceRole is ProxyResource<CloudServiceRoleProperties> {
@includeInapplicableMetadataInPayload(false)
model CloudServiceRole {
/**
* Name of the role.
*/
@path
@key("roleName")
@segment("roles")
@visibility("read")
name: string;
...Azure.ResourceManager.ResourceSku;
/**
* Resource id
*/
@visibility("read")
id?: string;
/**
* Resource type
*/
@visibility("read")
type?: string;
/**
* Resource location
*/
@visibility("read")
location?: string;
/**
* Describes the cloud service role sku.
*/
sku?: CloudServiceRoleSku;
/**
* The cloud service role properties.
*/
@extension("x-ms-client-flatten", true)
properties?: CloudServiceRoleProperties;
}
@armResourceOperations

Просмотреть файл

@ -15,15 +15,23 @@ namespace Microsoft.Compute;
/**
* Specifies information about the Community Gallery that you want to create or update.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@locationResource
model CommunityGallery is ProxyResource<{}> {
@includeInapplicableMetadataInPayload(false)
model CommunityGallery extends PirCommunityGalleryResource {
/**
* The public name of the community gallery.
*/
@path
@key("publicGalleryName")
@segment("communityGalleries")
@visibility("read")
name: string;
@extension("x-ms-client-flatten", true)
@visibility("read,create")
properties?: {};
}
@armResourceOperations

Просмотреть файл

@ -15,15 +15,25 @@ namespace Microsoft.Compute;
/**
* Specifies information about the gallery image definition that you want to create or update.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility"
@parentResource(CommunityGallery)
model CommunityGalleryImage is ProxyResource<CommunityGalleryImageProperties> {
@includeInapplicableMetadataInPayload(false)
model CommunityGalleryImage extends PirCommunityGalleryResource {
/**
* The name of the community gallery image definition.
*/
@path
@key("galleryImageName")
@segment("images")
@visibility("read")
name: string;
/**
* Describes the properties of a gallery image definition.
*/
@extension("x-ms-client-flatten", true)
properties?: CommunityGalleryImageProperties;
}
@armResourceOperations

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше