diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json new file mode 100644 index 000000000000..219039288eb5 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json @@ -0,0 +1,1435 @@ +{ + "swagger": "2.0", + "info": { + "description": "V2 API definition for the Azure Container Registry runtime", + "version": "2018-08-10-preview", + "title": "Azure Container Registry" + }, + "host": "acrapi.azurecr-test.io", + "tags": [{ + "name": "v2", + "description": "Root API" + }, { + "name": "Manifest", + "description": "Everything about manfests" + }, { + "name": "Tag", + "description": "Everything about tags" + }, { + "name": "Layer", + "description": "Everything about layers" + }, { + "name": "Repository", + "description": "Everyting about repository" + }, { + "name": "AcrRepository", + "description": "ACR APIs related to repositories" + }, { + "name": "AcrManifest", + "description": "ACR APIs related to manifests" + }, { + "name": "AcrTag", + "description": "ACR APIs related to tags" + }], + "schemes": ["https"], + "security": [{ + "registry_auth": [] + }], + "produces": [ + "application/json" + ], + "paths": { + "/v2/": { + "get": { + "tags": ["v2"], + "description": "Tells whether this Docker Registry instance supports Docker Registry HTTP API v2", + "x-ms-examples": { + "Check Docker Registry V2 Support": { "$ref": "./examples/GetDockerRegistryV2Support.json" } + }, + "operationId": "GetDockerRegistryV2Support", + "responses": { + "200": { + "description": "Successful response. API v2 supported" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/v2/{name}/tags/list": { + "get": { + "tags": ["Tag"], + "description": "Fetch the tags under the repository identified by 'name'", + "x-ms-examples": { + "List tags": { "$ref": "./examples/GetTagList.json" } + }, + "operationId": "GetTagList", + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }], + "responses": { + "200": { + "description": "Gives a list of tags for the names repository.", + "schema": { + "$ref": "#/definitions/RepositoryTags" + } + }, + "404": { + "description": "Image doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/v2/{name}/manifests/{reference}": { + "get": { + "tags": ["Manifest"], + "description": "Pulls the image manifest file associated with the specified name and reference. Reference may be a tag or a digest", + "x-ms-examples": { + "Get manifest": { "$ref": "./examples/GetManifest.json" } + }, + "operationId": "GetManifest", + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "reference", + "in": "path", + "description": "A tag or a digest, pointing to a specific image", + "required": true, + "type": "string" + }], + "responses": { + "200": { + "description": "Returns the requested manifest file", + "schema": { + "$ref": "#/definitions/Manifest" + } + }, + "404": { + "description": "Image doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/v2/_catalog": { + "get": { + "tags": ["Repository"], + "description": "List respositories", + "operationId": "GetRepositories", + "x-ms-examples": { + "Get repositories in a registry": { "$ref": "./examples/GetRepositories.json" } + }, + "parameters": [{ + "name": "last", + "in": "query", + "description": "query parameter for the last item in previou query", + "required": false, + "type": "string" + }, { + "name": "n", + "in": "query", + "description": "query parameter for max number of items", + "required": false, + "type": "string" + }], + "responses": { + "200": { + "description": "Returns a list of repositories", + "schema": { + "$ref": "#/definitions/Repositories" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/acr/v1/_catalog": { + "get": { + "tags": ["AcrRepository"], + "description": "List respositories", + "operationId": "GetAcrRepositories", + "x-ms-examples": { + "Get repositories in a registry": { "$ref": "./examples/GetRepositories.json" } + }, + "parameters": [{ + "name": "last", + "in": "query", + "description": "query parameter for the last item in previou query", + "required": false, + "type": "string" + }, { + "name": "n", + "in": "query", + "description": "query parameter for max number of items", + "required": false, + "type": "string" + }], + "responses": { + "200": { + "description": "Returns a list of repositories", + "schema": { + "$ref": "#/definitions/Repositories" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/acr/v1/{name}": { + "get": { + "tags": ["AcrRepository", "AcrMetadata"], + "description": "Get respository attributes", + "operationId": "GetAcrRepositoryAttributes", + "x-ms-examples": { + "Get details of repository": { "$ref": "./examples/GetAcrRepositoryAttributes.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }], + "responses": { + "200": { + "description": "Returns a list of attributes", + "schema": { + "$ref": "#/definitions/RepositoryAttributes" + } + }, + "404": { + "description": "Image doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "delete": { + "tags": ["AcrRepository"], + "description": "Delete a respository", + "operationId": "DeleteAcrRepository", + "x-ms-examples": { + "Delete a repository": { "$ref": "./examples/DeleteAcrRepository.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }], + "responses": { + "202": { + "description": "The repoisotry is deleted", + "schema": { + "$ref": "#/definitions/DeletedRepository" + } + }, + "404": { + "description": "Image doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "patch": { + "tags": ["AcrRepository", "AcrMetadata"], + "description": "Update attributes of a repository", + "operationId": "UpdateAcrRepositoryAttributes", + "x-ms-examples": { + "Update repository attributes": { "$ref": "./examples/UpdateAcrRepository.json" } + }, + "consumes": ["application/json"], + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "value", + "in": "body", + "description": "Repository attribute value", + "required": false, + "schema": { + "$ref": "#/definitions/ChangeableAttributes" + } + }], + "responses": { + "204": { + "description": "The attributes is updated" + }, + "404": { + "description": "Image doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/acr/v1/{name}/_tags": { + "get": { + "tags": ["AcrTag", "AcrMetadata"], + "description": "List tags of a repository", + "operationId": "GetAcrTags", + "x-ms-examples": { + "Get tags of a repository": { "$ref": "./examples/GetAcrTags.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "last", + "in": "query", + "description": "query parameter for the last item in previou query", + "required": false, + "type": "string" + }, { + "name": "n", + "in": "query", + "description": "query parameter for max number of items", + "required": false, + "type": "string" + }, { + "name": "orderby", + "in": "query", + "description": "orderby query parameter", + "required": false, + "type": "string" + }, { + "name": "digest", + "in": "query", + "description": "filter by digest", + "required": false, + "type": "string" + }], + "responses": { + "200": { + "description": "Tag details of a repository", + "schema": { + "$ref": "#/definitions/AcrRepositoryTags" + } + }, + "404": { + "description": "Image doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/acr/v1/{name}/_tags/{reference}": { + "get": { + "tags": ["AcrTag", "AcrMetadata"], + "description": "Get manifest attributes by tag", + "operationId": "GetAcrTagAttributes", + "x-ms-examples": { + "Get manifest attributes": { "$ref": "./examples/GetAcrTagAttributes.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "reference", + "in": "path", + "description": "A tag name of the image", + "required": true, + "type": "string" + }], + "responses": { + "200": { + "description": "Tag attributes", + "schema": { + "$ref": "#/definitions/AcrTagAttributes" + } + }, + "404": { + "description": "Tag doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "patch": { + "tags": ["AcrTag", "AcrMetadata"], + "description": "Update tag attributes", + "operationId": "UpdateAcrTagAttributes", + "consumes": ["application/json"], + "x-ms-examples": { + "Update attributes of a manifest": { "$ref": "./examples/UpdateAcrTagAttributes.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "reference", + "in": "path", + "description": "A tag name of the image", + "required": true, + "type": "string" + }, { + "in": "body", + "name": "value", + "description": "Changeable attribute value", + "required": false, + "schema": { + "$ref": "#/definitions/ChangeableAttributes" + } + }], + "responses": { + "204": { + "description": "The attributes are updated" + }, + "404": { + "description": "Manifest doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "delete": { + "tags": ["AcrTag", "AcrMetadata"], + "description": "Delete tag", + "operationId": "DeleteAcrTag", + "consumes": ["application/json"], + "x-ms-examples": { + "Update attributes of a manifest": { "$ref": "./examples/DeleteAcrTag.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "reference", + "in": "path", + "description": "A tag name of the image", + "required": true, + "type": "string" + }], + "responses": { + "204": { + "description": "The tag is deleted" + }, + "404": { + "description": "Tag doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/acr/v1/{name}/_manifests": { + "get": { + "tags": ["AcrManifest", "AcrMetadata"], + "description": "List manifests of a repository", + "operationId": "GetAcrManifests", + "x-ms-examples": { + "Get details of repository": { "$ref": "./examples/GetAcrManifests.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "last", + "in": "query", + "description": "query parameter for the last item in previou query", + "required": false, + "type": "string" + }, { + "name": "n", + "in": "query", + "description": "query parameter for max number of items", + "required": false, + "type": "string" + }, { + "name": "orderby", + "in": "query", + "description": "orderby query parameter", + "required": false, + "type": "string" + }], + "responses": { + "200": { + "description": "Returns a list of manifests", + "schema": { + "$ref": "#/definitions/AcrManifests" + } + }, + "404": { + "description": "Image doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/acr/v1/{name}/_manifests/{reference}": { + "get": { + "tags": ["AcrManifest", "AcrMetadata"], + "description": "Get manifest attributes", + "operationId": "GetAcrManifestAttributes", + "x-ms-examples": { + "Get manifest attributes": { "$ref": "./examples/GetAcrManifestAttributes.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "reference", + "in": "path", + "description": "A digest pointing to a specific image", + "required": true, + "type": "string" + }], + "responses": { + "200": { + "description": "List of attributes", + "schema": { + "$ref": "#/definitions/AcrManifestAttributes" + } + }, + "404": { + "description": "Manifest doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "patch": { + "tags": ["AcrManifest", "AcrMetadata"], + "description": "Update attributes of a manifest", + "operationId": "UpdateAcrManifestAttributes", + "consumes": ["application/json"], + "x-ms-examples": { + "Update attributes of a manifest": { "$ref": "./examples/UpdateAcrManifestAttributes.json" } + }, + "parameters": [{ + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string" + }, { + "name": "reference", + "in": "path", + "description": "A tag or a digest, pointing to a specific image", + "required": true, + "type": "string" + }, { + "in": "body", + "name": "value", + "description": "Changeable attribute value", + "required": false, + "schema": { + "$ref": "#/definitions/ChangeableAttributes" + } + }], + "responses": { + "204": { + "description": "The attributes are updated" + }, + "404": { + "description": "Manifest doesn't exist" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + } + }, + "securityDefinitions": { + "registry_auth": { + "type": "basic" + } + }, + "definitions": { + "RepositoryAttributes": { + "type": "object", + "description": "Repository attributes", + "properties": { + "registry": { + "type": "string", + "description": "Registry name" + }, + "imageName": { + "type": "string", + "description": "Image name" + }, + "createdTime": { + "type": "string", + "description": "Image created time" + }, + "lastUpdateTime": { + "type": "string", + "description": "Image last update time" + }, + "manifestCount": { + "type": "number", + "description": "Number of the manifests" + }, + "tagCount": { + "type": "number", + "description": "Number of the tags" + }, + "changeableAttributes": { + "description": "Changeable attributes", + "$ref": "#/definitions/ChangeableAttributes" + } + }, + "example": { + "registry": "registryname.azurecr.io", + "changeableAttributes": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "imageName": "imageName", + "createdTime": "2018-09-07T16:30:46.6583219Z", + "tagCount": 6, + "manifestCount": 2, + "lastUpdateTime": "2018-09-07T16:30:46.6583219Z" + } + }, + "AcrRepositoryTags": { + "description": "List of tag details", + "properties": { + "registry": { + "type": "string", + "description": "Registry name" + }, + "imageName": { + "type": "string", + "description": "Image name" + }, + "tags": { + "type": "array", + "x-ms-client-name": "TagsAttributes", + "description": "List of tag attribute details", + "items": { + "$ref": "#/definitions/AcrTagAttributesBase" + } + } + }, + "example": { + "registry": "registry", + "imageName": "imageName", + "tags": [{ + "changeableAttributes": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "name": "name", + "digest": "digest", + "createdTime": "createdTime", + "signed": true, + "quarantineState": "quarantineState", + "lastUpdateTime": "lastUpdateTime" + }, { + "changeableAttributes": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "name": "name", + "digest": "digest", + "createdTime": "createdTime", + "signed": true, + "quarantineState": "quarantineState", + "lastUpdateTime": "lastUpdateTime" + }] + } + }, + "AcrTagAttributes": { + "description": "Tag attributes", + "properties": { + "registry": { + "type": "string", + "description": "Registry name" + }, + "imageName": { + "type": "string", + "description": "Image name" + }, + "tag": { + "x-ms-client-name": "TagAttributes", + "description": "List of tag attribute details", + "$ref": "#/definitions/AcrTagAttributesBase" + } + }, + "example": { + "registry": "registry", + "imageName": "imageName", + "tag": { + "changeableAttributes": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "name": "name", + "digest": "digest", + "createdTime": "createdTime", + "signed": true, + "quarantineState": "quarantineState", + "lastUpdateTime": "lastUpdateTime" + } + } + }, + "TagAttributes": { + "description": "Tag attributes", + "properties": { + "registry": { + "description": "Registry name", + "type": "string" + }, + "imageName": { + "description": "Image name", + "type": "string" + }, + "tag": { + "$ref": "#/definitions/TagAttributes_tag", + "description": "Tag attributes" + } + }, + "example": { + "registry": "registry", + "imageName": "imageName", + "tag": { + "signatureRecord": "signatureRecord" + } + } + }, + "AcrTagAttributesBase": { + "description": "Tag attribute details", + "properties": { + "name": { + "type": "string", + "description": "Tag name" + }, + "digest": { + "type": "string", + "description": "Tag digest" + }, + "createdTime": { + "type": "string", + "description": "Tag created time" + }, + "lastUpdateTime": { + "type": "string", + "description": "Tag last update time" + }, + "signed": { + "type": "boolean", + "description": "Is signed" + }, + "changeableAttributes": { + "$ref": "#/definitions/ChangeableAttributes", + "description": "Changeable attributes" + } + }, + "example": { + "changeableAttributes": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "name": "tagname", + "digest": "sha256:0873c923e00e0fd2ba78041bfb64a105e1ecb7678916d1f7776311e45bf5634b", + "createdTime": "2018-08-10T17:28:44.1082945Z", + "signed": true, + "lastUpdateTime": "2018-08-10T17:28:44.1082945Z" + } + }, + "AcrManifests": { + "description": "Manifest attributes", + "properties": { + "registry": { + "type": "string", + "description": "Registry name" + }, + "imageName": { + "type": "string", + "description": "Image name" + }, + "manifests": { + "type": "array", + "description": "List of manifests", + "items": { + "$ref": "#/definitions/AcrManifestAttributesBase", + "description": "Manifest details" + } + } + }, + "example": { + "registry": "registry", + "imageName": "imageName", + "manifests": [{ + "changeableAttributes": { + "quarantineDetails": "quarantineDetails", + "readEnabled": true, + "quarantineState": "quarantineState", + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "os": "os", + "digest": "digest", + "createdTime": "createdTime", + "mediaType": "mediaType", + "lastUpdateTime": "lastUpdateTime", + "architecture": "architecture", + "tags": ["tags", "tags"] + }, { + "changeableAttributes": { + "quarantineDetails": "quarantineDetails", + "readEnabled": true, + "quarantineState": "quarantineState", + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "os": "os", + "digest": "digest", + "createdTime": "createdTime", + "mediaType": "mediaType", + "lastUpdateTime": "lastUpdateTime", + "architecture": "architecture", + "tags": ["tags", "tags"] + }] + } + }, + "AcrManifestAttributes": { + "description": "Manifest attributes details", + "properties": { + "registry": { + "description": "Registry name", + "type": "string" + }, + "imageName": { + "description": "Image name", + "type": "string" + }, + "manifest": { + "description": "Manifest attributes", + "$ref": "#/definitions/AcrManifestAttributesBase" + } + }, + "example": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "manifest": { + "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "createdTime": "2018-09-06T06:17:20.9983915Z", + "lastUpdateTime": "2018-09-06T06:17:20.9983915Z", + "architecture": "amd64", + "os": "windows", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": ["4.7.2-20180905-nanoserver-1803"], + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + } + } + }, + "AcrManifestAttributesBase": { + "type": "object", + "description": "Manifest details", + "properties": { + "digest": { + "type": "string", + "description": "Manifest digest" + }, + "createdTime": { + "type": "string", + "description": "Created time" + }, + "lastUpdateTime": { + "type": "string", + "description": "Last update time" + }, + "architecture": { + "type": "string", + "description": "CPU architecture" + }, + "os": { + "type": "string", + "description": "Operating system" + }, + "mediaType": { + "type": "string", + "description": "Media type" + }, + "tags": { + "type": "array", + "description": "List of tags", + "items": { + "type": "string", + "description": "Tag name" + } + }, + "changeableAttributes": { + "$ref": "#/definitions/ChangeableAttributes", + "description": "Changeable attributes" + } + }, + "example": { + "changeableAttributes": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "os": "os", + "digest": "digest", + "createdTime": "createdTime", + "mediaType": "mediaType", + "lastUpdateTime": "lastUpdateTime", + "architecture": "architecture", + "tags": ["tags", "tags"] + } + }, + "AcrErrors": { + "description": "Acr error response describing why the operation failed", + "properties": { + "errors": { + "type": "array", + "description": "Array of detailed error", + "items": { + "$ref": "#/definitions/AcrErrorInfo" + } + } + } + }, + "RepositoryTags": { + "description": "Result of the request to list tags of the image", + "properties": { + "name": { + "type": "string", + "description": "Name of the image" + }, + "tags": { + "type": "array", + "description": "List of tags", + "items": { + "type": "string", + "description": "Tag name" + } + } + }, + "example": { + "name": "name", + "tags": ["tags", "tags"] + } + }, + "Manifest": { + "description": "Returns the requested manifest file", + "properties": { + "schemaVersion": { + "type": "number", + "description": "Schema version" + }, + "architecture": { + "type": "string", + "description": "CPU architecture" + }, + "name": { + "type": "string", + "description": "Image name" + }, + "tag": { + "type": "string", + "description": "Image tag" + }, + "fsLayers": { + "type": "array", + "description": "List of layer information", + "items": { + "$ref": "#/definitions/ImageLayer" + } + }, + "history": { + "type": "array", + "description": "Image history", + "x-ms-client-name": "ImageHistories", + "items": { + "$ref": "#/definitions/ImageHistory" + } + }, + "signatures": { + "type": "array", + "description": "Image signature", + "items": { + "$ref": "#/definitions/ImageSignature" + } + } + }, + "example": { + "name": "name", + "tag": "tag", + "fsLayers": [{ + "blobSum": "sha256:1f7d468f830cb0ed4beb8edc9438f18096e8c682e56a35242f60e6c61b718b30" + }, { + "blobSum": "sha256:2f7d468f830cb0ed4beb8edc9438f18096e8c682e56a35242f60e6c61b718b31" + }], + "history": "history", + "signatures": [{ + "header": { + "jwk": { + "crv": "P-256", + "kid": "WGXM:EYWQ:DA53:LQUP:BCWG:5RDG:S3ZM:ETH7:VMQS:WWKZ:EWDG:V74Q", + "kty": "EC", + "x": "OxZ9k5BVjPZ7jb3BmBD4X0d8MVPJqfF4NeSe8reoqnY", + "y": "EaCqTe4-vYwhk7qU6Bs2-AeLGOVtCe_-IY2MdE0Vfyc" + }, + "alg": "ES256" + }, + "signature": "p73LfotMGD8nNXz2g9YX2XtSllb4GI5-b3vjqP5N0nkv8QXg-r5z_omGiVbOZE2BYG1X_4TIN23l1KSEqsXxOg", + "protected": "eyJmb3JtYXRMZW5ndGgiOjI5ODYsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxOC0wOS0yMFQyMzo0MTo1MloifQ" + }] + } + }, + "ImageSignature": { + "description": "Signature of a signed manifest", + "properties": { + "header": { + "description": "A JSON web signature", + "$ref": "#/definitions/JWK" + }, + "signature": { + "type": "string", + "description": "A signature for the image manifest, signed by a libtrust private key" + }, + "protected": { + "type": "string", + "x-ms-client-name": "protectedHeader", + "description": "The signed protected header" + } + }, + "example": { + "header": { + "jwk": { + "crv": "P-256", + "kid": "WGXM:EYWQ:DA53:LQUP:BCWG:5RDG:S3ZM:ETH7:VMQS:WWKZ:EWDG:V74Q", + "kty": "EC", + "x": "OxZ9k5BVjPZ7jb3BmBD4X0d8MVPJqfF4NeSe8reoqnY", + "y": "EaCqTe4-vYwhk7qU6Bs2-AeLGOVtCe_-IY2MdE0Vfyc" + }, + "alg": "ES256" + }, + "signature": "p73LfotMGD8nNXz2g9YX2XtSllb4GI5-b3vjqP5N0nkv8QXg-r5z_omGiVbOZE2BYG1X_4TIN23l1KSEqsXxOg", + "protected": "eyJmb3JtYXRMZW5ndGgiOjI5ODYsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxOC0wOS0yMFQyMzo0MTo1MloifQ" + } + }, + "JWK": { + "description": "A JSON web signature", + "properties": { + "jwk": { + "$ref": "#/definitions/JWKHeader" + }, + "alg": { + "type": "string", + "description": "The algorithm used to sign or encrypt the JWT" + } + } + }, + "JWKHeader": { + "description": "JSON web key parameter", + "properties": { + "crv": { + "type": "string", + "description": "crv value" + }, + "kid": { + "type": "string", + "description": "kid value" + }, + "kty": { + "type": "string", + "description": "kty value" + }, + "x": { + "type": "string", + "description": "x value" + }, + "y": { + "type": "string", + "description": "y value" + } + } + }, + "ImageHistory": { + "description": "A list of unstructured historical data for v1 compatibility", + "properties": { + "v1Compatibility": { + "type": "string", + "description": "The raw v1 compatibility information" + } + }, + "example": { + "v1Compatibility": "v1 compatibility info" + } + }, + "Repositories": { + "description": "List of repositories", + "properties": { + "repositories": { + "type": "array", + "x-ms-client-name": "Names", + "description": "Repository names", + "items": { + "type": "string" + } + } + }, + "example": { + "repositories": ["production/apline", "testing/apline"] + } + }, + "DeletedRepository": { + "description": "Deleted repository", + "properties": { + "manifestsDeleted": { + "type": "array", + "description": "SHA of the deleted image", + "items": { + "type": "string" + } + }, + "tagsDeleted": { + "type": "array", + "description": "Tag of the deleted image", + "items": { + "type": "string" + } + } + } + }, + "AcrErrorInfo": { + "description": "Error information", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "type": "string", + "description": "Error message" + }, + "detail": { + "type": "string", + "description": "Error details" + } + } + }, + "ImageLayer": { + "description": "Image layer information", + "properties": { + "blobSum": { + "type": "string", + "description": "SHA of an image layer" + } + }, + "example": { + "blobSum": "sha256:1f7d468f830cb0ed4beb8edc9438f18096e8c682e56a35242f60e6c61b718b30" + } + }, + "ChangeableAttributes": { + "properties": { + "deleteEnabled": { + "type": "boolean", + "description": "Delete enabled" + }, + "writeEnabled": { + "type": "boolean", + "description": "Write enabled" + }, + "listEnabled": { + "type": "boolean", + "description": "List enabled" + }, + "readEnabled": { + "type": "boolean", + "description": "Read enabled" + } + }, + "example": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + } + }, + "TagAttributes_tag": { + "description": "Tag", + "properties": { + "signatureRecord": { + "description": "SignatureRecord value", + "type": "string" + } + }, + "example": { + "signatureRecord": "signatureRecord" + } + }, + "ManifestAttributes_manifest_references": { + "description": "Manifest attributes details", + "properties": { + "digest": { + "type": "string", + "description": "Manifest digest" + }, + "architecture": { + "type": "string", + "description": "CPU architecture" + }, + "os": { + "type": "string", + "description": "Operating system" + } + }, + "example": { + "os": "os", + "digest": "digest", + "architecture": "architecture" + } + }, + "ManifestAttributes_manifest": { + "description": "List of manifest attributes", + "properties": { + "references": { + "type": "array", + "description": "List of manifest attributes details", + "items": { + "$ref": "#/definitions/ManifestAttributes_manifest_references", + "description": "Manifest attributes details" + } + }, + "quarantineTag": { + "type": "string", + "description": "Quarantine tag name" + } + }, + "example": { + "quarantineTag": "quarantineTag", + "references": [{ + "os": "os", + "digest": "digest", + "architecture": "architecture" + }, { + "os": "os", + "digest": "digest", + "architecture": "architecture" + }] + } + }, + "ManifestChangeableAttributes": { + "description": "Changeable attributes", + "properties": { + "deleteEnabled": { + "type": "boolean", + "description": "Delete enabled" + }, + "writeEnabled": { + "type": "boolean", + "description": "Write enabled" + }, + "listEnabled": { + "type": "boolean", + "description": "List enabled" + }, + "readEnabled": { + "type": "boolean", + "description": "Read enabled" + }, + "quarantineState": { + "type": "string", + "description": "Quarantine state" + }, + "quarantineDetails": { + "type": "string", + "description": "Quarantine details" + } + }, + "example": { + "quarantineDetails": "quarantineDetails", + "readEnabled": true, + "quarantineState": "quarantineState", + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + } + } + }, + "parameters": { + "name": { + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "reference": { + "name": "reference", + "in": "path", + "description": "A tag or a digest, pointing to a specific image", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "digest": { + "name": "digest", + "in": "path", + "description": "Digest of a desired BLOB", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "metadata": { + "name": "metadata", + "in": "path", + "description": "Name of the metadata", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "property": { + "name": "property", + "in": "path", + "description": "Name of the property", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "queryOrderBy": { + "name": "orderby", + "in": "query", + "description": "orderby query parameter", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "queryNum": { + "name": "n", + "in": "query", + "description": "query parameter for max number of items", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "queryLast": { + "name": "last", + "in": "query", + "description": "query parameter for the last item in previou query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "queryDigest": { + "name": "digest", + "in": "query", + "description": "filter by digest", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/DeleteAcrRepository.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/DeleteAcrRepository.json new file mode 100644 index 000000000000..2a34867591ed --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/DeleteAcrRepository.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "name": "nanoserver" + }, + "responses": { + "202": { + "body": { + "manifestsDeleted": ["sha256:e31831d63f77a0a6d74ef5b16df619a50808dac842190d07ae24e8b520d159fa"], + "tagsDeleted": ["4.7.2-20180814-windowsservercore-1709"] + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/DeleteAcrTag.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/DeleteAcrTag.json new file mode 100644 index 000000000000..6f7b5737f7f0 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/DeleteAcrTag.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "name": "nanoserver", + "reference": "4.7.2-20180905-nanoserver-1803" + }, + "responses": { + "204": {}, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrManifestAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrManifestAttributes.json new file mode 100644 index 000000000000..52b999399595 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrManifestAttributes.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "name": "nanoserver", + "reference": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086" + }, + "responses": { + "200": { + "body": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "manifest": { + "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "createdTime": "2018-09-06T06:17:20.9983915Z", + "lastUpdateTime": "2018-09-06T06:17:20.9983915Z", + "architecture": "amd64", + "os": "windows", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": ["4.7.2-20180905-nanoserver-1803"], + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + } + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrManifests.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrManifests.json new file mode 100644 index 000000000000..5219e6820b8f --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrManifests.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "name": "nanoserver" + }, + "responses": { + "200": { + "body": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "manifests": [{ + "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "createdTime": "2018-09-06T06:17:20.9983915Z", + "lastUpdateTime": "2018-09-06T06:17:20.9983915Z", + "architecture": "amd64", + "os": "windows", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": ["4.7.2-20180905-nanoserver-1803"], + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + }, { + "digest": "sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52", + "createdTime": "2018-09-07T16:30:46.5651701Z", + "lastUpdateTime": "2018-09-07T16:30:46.5651701Z", + "architecture": "amd64", + "os": "windows", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": ["4.7.2-20180906-nanoserver-1803"], + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + }] + } + + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrRepositoryAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrRepositoryAttributes.json new file mode 100644 index 000000000000..ac60f5a8805b --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrRepositoryAttributes.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "name": "nanoserver" + }, + "responses": { + "200": { + "body": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "createdTime": "2018-09-06T06:17:20.9531248Z", + "lastUpdateTime": "2018-09-07T16:30:46.6583219Z", + "manifestCount": 2, + "tagCount": 2, + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrTagAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrTagAttributes.json new file mode 100644 index 000000000000..5ece3fb81463 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrTagAttributes.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "name": "test/bash", + "reference": "tagName" + }, + "responses": { + "200": { + "registry": "acrapi.azurecr-test.io", + "imageName": "test/bash", + "tag": { + "name": "tagName", + "digest": "sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e70d407405b7ad7b6", + "createdTime": "2018-10-05T20:54:24.1286047Z", + "lastUpdateTime": "2018-10-05T20:54:24.1286047Z", + "signed": false, + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": false, + "readEnabled": true, + "listEnabled": true + } + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrTags.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrTags.json new file mode 100644 index 000000000000..39199cc68d4e --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetAcrTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "name": "nanoserver" + }, + "responses": { + "200": { + "body": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "tags": [{ + "name": "4.7.2-20180905-nanoserver-1803", + "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "createdTime": "2018-09-06T06:17:21.0856539Z", + "lastUpdateTime": "2018-09-06T06:17:21.0856539Z", + "signed": false, + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + }, { + "name": "4.7.2-20180906-nanoserver-1803", + "digest": "sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52", + "createdTime": "2018-09-06T16:30:43.3860166Z", + "lastUpdateTime": "2018-09-07T16:30:46.7022734Z", + "signed": false, + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + }] + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetDockerRegistryV2Support.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetDockerRegistryV2Support.json new file mode 100644 index 000000000000..eb639a1b8c68 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetDockerRegistryV2Support.json @@ -0,0 +1,6 @@ +{ + "parameters": {}, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetManifest.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetManifest.json new file mode 100644 index 000000000000..0a75c9db1eda --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetManifest.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "name": "nanoserver", + "reference": "4.7.2-20180905-nanoserver-1803" + }, + "responses": { + "200": { + "body": { + "schemaVersion": 1, + "name": "nanoserver", + "tag": "4.7.2-20180905-nanoserver-1803", + "architecture": "amd64", + "fsLayers": [{ + "blobSum": "sha256:b9bd2388a23447de788a154093dd9b89a822725492b7bfafab9015ce93b871e0" + }, + { + "blobSum": "sha256:c1f8a6fa5e3d3117531e76b205d7370057628908490cf961c71b92f915fa6254" + }, + { + "blobSum": "sha256:1f7d468f830cb0ed4beb8edc9438f18096e8c682e56a35242f60e6c61b718b30" + }, + { + "blobSum": "sha256:e46172273a4e4384e1eec7fb01091c828a256ea0f87b30f61381fba9bc511371" + } + ], + "history": [{ + "v1Compatibility": "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"\",\"Domainname\":\"\",\"User\":\"ContainerUser\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"cmd\",\"/C\",\"type C:\\\\hello.txt\"],\"ArgsEscaped\":true,\"Image\":\"sha256:efe84b3d2d41c56b455412b710c700ccd28ca370d6804522a733ba6bcdae8e00\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"container\":\"0a87ffdd343b17ed11efbbd7607330e6c2119579cf9d3a90611f44a26761ab82\",\"container_config\":{\"Hostname\":\"0a87ffdd343b\",\"Domainname\":\"\",\"User\":\"ContainerUser\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":null,\"Cmd\":[\"cmd\",\"/S\",\"/C\",\"#(nop) \",\"CMD [\\\"cmd\\\" \\\"/C\\\" \\\"type C:\\\\\\\\hello.txt\\\"]\"],\"ArgsEscaped\":true,\"Image\":\"sha256:efe84b3d2d41c56b455412b710c700ccd28ca370d6804522a733ba6bcdae8e00\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"created\":\"2018-09-06T05:19:24.0396273Z\",\"docker_version\":\"18.03.1-ee-2\",\"id\":\"ab4de54a8b50f761f99f27212594a5bcf6d7d2a82b0a056b8376cab244ecdf65\",\"os\":\"windows\",\"os.version\":\"10.0.17134.228\",\"parent\":\"446a68d4429c55d85a52160454e3437fe5aea4e51f9010623d010b5f14c1c8f6\"}" + }, + { + "v1Compatibility": "{\"id\":\"446a68d4429c55d85a52160454e3437fe5aea4e51f9010623d010b5f14c1c8f6\",\"parent\":\"70a9fdb67496aa42b7fc7162133e635f8c66bd0bcfdab80d7dcd4c2342e57e20\",\"created\":\"2018-09-06T05:19:22.749573Z\",\"container_config\":{\"Cmd\":[\"cmd /S /C #(nop) COPY file:c6a48931fdbc0a16819a7896580105073d7c78961ee467d2512d8a5d68e011de in C: \"]}}" + }, + { + "v1Compatibility": "{\"id\":\"70a9fdb67496aa42b7fc7162133e635f8c66bd0bcfdab80d7dcd4c2342e57e20\",\"parent\":\"c25e10f4a7396863709cbbb107c1ee148fee59b8b20994a42817d4cc6c6981bd\",\"created\":\"2018-08-06T18:09:11.4272822Z\",\"container_config\":{\"Cmd\":[\"Install update 10.0.17134.228\"]}}" + }, + { + "v1Compatibility": "{\"id\":\"c25e10f4a7396863709cbbb107c1ee148fee59b8b20994a42817d4cc6c6981bd\",\"created\":\"2018-04-11T22:12:30.263Z\",\"container_config\":{\"Cmd\":[\"Apply image 10.0.17134.1\"]}}" + } + ], + "signatures": [{ + "header": { + "jwk": { + "crv": "P-256", + "kid": "WGXM:EYWQ:DA53:LQUP:BCWG:5RDG:S3ZM:ETH7:VMQS:WWKZ:EWDG:V74Q", + "kty": "EC", + "x": "OxZ9k5BVjPZ7jb3BmBD4X0d8MVPJqfF4NeSe8reoqnY", + "y": "EaCqTe4-vYwhk7qU6Bs2-AeLGOVtCe_-IY2MdE0Vfyc" + }, + "alg": "ES256" + }, + "signature": "p73LfotMGD8nNXz2g9YX2XtSllb4GI5-b3vjqP5N0nkv8QXg-r5z_omGiVbOZE2BYG1X_4TIN23l1KSEqsXxOg", + "protected": "eyJmb3JtYXRMZW5ndGgiOjI5ODYsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxOC0wOS0yMFQyMzo0MTo1MloifQ" + }] + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetRepositories.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetRepositories.json new file mode 100644 index 000000000000..97d76d07301e --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetRepositories.json @@ -0,0 +1,10 @@ +{ + "parameters": {}, + "responses": { + "200": { + "body": { + "repositories": ["production/apline", "testing/apline"] + } + } + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetTagList.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetTagList.json new file mode 100644 index 000000000000..27e0d3e2c005 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/GetTagList.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "name": "nanoserver" + }, + "responses": { + "200": { + "body": { + "name": "nanoserver", + "tags": ["4.7.2-20180905-nanoserver-1803", "4.7.2-20180906-nanoserver-1803"] + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrManifestAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrManifestAttributes.json new file mode 100644 index 000000000000..12fe6391f4f1 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrManifestAttributes.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "name": "nanoserver", + "reference": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "value": "{\"writeEnabled\": false}" + }, + "responses": { + "204": {}, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrRepository.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrRepository.json new file mode 100644 index 000000000000..8da0d0fabebd --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrRepository.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "name": "nanoserver", + "writeEnabled": false + }, + "responses": { + "204": {}, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrTagAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrTagAttributes.json new file mode 100644 index 000000000000..8310fb936a99 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/examples/UpdateAcrTagAttributes.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "name": "nanoserver", + "reference": "4.7.2-20180905-nanoserver-1803", + "value": "{\"writeEnabled\": false}" + }, + "responses": { + "204": {}, + "404": {} + } +} \ No newline at end of file diff --git a/specification/containerregistry/data-plane/readme.md b/specification/containerregistry/data-plane/readme.md new file mode 100644 index 000000000000..8757508a0a44 --- /dev/null +++ b/specification/containerregistry/data-plane/readme.md @@ -0,0 +1,68 @@ +# ContainerRegistry + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for ContainerRegistry. + + + +--- +## Getting Started +To build the SDK for ContainerRegistry, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + +#### Basic Information +These are the global settings for the ContainerRegistry API. + +``` yaml +# common +openapi-type: data-plane +tag: package-2018-08 +``` + +### Tag: package-2018-08 + +These settings apply only when `--tag=package-2018-08` is specified on the command line. + +``` yaml $(tag) == 'package-2018-08' +input-file: +- Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json +``` + +--- +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net +``` + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.ContainerRegistry + sync-methods: None + output-folder: $(csharp-sdks-folder)/ContainerRegistry/dataPlane/Microsoft.Azure.ContainerRegistry/Generated + clear-output-folder: true + add-credentials: true +``` \ No newline at end of file