Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
88dde7c
init converted tsp & examples files
kashifkhan Nov 10, 2025
b1642c7
init openapi json
kashifkhan Nov 10, 2025
05359ad
fix cspell
kashifkhan Nov 10, 2025
d3f0ef4
prettier fix
kashifkhan Nov 10, 2025
7e3b65f
tsp validation fixes
kashifkhan Nov 10, 2025
f7ddd5b
formatting fix
kashifkhan Nov 10, 2025
5131dfa
add output dirs
kashifkhan Nov 10, 2025
386cdbc
add containing module for go
kashifkhan Nov 10, 2025
b5fe53c
force generation of models
kashifkhan Nov 10, 2025
adb3db7
fix response codes
kashifkhan Nov 11, 2025
d049892
match original swagger
kashifkhan Nov 11, 2025
43d7458
update tsp to skip quotes
kashifkhan Nov 14, 2025
67f2843
right response code for delete repo
kashifkhan Nov 19, 2025
63c8f93
update to fix routes and regen
kashifkhan Dec 3, 2025
0a12dea
regen after streaming support on get chunk
kashifkhan Jan 7, 2026
1138d13
add api-version
kashifkhan Jan 8, 2026
978762a
link to examples
kashifkhan Jan 8, 2026
990da1c
regenerated files
kashifkhan Jan 8, 2026
51530cb
add api version
kashifkhan Jan 8, 2026
3b257e3
regen files
kashifkhan Jan 8, 2026
884748c
update to use proper object
kashifkhan Jan 8, 2026
bb40618
update generated example
kashifkhan Jan 8, 2026
55e95a7
fix to use right name in example
kashifkhan Jan 8, 2026
1019097
regen
kashifkhan Jan 8, 2026
7de88b2
fix delete example to use empty body
kashifkhan Jan 8, 2026
790c4a4
regen file
kashifkhan Jan 8, 2026
b3058e7
fix create manifest example
kashifkhan Jan 8, 2026
7e20cae
regen files
kashifkhan Jan 8, 2026
32345c3
fix example
kashifkhan Jan 8, 2026
98d6afc
regen
kashifkhan Jan 8, 2026
0fa2323
update example to use proper error code
kashifkhan Jan 8, 2026
35d54d6
regen
kashifkhan Jan 8, 2026
c8adb87
add suppressions for LRO and AnonTypes for lintdiff
kashifkhan Jan 8, 2026
4931a32
fix error code, add scopes url and regen swagger
kashifkhan Jan 23, 2026
c1f9d70
fix example file
kashifkhan Jan 23, 2026
aa3e3c8
fix to use proper error
kashifkhan Jan 23, 2026
38383f2
fix some breaking changes
kashifkhan Jan 24, 2026
77e7cc3
remove deprecated option
kashifkhan Jan 24, 2026
546d283
regen swagger
kashifkhan Jan 24, 2026
85a582f
fix content type
kashifkhan Jan 24, 2026
2afe9ae
update namespace
kashifkhan Jan 26, 2026
9aeb0c7
remove encoded names, stick to swagger names and do client renames
kashifkhan Jan 26, 2026
91abcce
PR comments
kashifkhan Jan 29, 2026
5d49ac6
remove comment
kashifkhan Jan 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions specification/containerregistry/cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ words:
- wgxm
- wwkz
- ywhk
- azcontainerregistry
overrides:
- filename: >-
**/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json
Expand Down
126 changes: 126 additions & 0 deletions specification/containerregistry/data-plane/Registry/client.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import "./main.tsp";

import "@azure-tools/typespec-client-generator-core";

using Azure.ClientGenerator.Core;

@@usage(ContainerRegistry.TokenGrantType, Usage.output);
@@usage(ContainerRegistry.AcrErrors, Usage.output);

@@clientName(ContainerRegistry, "ContainerRegistry");
// Rename ChangeableAttributes models to WriteableProperties for Python SDK backward compatibility
@@clientName(ContainerRegistry.ManifestChangeableAttributes,
"ManifestWriteableProperties",
"python"
);
@@clientName(ContainerRegistry.TagChangeableAttributes,
"TagWriteableProperties",
"python"
);
@@clientName(ContainerRegistry.RepositoryChangeableAttributes,
"RepositoryWriteableProperties",
"python"
);

// Client name mappings for ContainerRepositoryProperties
@@clientName(ContainerRegistry.ContainerRepositoryProperties.registry,
"registryLoginServer"
);
@@clientName(ContainerRegistry.ContainerRepositoryProperties.imageName, "name");
@@clientName(ContainerRegistry.ContainerRepositoryProperties.createdTime,
"createdOn"
);
@@clientName(ContainerRegistry.ContainerRepositoryProperties.lastUpdateTime,
"lastUpdatedOn"
);

// Client name mappings for RepositoryChangeableAttributes
@@clientName(ContainerRegistry.RepositoryChangeableAttributes.deleteEnabled,
"canDelete"
);
@@clientName(ContainerRegistry.RepositoryChangeableAttributes.writeEnabled,
"canWrite"
);
@@clientName(ContainerRegistry.RepositoryChangeableAttributes.listEnabled,
"canList"
);
@@clientName(ContainerRegistry.RepositoryChangeableAttributes.readEnabled,
"canRead"
);

// Client name mappings for DeleteRepositoryResult
@@clientName(ContainerRegistry.DeleteRepositoryResult.manifestsDeleted,
"deletedManifests"
);
@@clientName(ContainerRegistry.DeleteRepositoryResult.tagsDeleted,
"deletedTags"
);

// Client name mappings for TagList
@@clientName(ContainerRegistry.TagList.registry, "registryLoginServer");
@@clientName(ContainerRegistry.TagList.imageName, "repository");
@@clientName(ContainerRegistry.TagList.tags, "tagAttributeBases");

// Client name mappings for TagAttributesBase
@@clientName(ContainerRegistry.TagAttributesBase.createdTime, "createdOn");
@@clientName(ContainerRegistry.TagAttributesBase.lastUpdateTime,
"lastUpdatedOn"
);

// Client name mappings for TagChangeableAttributes
@@clientName(ContainerRegistry.TagChangeableAttributes.deleteEnabled,
"canDelete"
);
@@clientName(ContainerRegistry.TagChangeableAttributes.writeEnabled,
"canWrite"
);
@@clientName(ContainerRegistry.TagChangeableAttributes.listEnabled, "canList");
@@clientName(ContainerRegistry.TagChangeableAttributes.readEnabled, "canRead");

// Client name mappings for ArtifactTagProperties
@@clientName(ContainerRegistry.ArtifactTagProperties.registry,
"registryLoginServer"
);
@@clientName(ContainerRegistry.ArtifactTagProperties.imageName,
"repositoryName"
);

// Client name mappings for AcrManifests
@@clientName(ContainerRegistry.AcrManifests.registry, "registryLoginServer");
@@clientName(ContainerRegistry.AcrManifests.imageName, "repository");

// Client name mappings for ManifestAttributesBase
@@clientName(ContainerRegistry.ManifestAttributesBase.imageSize, "size");
@@clientName(ContainerRegistry.ManifestAttributesBase.createdTime, "createdOn");
@@clientName(ContainerRegistry.ManifestAttributesBase.lastUpdateTime,
"lastUpdatedOn"
);
@@clientName(ContainerRegistry.ManifestAttributesBase.os, "operatingSystem");
@@clientName(ContainerRegistry.ManifestAttributesBase.references,
"relatedArtifacts"
);

// Client name mappings for ArtifactManifestPlatform
@@clientName(ContainerRegistry.ArtifactManifestPlatform.os, "operatingSystem");

// Client name mappings for ManifestChangeableAttributes
@@clientName(ContainerRegistry.ManifestChangeableAttributes.deleteEnabled,
"canDelete"
);
@@clientName(ContainerRegistry.ManifestChangeableAttributes.writeEnabled,
"canWrite"
);
@@clientName(ContainerRegistry.ManifestChangeableAttributes.listEnabled,
"canList"
);
@@clientName(ContainerRegistry.ManifestChangeableAttributes.readEnabled,
"canRead"
);

// Client name mappings for ArtifactManifestProperties
@@clientName(ContainerRegistry.ArtifactManifestProperties.registry,
"registryLoginServer"
);
@@clientName(ContainerRegistry.ArtifactManifestProperties.imageName,
"repositoryName"
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"parameters": {
"nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9",
"url": "acrapi.azurecr.io"
},
"responses": {
"204": {}
},
"operationId": "ContainerRegistryBlob_CancelUpload",
"title": "End a blob upload"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"parameters": {
"name": "prod/bash",
"digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
"url": "acrapi.azurecr.io"
},
"responses": {
"200": {
"headers": {
"Content-Length": 5635
}
},
"307": {
"headers": {
"Location": "https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"
}
}
},
"operationId": "ContainerRegistryBlob_CheckBlobExists",
"title": "Head for a Blob Chunk"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"parameters": {
"name": "prod/bash",
"range": "bytes=0-299",
"digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
"url": "acrapi.azurecr.io"
},
"responses": {
"200": {
"headers": {
"Content-Length": "300",
"Content-Range": "bytes 0-299/5635"
}
}
},
"operationId": "ContainerRegistryBlob_CheckChunkExists",
"title": "Get headers without blob Chunk"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"parameters": {
"name": "hello-world",
"payload": {
"schemaVersion": 2
},
"reference": "a20190628-081044z",
"url": "acrapi.azurecr.io"
},
"responses": {
"201": {
"headers": {
"Content-Length": 0,
"Docker-Content-Digest": "sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8",
"Location": "/v2/hello-world/manifests/sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8"
}
}
},
"operationId": "ContainerRegistry_CreateManifest",
"title": "Put manifest"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"parameters": {
"name": "nanoserver",
"api-version": "2021-07-01",
"url": "acrapi.azurecr.io"
},
"responses": {
"202": {},
"404": {}
},
"operationId": "ContainerRegistry_DeleteRepository",
"title": "Delete a repository"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"parameters": {
"name": "prod/bash",
"digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
"url": "acrapi.azurecr.io"
},
"responses": {
"202": {}
},
"operationId": "ContainerRegistryBlob_DeleteBlob",
"title": "Delete a blob"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"parameters": {
"name": "alpine",
"reference": "3.7",
"url": "acrapi.azurecr.io"
},
"responses": {
"202": {},
"404": {}
},
"operationId": "ContainerRegistry_DeleteManifest",
"title": "Delete manifest"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"parameters": {
"name": "nanoserver",
"api-version": "2021-07-01",
"reference": "4.7.2-20180905-nanoserver-1803",
"url": "acrapi.azurecr.io"
},
"responses": {
"202": {},
"404": {}
},
"operationId": "ContainerRegistry_DeleteTag",
"title": "Delete a tag"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"parameters": {
"digest": "sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e",
"nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9",
"url": "acrapi.azurecr.io",
"value": "usuallyEmpty"
},
"responses": {
"201": {
"headers": {
"Docker-Content-Digest": "sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e",
"Location": "/v2/blobland/blobs/sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e"
}
}
},
"operationId": "ContainerRegistryBlob_CompleteUpload",
"title": "End a blob upload"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"parameters": {
"scope": "registry:catalog:*",
"service": "someregistry.azurecr.io",
"url": "acrapi.azurecr.io"
},
"responses": {
"200": {
"body": {
"access_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
}
}
},
"operationId": "Authentication_GetAcrAccessTokenFromLogin",
"title": "Get Access Token with username and password"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"parameters": {
"name": "prod/bash",
"digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
"url": "acrapi.azurecr.io"
},
"responses": {
"200": {
"body": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJCNTg2OUYwNjRFQTc0QUIiLCJfQkFTSF9WRVJTSU9OPTUuMCIsIl9CQVNIX1BBVENIX0xFVkVMPTAiLCJfQkFTSF9MQVRFU1RfUEFUQ0g9NyJdLCJDbWQiOlsiYmFzaCJdLCJBcmdzRXNjYXBlZCI6dHJ1ZSwiSW1hZ2UiOiJzaGEyNTY6MzhhZDJmYmM5ZjljMGE4N2RmZTBhMmIxOWJkY2E5NGJlNDVmNDY2M2Y3M2ZkMDlmZWZlZTQ5MmFmZDJjMDE0NCIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbImRvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6bnVsbH0sImNvbnRhaW5lciI6IjRiMDU0NmZhNDlkZjVkY2FlZDViNjYzNzE3ZjQ0MmNlZjcxYTFiOTVjMGZmYjQyYzhjNWNlNzIzMWI5MGMwMjYiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiNGIwNTQ2ZmE0OWRmIiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIl9CQVNIX0dQR19LRVk9N0MwMTM1RkIwODhBQUY2QzY2QzY1MEI5QkI1ODY5RjA2NEVBNzRBQiIsIl9CQVNIX1ZFUlNJT049NS4wIiwiX0JBU0hfUEFUQ0hfTEVWRUw9MCIsIl9CQVNIX0xBVEVTVF9QQVRDSD03Il0sIkNtZCI6WyIvYmluL3NoIiwiLWMiLCIjKG5vcCkgIiwiQ01EIFtcImJhc2hcIl0iXSwiQXJnc0VzY2FwZWQiOnRydWUsIkltYWdlIjoic2hhMjU2OjM4YWQyZmJjOWY5YzBhODdkZmUwYTJiMTliZGNhOTRiZTQ1ZjQ2NjNmNzNmZDA5ZmVmZWU0OTJhZmQyYzAxNDQiLCJWb2x1bWVzIjpudWxsLCJXb3JraW5nRGlyIjoiIiwiRW50cnlwb2ludCI6WyJkb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnt9fSwiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuNTI3NTE1OTAyWiIsImRvY2tlcl92ZXJzaW9uIjoiMTguMDYuMS1jZSIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDE5LTA3LTExVDIyOjIwOjUyLjEzOTcwOTM1NVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6MGViNWVhMzU3NDFkMjNmZTM5Y2JhYzI0NWIzYTVkODQ4NTZlZDYzODRmNGZmMDdkNDk2MzY5ZWU2ZDk2MGJhZCBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTFUMjI6MjA6NTIuMzc1Mjg2NDA0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxMy41Njc2Njk4MTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfR1BHX0tFWT03QzAxMzVGQjA4OEFBRjZDNjZDNjUwQjlCQjU4NjlGMDY0RUE3NEFCIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuNzQ1NjUyMDk4WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1ZFUlNJT049NS4wIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuOTQwNDU1NDE5WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1BBVENIX0xFVkVMPTAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxNC4wOTkzMDAwNzVaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfTEFURVNUX1BBVENIPTciLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNjowNS45Mjg0MjkyNjJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgc2V0IC1ldXg7IFx0XHRhcGsgYWRkIC0tbm8tY2FjaGUgLS12aXJ0dWFsIC5idWlsZC1kZXBzIFx0XHRiaXNvbiBcdFx0Y29yZXV0aWxzIFx0XHRkcGtnLWRldiBkcGtnIFx0XHRnY2MgXHRcdGdudXBnIFx0XHRsaWJjLWRldiBcdFx0bWFrZSBcdFx0bmN1cnNlcy1kZXYgXHRcdHBhdGNoIFx0XHR0YXIgXHQ7IFx0XHR2ZXJzaW9uPVwiJF9CQVNIX1ZFUlNJT05cIjsgXHRpZiBbIFwiJF9CQVNIX1BBVENIX0xFVkVMXCIgLWd0IDAgXTsgdGhlbiBcdFx0dmVyc2lvbj1cIiR2ZXJzaW9uLiRfQkFTSF9QQVRDSF9MRVZFTFwiOyBcdGZpOyBcdHdnZXQgLU8gYmFzaC50YXIuZ3ogXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6XCI7IFx0d2dldCAtTyBiYXNoLnRhci5nei5zaWcgXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6LnNpZ1wiOyBcdFx0aWYgWyBcIiRfQkFTSF9MQVRFU1RfUEFUQ0hcIiAtZ3QgXCIkX0JBU0hfUEFUQ0hfTEVWRUxcIiBdOyB0aGVuIFx0XHRta2RpciAtcCBiYXNoLXBhdGNoZXM7IFx0XHRmaXJzdD1cIiQocHJpbnRmICclMDNkJyBcIiQoKCBfQkFTSF9QQVRDSF9MRVZFTCArIDEgKSlcIilcIjsgXHRcdGxhc3Q9XCIkKHByaW50ZiAnJTAzZCcgXCIkX0JBU0hfTEFURVNUX1BBVENIXCIpXCI7IFx0XHRmb3IgcGF0Y2ggaW4gJChzZXEgLXcgXCIkZmlyc3RcIiBcIiRsYXN0XCIpOyBkbyBcdFx0XHR1cmw9XCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJF9CQVNIX1ZFUlNJT04tcGF0Y2hlcy9iYXNoJHtfQkFTSF9WRVJTSU9OLy8uL30tJHBhdGNoXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoXCIgXCIkdXJsXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoLnNpZ1wiIFwiJHVybC5zaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0XHRleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7IFx0Z3BnIC0tYmF0Y2ggLS1rZXlzZXJ2ZXIgaGEucG9vbC5za3Mta2V5c2VydmVycy5uZXQgLS1yZWN2LWtleXMgXCIkX0JBU0hfR1BHX0tFWVwiOyBcdGdwZyAtLWJhdGNoIC0tdmVyaWZ5IGJhc2gudGFyLmd6LnNpZyBiYXNoLnRhci5nejsgXHRncGdjb25mIC0ta2lsbCBhbGw7IFx0cm0gYmFzaC50YXIuZ3ouc2lnOyBcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBzaWcgaW4gYmFzaC1wYXRjaGVzLyouc2lnOyBkbyBcdFx0XHRwPVwiJHtzaWclLnNpZ31cIjsgXHRcdFx0Z3BnIC0tYmF0Y2ggLS12ZXJpZnkgXCIkc2lnXCIgXCIkcFwiOyBcdFx0XHRybSBcIiRzaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0cm0gLXJmIFwiJEdOVVBHSE9NRVwiOyBcdFx0bWtkaXIgLXAgL3Vzci9zcmMvYmFzaDsgXHR0YXIgXHRcdC0tZXh0cmFjdCBcdFx0LS1maWxlPWJhc2gudGFyLmd6IFx0XHQtLXN0cmlwLWNvbXBvbmVudHM9MSBcdFx0LS1kaXJlY3Rvcnk9L3Vzci9zcmMvYmFzaCBcdDsgXHRybSBiYXNoLnRhci5nejsgXHRcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBwIGluIGJhc2gtcGF0Y2hlcy8qOyBkbyBcdFx0XHRwYXRjaCBcdFx0XHRcdC0tZGlyZWN0b3J5PS91c3Ivc3JjL2Jhc2ggXHRcdFx0XHQtLWlucHV0PVwiJChyZWFkbGluayAtZiBcIiRwXCIpXCIgXHRcdFx0XHQtLXN0cmlwPTAgXHRcdFx0OyBcdFx0XHRybSBcIiRwXCI7IFx0XHRkb25lOyBcdFx0cm1kaXIgYmFzaC1wYXRjaGVzOyBcdGZpOyBcdFx0Y2QgL3Vzci9zcmMvYmFzaDsgXHRnbnVBcmNoPVwiJChkcGtnLWFyY2hpdGVjdHVyZSAtLXF1ZXJ5IERFQl9CVUlMRF9HTlVfVFlQRSlcIjsgXHQuL2NvbmZpZ3VyZSBcdFx0LS1idWlsZD1cIiRnbnVBcmNoXCIgXHRcdC0tZW5hYmxlLXJlYWRsaW5lIFx0XHQtLXdpdGgtY3Vyc2VzIFx0XHQtLXdpdGhvdXQtYmFzaC1tYWxsb2MgXHR8fCB7IFx0XHRjYXQgXHUwMDNlXHUwMDI2MiBjb25maWcubG9nOyBcdFx0ZmFsc2U7IFx0fTsgXHRtYWtlIC1qIFwiJChucHJvYylcIjsgXHRtYWtlIGluc3RhbGw7IFx0Y2QgLzsgXHRybSAtciAvdXNyL3NyYy9iYXNoOyBcdFx0cm0gLXIgXHRcdC91c3IvbG9jYWwvc2hhcmUvZG9jL2Jhc2gvKi5odG1sIFx0XHQvdXNyL2xvY2FsL3NoYXJlL2luZm8gXHRcdC91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIFx0XHQvdXNyL2xvY2FsL3NoYXJlL21hbiBcdDsgXHRcdHJ1bkRlcHM9XCIkKCBcdFx0c2NhbmVsZiAtLW5lZWRlZCAtLW5vYmFubmVyIC0tZm9ybWF0ICclbiNwJyAtLXJlY3Vyc2l2ZSAvdXNyL2xvY2FsIFx0XHRcdHwgdHIgJywnICdcXG4nIFx0XHRcdHwgc29ydCAtdSBcdFx0XHR8IGF3ayAnc3lzdGVtKFwiWyAtZSAvdXNyL2xvY2FsL2xpYi9cIiAkMSBcIiBdXCIpID09IDAgeyBuZXh0IH0geyBwcmludCBcInNvOlwiICQxIH0nIFx0KVwiOyBcdGFwayBhZGQgLS1uby1jYWNoZSAtLXZpcnR1YWwgLmJhc2gtcnVuZGVwcyAkcnVuRGVwczsgXHRhcGsgZGVsIC5idWlsZC1kZXBzOyBcdFx0WyBcIiQod2hpY2ggYmFzaClcIiA9ICcvdXNyL2xvY2FsL2Jpbi9iYXNoJyBdOyBcdGJhc2ggLS12ZXJzaW9uOyBcdFsgXCIkKGJhc2ggLWMgJ2VjaG8gXCIke0JBU0hfVkVSU0lPTiUlW14wLTkuXSp9XCInKVwiID0gXCIke19CQVNIX1ZFUlNJT04lJS0qfS4kX0JBU0hfTEFURVNUX1BBVENIXCIgXTsifSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjE2NDEyODQxMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjY1MWIzYmViZWJhOGJlOTE2MmM1NmIzZWI1NjExOTk5MDUyMzVmM2UxYzc4MTEyMzJiNmM5ZjQ4YWMzMzM2NTEgaW4gL3Vzci9sb2NhbC9iaW4vICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuMzE5Mzc1ODg0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCJkb2NrZXItZW50cnlwb2ludC5zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjUyNzUxNTkwMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwib3MiOiJsaW51eCIsInJvb3RmcyI6eyJ0eXBlIjoibGF5ZXJzIiwiZGlmZl9pZHMiOlsic2hhMjU2OjFiZmVlYmQ2NTMyM2I4ZGRmNWJkNmE1MWNjNzA5N2I3Mjc4OGJjOTgyZTlhYjMyODBkNTNkM2M2MTNhZGZmYTciLCJzaGEyNTY6NDgzYzk4MGFjNmFiZjYzZmM0ZDcyNjJiMTdhMTk1NGQ2MjI2NmRhYzMwMjliNWJlMzg0ZDAzYjM5MjI5ODAzZSIsInNoYTI1Njo1ZjVmOTNhOTMzMDUyMTBhOTZjYzQxN2Y1NzlkNzBhNDk2YmJmMGRiOGU4MGVhMWU5NDM2NjgyYzM3OWYyNWQ5Il19fQ==",
"headers": {
"Content-Length": 5635
}
},
"307": {
"headers": {
"Location": "https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"
}
}
},
"operationId": "ContainerRegistryBlob_GetBlob",
"title": "Get a blob from digest"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"parameters": {
"name": "prod/bash",
"range": "bytes=0-299",
"digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
"url": "acrapi.azurecr.io"
},
"responses": {
"206": {
"body": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJC",
"headers": {
"Content-Length": "300",
"Content-Range": "bytes 0-299/5635"
}
}
},
"operationId": "ContainerRegistryBlob_GetChunk",
"title": "Get a blob Chunk"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"parameters": {
"api-version": "2021-07-01",
"nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9",
"url": "acrapi.azurecr.io"
},
"responses": {
"204": {
"headers": {
"Docker-Upload-Uuid": "2b28c60d-d296-44b7-b2b4-1f01c63195c6",
"Range": "0-0"
}
}
},
"operationId": "ContainerRegistryBlob_GetUploadStatus",
"title": "Get blob status"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"parameters": {
"url": "acrapi.azurecr.io"
},
"responses": {
"200": {}
},
"operationId": "ContainerRegistry_CheckDockerV2Support",
"title": "Check Docker Registry V2 Support"
}
Loading
Loading