From f2e15c3852b353baadbbd23278a858184e5e662c Mon Sep 17 00:00:00 2001 From: Esteban Rey Date: Mon, 15 Jul 2019 13:41:01 -0700 Subject: [PATCH 1/6] Began organizing and preparing for release --- .../preview/2019-07-15/containerregistry.json | 1863 +++++++++++++++++ .../2019-07-15/examples/CreateManifest.json | 18 + .../examples/DeleteAcrRepository.json | 18 + .../2019-07-15/examples/DeleteAcrTag.json | 10 + .../2019-07-15/examples/DeleteManifest.json | 10 + .../2019-07-15/examples/GetAccessToken.json | 14 + .../examples/GetAcrManifestAttributes.json | 34 + .../2019-07-15/examples/GetAcrManifests.json | 54 + .../examples/GetAcrRepositoryAttributes.json | 24 + .../examples/GetAcrTagAttributes.json | 28 + .../2019-07-15/examples/GetAcrTags.json | 42 + .../examples/GetDockerRegistryV2Support.json | 8 + .../2019-07-15/examples/GetManifest.json | 48 + .../2019-07-15/examples/GetRepositories.json | 15 + .../2019-07-15/examples/GetTagList.json | 17 + .../2019-07-15/examples/PostAccessToken.json | 16 + .../2019-07-15/examples/PostRefreshToken.json | 16 + .../examples/UpdateAcrManifestAttributes.json | 11 + .../examples/UpdateAcrRepository.json | 12 + .../examples/UpdateAcrTagAttributes.json | 11 + .../containerregistry/data-plane/readme.md | 11 +- 21 files changed, 2279 insertions(+), 1 deletion(-) create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/CreateManifest.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrRepository.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrTag.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteManifest.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAccessToken.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifestAttributes.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifests.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrRepositoryAttributes.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTagAttributes.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTags.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetDockerRegistryV2Support.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetManifest.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetRepositories.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetTagList.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostAccessToken.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostRefreshToken.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrManifestAttributes.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrRepository.json create mode 100644 specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrTagAttributes.json diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json new file mode 100644 index 000000000000..c93ff37161a9 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json @@ -0,0 +1,1863 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Container Registry", + "description": "Metadata API definition for the Azure Container Registry runtime", + "version": "2018-08-10-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "securityDefinitions": { + "registry_auth": { + "type": "basic" + }, + "registry_oauth2": { + "type": "apiKey", + "in": "header", + "name": "Authorization" + } + }, + "security": [ + { + "registry_auth": [], + "registry_oauth2": [] + } + ], + "tags": [ + { + "name": "v2", + "description": "Root API" + }, + { + "name": "Manifest", + "description": "Everything about manifests" + }, + { + "name": "Tag", + "description": "Everything about tags" + }, + { + "name": "Layer", + "description": "Everything about layers" + }, + { + "name": "Repository", + "description": "Everything 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" + ], + "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": [ + { + "$ref": "#/parameters/ImageName" + } + ], + "responses": { + "200": { + "description": "Gives a list of tags for the names repository.", + "headers": { + "Link": { + "description": "next paginated result", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/RepositoryTags" + } + }, + "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": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ImageReference" + }, + { + "name": "accept", + "in": "header", + "description": "Accept header string delimited by comma. For example, application/vnd.docker.distribution.manifest.v2+json", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Returns the requested manifest file", + "schema": { + "$ref": "#/definitions/Manifest" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "put": { + "tags": [ + "Manifest" + ], + "x-ms-long-running-operation": false, + "description": "Put the manifest identified by `name` and `reference` where `reference` can be a tag or digest.", + "x-ms-examples": { + "Put manifest": { + "$ref": "./examples/CreateManifest.json" + } + }, + "consumes": [ + "application/vnd.docker.distribution.manifest.v2+json" + ], + "operationId": "CreateManifest", + "parameters": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ImageReference" + }, + { + "$ref": "#/parameters/ManifestBody" + } + ], + "responses": { + "201": { + "description": "The manifest is updated", + "schema": {}, + "headers": { + "Docker-Content-Digest": { + "type": "string", + "description": "Identifies the docker upload uuid for the current request." + }, + "Location": { + "type": "string", + "description": "The canonical location url of the uploaded manifest." + }, + "Content-Length": { + "type": "integer", + "description": "The canonical location url of the uploaded manifest." + } + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "delete": { + "tags": [ + "Manifest" + ], + "description": "Delete the manifest identified by `name` and `reference`. Note that a manifest can _only_ be deleted by `digest`.", + "x-ms-examples": { + "Delete manifest": { + "$ref": "./examples/DeleteManifest.json" + } + }, + "operationId": "DeleteManifest", + "parameters": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ImageReference" + } + ], + "responses": { + "202": { + "description": "The manifest has been deleted" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/v2/_catalog": { + "get": { + "tags": [ + "Repository" + ], + "description": "List repositories", + "operationId": "GetRepositories", + "x-ms-examples": { + "Get repositories in a registry": { + "$ref": "./examples/GetRepositories.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/QueryLast" + }, + { + "$ref": "#/parameters/QueryNum" + } + ], + "responses": { + "200": { + "description": "Returns a list of repositories", + "headers": { + "Link": { + "description": "next paginated result", + "type": "string" + } + }, + "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 repositories", + "operationId": "GetAcrRepositories", + "x-ms-examples": { + "Get repositories in a registry": { + "$ref": "./examples/GetRepositories.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/QueryLast" + }, + { + "$ref": "#/parameters/QueryNum" + } + ], + "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 repository attributes", + "operationId": "GetAcrRepositoryAttributes", + "x-ms-examples": { + "Get details of repository": { + "$ref": "./examples/GetAcrRepositoryAttributes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ImageName" + } + ], + "responses": { + "200": { + "description": "Returns a list of attributes", + "schema": { + "$ref": "#/definitions/RepositoryAttributes" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "delete": { + "tags": [ + "AcrRepository" + ], + "description": "Delete the repository identified by `name`", + "operationId": "DeleteAcrRepository", + "x-ms-examples": { + "Delete a repository": { + "$ref": "./examples/DeleteAcrRepository.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ImageName" + } + ], + "responses": { + "202": { + "description": "The repository is deleted", + "schema": { + "$ref": "#/definitions/DeletedRepository" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + }, + "patch": { + "tags": [ + "AcrRepository", + "AcrMetadata" + ], + "description": "Update the attribute identified by `name` where `reference` is the name of the repository.", + "operationId": "UpdateAcrRepositoryAttributes", + "x-ms-examples": { + "Update repository attributes": { + "$ref": "./examples/UpdateAcrRepository.json" + } + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "name": "value", + "in": "body", + "description": "Repository attribute value", + "required": false, + "schema": { + "$ref": "#/definitions/ChangeableAttributes" + } + } + ], + "responses": { + "200": { + "description": "The attributes is updated" + }, + "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": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/QueryLast" + }, + { + "$ref": "#/parameters/QueryNum" + }, + { + "$ref": "#/parameters/QueryOrderBy" + }, + { + "$ref": "#/parameters/QueryDigest" + } + ], + "responses": { + "200": { + "description": "Tag details of a repository", + "schema": { + "$ref": "#/definitions/AcrRepositoryTags" + } + }, + "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 tag attributes by tag", + "operationId": "GetAcrTagAttributes", + "x-ms-examples": { + "Get tag attributes": { + "$ref": "./examples/GetAcrTagAttributes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ManifestReference" + } + ], + "responses": { + "200": { + "description": "Tag attributes", + "schema": { + "$ref": "#/definitions/AcrTagAttributes" + } + }, + "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": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ManifestReference" + }, + { + "$ref": "#/parameters/RepoValue" + } + ], + "responses": { + "200": { + "description": "The attributes are updated" + }, + "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": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ManifestReference" + } + ], + "responses": { + "202": { + "description": "The tag is deleted" + }, + "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": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/QueryLast" + }, + { + "$ref": "#/parameters/QueryNum" + }, + { + "$ref": "#/parameters/QueryOrderBy" + } + ], + "responses": { + "200": { + "description": "Returns a list of manifests", + "schema": { + "$ref": "#/definitions/AcrManifests" + } + }, + "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": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ImageReference" + } + ], + "responses": { + "200": { + "description": "List of attributes", + "schema": { + "$ref": "#/definitions/AcrManifestAttributes" + } + }, + "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": [ + { + "$ref": "#/parameters/ImageName" + }, + { + "$ref": "#/parameters/ImageReference" + }, + { + "$ref": "#/parameters/RepoValue" + } + ], + "responses": { + "200": { + "description": "The attributes are updated" + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + } + } + }, + "/oauth2/exchange": { + "post": { + "tags": [ + "AcrToken", + "RefreshToken" + ], + "description": "Exchange AAD tokens for an ACR refresh Token", + "operationId": "GetAcrRefreshTokenFromExchange", + "consumes": [ + "application/x-www-form-urlencoded" + ], + "parameters": [ + { + "$ref": "#/parameters/Grant_type" + }, + { + "$ref": "#/parameters/Service" + }, + { + "$ref": "#/parameters/Tenant" + }, + { + "$ref": "#/parameters/RefreshToken" + }, + { + "$ref": "#/parameters/AccessToken" + } + ], + "responses": { + "200": { + "description": "Refresh token acquired", + "schema": { + "$ref": "#/definitions/RefreshToken" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + }, + "security": [], + "x-ms-examples": { + "Exchange AAD Token for ACR Refresh": { + "$ref": "./examples/PostRefreshToken.json" + } + } + } + }, + "/oauth2/token": { + "post": { + "tags": [ + "AcrToken", + "AccessToken" + ], + "description": "Exchange ACR Refresh token for an ACR Access Token", + "operationId": "GetAcrAccessToken", + "consumes": [ + "application/x-www-form-urlencoded" + ], + "parameters": [ + { + "name": "grant_type", + "in": "formData", + "description": "Grant type is expected to be refresh_token", + "required": true, + "type": "string", + "enum": [ + "refresh_token" + ] + }, + { + "$ref": "#/parameters/Service" + }, + { + "name": "scope", + "in": "formData", + "required": true, + "description": "Which is expected to be a valid scope, and can be specified more than once for multiple scope requests. You obtained this from the Www-Authenticate response header from the challenge.", + "type": "string" + }, + { + "name": "refresh_token", + "in": "formData", + "required": true, + "description": "Must be a valid ACR refresh token", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Access token acquired", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + }, + "security": [], + "x-ms-examples": { + "Get Access Token with Refresh Token": { + "$ref": "./examples/PostAccessToken.json" + } + } + }, + "get": { + "tags": [ + "AcrToken", + "AccessToken", + "userLogin" + ], + "description": "Exchange Username, Password and Scope an ACR Access Token", + "operationId": "GetAcrAccessTokenFromLogin", + "parameters": [ + { + "name": "service", + "in": "query", + "required": true, + "description": "Indicates the name of your Azure container registry.", + "type": "string" + }, + { + "name": "scope", + "in": "query", + "required": true, + "description": "Expected to be a valid scope, and can be specified more than once for multiple scope requests. You can obtain this from the Www-Authenticate response header from the challenge.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Access token acquired", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "default": { + "description": "ACR error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AcrErrors" + } + } + }, + "security": [ + { + "registry_auth": [] + } + ], + "x-ms-examples": { + "Get Access Token with username and password": { + "$ref": "./examples/GetAccessToken.json" + } + } + } + } + }, + "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": "integer", + "description": "Number of the manifests" + }, + "tagCount": { + "type": "integer", + "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, + "lastUpdateTime": "lastUpdateTime" + }, + { + "changeableAttributes": { + "readEnabled": true, + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "name": "name", + "digest": "digest", + "createdTime": "createdTime", + "signed": true, + "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, + "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": { + "x-ms-client-name": "ManifestsAttributes", + "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", + "imageSize": 2401606, + "createdTime": "createdTime", + "mediaType": "mediaType", + "configMediaType": "configMediaType", + "lastUpdateTime": "lastUpdateTime", + "architecture": "architecture", + "tags": [ + "tags", + "tags" + ] + }, + { + "changeableAttributes": { + "quarantineDetails": "quarantineDetails", + "readEnabled": true, + "quarantineState": "quarantineState", + "listEnabled": true, + "deleteEnabled": true, + "writeEnabled": true + }, + "os": "os", + "digest": "digest", + "imageSize": 2401606, + "createdTime": "createdTime", + "mediaType": "mediaType", + "configMediaType": "configMediaType", + "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": { + "x-ms-client-name": "ManifestAttributes", + "description": "Manifest attributes", + "$ref": "#/definitions/AcrManifestAttributesBase" + } + }, + "example": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "manifest": { + "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "imageSize": 2401606, + "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", + "configMediaType": "application/vnd.docker.container.image.v1+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" + }, + "imageSize": { + "type": "integer", + "description": "Image size" + }, + "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" + }, + "configMediaType": { + "type": "string", + "description": "Config blob 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", + "imageSize": 2401606, + "createdTime": "createdTime", + "mediaType": "mediaType", + "configMediaType": "configMediaType", + "lastUpdateTime": "lastUpdateTime", + "architecture": "architecture", + "tags": [ + "tags", + "tags" + ] + } + }, + "RefreshToken": { + "type": "object", + "properties": { + "refresh_token": { + "description": "The refresh token to be used for generating access tokens", + "type": "string" + } + } + }, + "AccessToken": { + "type": "object", + "properties": { + "access_token": { + "description": "The access token for performing authenticated requests", + "type": "string" + } + } + }, + "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": "integer", + "description": "Schema version" + }, + "mediaType": { + "type": "string", + "description": "Media type usually application/vnd.docker.distribution.manifest.v2+json if this is in the accept header" + }, + "config": { + "description": "V2 image config descriptor", + "$ref": "#/definitions/V2Descriptor" + }, + "layers": { + "type": "array", + "description": "List of V2 image layer information", + "items": { + "$ref": "#/definitions/V2Descriptor" + } + }, + "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/FsLayer" + } + }, + "history": { + "type": "array", + "description": "Image history", + "items": { + "$ref": "#/definitions/History" + } + }, + "signatures": { + "type": "array", + "description": "Image signature", + "items": { + "$ref": "#/definitions/ImageSignature" + } + } + }, + "example": { + "schemaVersion": 2, + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "config": { + "mediaType": "application/vnd.docker.container.image.v1+json", + "size": 1512, + "digest": "sha256:6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f" + }, + "layers": [ + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "size": 2107098, + "digest": "sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6" + } + ] + } + }, + "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", + "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" + } + } + }, + "History": { + "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/alpine", + "testing/alpine" + ] + } + }, + "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": "object", + "description": "Error details" + } + } + }, + "FsLayer": { + "description": "Image layer information", + "properties": { + "blobSum": { + "type": "string", + "description": "SHA of an image layer" + } + }, + "example": { + "blobSum": "sha256:1f7d468f830cb0ed4beb8edc9438f18096e8c682e56a35242f60e6c61b718b30" + } + }, + "V2Descriptor": { + "description": "Docker V2 image layer descriptor including config and layers", + "properties": { + "mediaType": { + "type": "string", + "description": "Layer media type" + }, + "size": { + "type": "integer", + "description": "Layer size" + }, + "digest": { + "type": "string", + "description": "Layer digest" + } + }, + "example": { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "size": 2107098, + "digest": "sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6" + } + }, + "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": { + "Url": { + "name": "url", + "x-ms-client-name": "loginUri", + "description": "Registry login URL", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "ImageReference": { + "name": "reference", + "in": "path", + "description": "A tag or a digest, pointing to a specific image", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManifestReference": { + "name": "reference", + "in": "path", + "description": "Tag or digest of the target manifest", + "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" + }, + "RepoValue": { + "name": "value", + "in": "body", + "description": "Repository attribute value", + "required": false, + "schema": { + "$ref": "#/definitions/ChangeableAttributes" + }, + "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": "integer", + "x-ms-parameter-location": "method" + }, + "QueryLast": { + "name": "last", + "in": "query", + "description": "Query parameter for the last item in previous query. Result set will include values lexically after last.", + "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" + }, + "Grant_type": { + "name": "grant_type", + "description": "Can take a value of access_token_refresh_token, or access_token, or refresh_token", + "type": "string", + "in": "formData", + "required": true, + "enum": [ + "access_token_refresh_token", + "access_token", + "refresh_token" + ], + "x-ms-parameter-location": "method" + }, + "Service": { + "name": "service", + "in": "formData", + "required": true, + "description": "Indicates the name of your Azure container registry.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "Tenant": { + "name": "tenant", + "in": "formData", + "required": false, + "description": "AAD tenant associated to the AAD credentials.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "Scope": { + "name": "scope", + "in": "formData", + "required": true, + "description": "Which is expected to be a valid scope, and can be specified more than once for multiple scope requests. You can obtain this from the Www-Authenticate response header from the challenge.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "RefreshToken": { + "name": "refresh_token", + "in": "formData", + "required": false, + "description": "AAD refresh token, mandatory when grant_type is access_token_refresh_token or refresh_token", + "type": "string", + "x-ms-parameter-location": "method" + }, + "AccessToken": { + "name": "access_token", + "in": "formData", + "required": false, + "description": "AAD access token, mandatory when grant_type is access_token_refresh_token or access_token.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "ImageName": { + "name": "name", + "in": "path", + "description": "Name of the image (including the namespace)", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManifestBody": { + "description": "Manifest body, can take v1 or v2 values depending on accept header", + "name": "payload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Manifest" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/CreateManifest.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/CreateManifest.json new file mode 100644 index 000000000000..9009925c6027 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/CreateManifest.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "hello-world", + "reference": "a20190628-081044z", + "payload": "{\"schemaVersion\":2,\"mediaType\":\"application/vnd.docker.distribution.manifest.v2+json\",\"config\":{\"mediaType\":\"application/vnd.docker.container.image.v1+json\",\"size\":1512,\"digest\":\"sha256:6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f\"},\"layers\":[{\"mediaType\":\"application/vnd.docker.image.rootfs.diff.tar.gzip\",\"size\":2107098,\"digest\":\"sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6\"}]}" + }, + "responses": { + "201": { + "headers": { + "Docker-Content-Digest": "sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8", + "Location": "/v2/hello-world/manifests/sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8", + "Content-Length": 0 + }, + "body": {} + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrRepository.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrRepository.json new file mode 100644 index 000000000000..8449e47855ec --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrRepository.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver" + }, + "responses": { + "202": { + "body": { + "manifestsDeleted": [ + "sha256:e31831d63f77a0a6d74ef5b16df619a50808dac842190d07ae24e8b520d159fa" + ], + "tagsDeleted": [ + "4.7.2-20180814-windowsservercore-1709" + ] + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrTag.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrTag.json new file mode 100644 index 000000000000..fec441eeaf12 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteAcrTag.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver", + "reference": "4.7.2-20180905-nanoserver-1803" + }, + "responses": { + "202": {} + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteManifest.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteManifest.json new file mode 100644 index 000000000000..50afe0bd523e --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/DeleteManifest.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "alpine", + "reference": "3.7" + }, + "responses": { + "202": {} + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAccessToken.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAccessToken.json new file mode 100644 index 000000000000..416fd08ca49b --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAccessToken.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "service": "someregistry.azurecr.io", + "scope": "registry:catalog:*" + }, + "responses": { + "200": { + "body": { + "access_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..." + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifestAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifestAttributes.json new file mode 100644 index 000000000000..a8163814b8c1 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifestAttributes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver", + "reference": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086" + }, + "responses": { + "200": { + "body": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "manifest": { + "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "imageSize": 2401606, + "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", + "configMediaType": "application/vnd.docker.container.image.v1+json", + "tags": [ + "4.7.2-20180905-nanoserver-1803" + ], + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + } + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifests.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifests.json new file mode 100644 index 000000000000..08eaec214eca --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrManifests.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver" + }, + "responses": { + "200": { + "body": { + "registry": "acrapi.azurecr-test.io", + "imageName": "nanoserver", + "manifests": [ + { + "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "imageSize": 2401606, + "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", + "configMediaType": "application/vnd.docker.container.image.v1+json", + "tags": [ + "4.7.2-20180905-nanoserver-1803" + ], + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + }, + { + "digest": "sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52", + "imageSize": 4135121, + "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", + "configMediaType": "application/vnd.docker.container.image.v1+json", + "tags": [ + "4.7.2-20180906-nanoserver-1803" + ], + "changeableAttributes": { + "deleteEnabled": true, + "writeEnabled": true, + "readEnabled": true, + "listEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrRepositoryAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrRepositoryAttributes.json new file mode 100644 index 000000000000..c6791683bfd2 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrRepositoryAttributes.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "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 + } + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTagAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTagAttributes.json new file mode 100644 index 000000000000..ed58c44d6f71 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTagAttributes.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "test/bash", + "reference": "sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e7afas407405b7ad7b6" + }, + "responses": { + "200": { + "body": { + "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 + } + } + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTags.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTags.json new file mode 100644 index 000000000000..e5342cd2295f --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetAcrTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "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 + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetDockerRegistryV2Support.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetDockerRegistryV2Support.json new file mode 100644 index 000000000000..181e2eec438e --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetDockerRegistryV2Support.json @@ -0,0 +1,8 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io" + }, + "responses": { + "200": {} + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetManifest.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetManifest.json new file mode 100644 index 000000000000..2768e76d6a0d --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetManifest.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "hello-world-dangling", + "reference": "20190628-033033z", + "accept": "application/vnd.docker.distribution.manifest.v2+json" + }, + "responses": { + "200": { + "body": { + "schemaVersion": 2, + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "config": { + "mediaType": "application/vnd.docker.container.image.v1+json", + "size": 5824, + "digest": "sha256:691fbc2d44fff48357bba69ab0505b9bf12b2b250a925a84a0b8e8e7eed390b2" + }, + "layers": [ + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "size": 2014658, + "digest": "sha256:a073c86ecf9e0f29180e80e9638d4c741970695851ea48247276c32c57e40282" + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "size": 19778035, + "digest": "sha256:0e28711eb56d78f1e3dfde1807eba529d1346222bcd07d1cb1e436a18a0388bd" + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "size": 1074044, + "digest": "sha256:e460dd483fddb555911f7ed188c319fd97542c60e36843dcb1c5d753f733e1fa" + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "size": 5827, + "digest": "sha256:6aa301222093bfb8cf424ccb387f59e2c9510c3a30cca7fbcf8c954f88e6600c" + }, + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "size": 568, + "digest": "sha256:9c5d80083a57d565f684e0155707204d497a5ad965279f92927452f15dae17e6" + } + ] + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetRepositories.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetRepositories.json new file mode 100644 index 000000000000..4b6864e0ea95 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetRepositories.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io" + }, + "responses": { + "200": { + "body": { + "repositories": [ + "production/alpine", + "testing/alpine" + ] + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetTagList.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetTagList.json new file mode 100644 index 000000000000..c1e81b2f664e --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/GetTagList.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver" + }, + "responses": { + "200": { + "body": { + "name": "nanoserver", + "tags": [ + "4.7.2-20180905-nanoserver-1803", + "4.7.2-20180906-nanoserver-1803" + ] + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostAccessToken.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostAccessToken.json new file mode 100644 index 000000000000..a4e6293133b5 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostAccessToken.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "grant_type": "refresh_token", + "service": "someregistry.azurecr.io", + "scope": "registry:catalog:*", + "refresh_token": "eyJ0eXAiOiJKJhbGci1dCI6IkN0ZlFDOExlLTMejlnIiwidGlkIjoiNzJmOTgWItMmQ3Y2QwMTFkYjQ3Ii..." + }, + "responses": { + "200": { + "body": { + "access_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..." + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostRefreshToken.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostRefreshToken.json new file mode 100644 index 000000000000..768ca1680ba1 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/PostRefreshToken.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "grant_type": "access_token", + "url": "acrapi.azurecr-test.io", + "service": "someregistry.azurecr.io", + "tenant": "02f900bf-86f1-31af-p1ab-2b7cd0nndb47", + "accessToken": "eyJ0eXAiOiJKJhbGci1dCI6IkN0ZlFDOExlLTMejlnIiwidGlkIjoiNzJmOTgWItMmQ3Y2QwMTFkYjQ3Ii..." + }, + "responses": { + "200": { + "body": { + "refresh_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..." + } + } + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrManifestAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrManifestAttributes.json new file mode 100644 index 000000000000..4c25514ab2f2 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrManifestAttributes.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver", + "reference": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086", + "value": "{\"writeEnabled\": false}" + }, + "responses": { + "200": {} + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrRepository.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrRepository.json new file mode 100644 index 000000000000..14a61f118d0f --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrRepository.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver", + "value": { + "writeEnabled": false + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrTagAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrTagAttributes.json new file mode 100644 index 000000000000..16e13e3c4ec2 --- /dev/null +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/examples/UpdateAcrTagAttributes.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "url": "acrapi.azurecr-test.io", + "name": "nanoserver", + "reference": "4.7.2-20180905-nanoserver-1803", + "value": "{\"writeEnabled\": false}" + }, + "responses": { + "200": {} + } +} diff --git a/specification/containerregistry/data-plane/readme.md b/specification/containerregistry/data-plane/readme.md index 7a48a2056db5..2fcdec40c4e6 100644 --- a/specification/containerregistry/data-plane/readme.md +++ b/specification/containerregistry/data-plane/readme.md @@ -26,7 +26,16 @@ These are the global settings for the ContainerRegistry API. ``` yaml # common openapi-type: data-plane -tag: package-2018-08 +tag: package-2019-07 +``` + +### Tag: package-2019-07 + +These settings apply only when `--tag=package-2019-07` is specified on the command line. + +``` yaml $(tag) == 'package-2018-08' +input-file: +- Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json ``` ### Tag: package-2018-08 From 0e7b55fc2cc9a28cec29586d964278d865fecfd5 Mon Sep 17 00:00:00 2001 From: Esteban Rey Date: Mon, 15 Jul 2019 13:52:07 -0700 Subject: [PATCH 2/6] Added Necessary supression --- .../containerregistry/data-plane/readme.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/specification/containerregistry/data-plane/readme.md b/specification/containerregistry/data-plane/readme.md index 2fcdec40c4e6..5694fc5152be 100644 --- a/specification/containerregistry/data-plane/readme.md +++ b/specification/containerregistry/data-plane/readme.md @@ -74,4 +74,22 @@ csharp: output-folder: $(csharp-sdks-folder)/ContainerRegistry/Microsoft.Azure.ContainerRegistry/src/Generated clear-output-folder: true add-credentials: true +``` + +## Suppression + +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + from: containerregistry.json + where: $.definitions.AccessToken.properties.access_token + reason: Property name is used in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/registry/spec/auth/oauth/ + - suppress: DefinitionsPropertiesNamesCamelCase + from: containerregistry.json + where: $.definitions.RefreshToken.properties.refresh_token + reason: Property name is used in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/registry/spec/auth/oauth/ + - suppress: LROStatusCodesReturnTypeSchema + reason: No content is returned by put Manifest in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/registry/spec/api/#put-manifest + from: containerregistry.json + where: $.paths["/v2/{name}/manifests/{reference}"].put.responses["201"] ``` \ No newline at end of file From 4b79dfb3f4331e1ae3e4035111e8d4a1c7c70c72 Mon Sep 17 00:00:00 2001 From: Esteban Rey Date: Mon, 15 Jul 2019 14:22:41 -0700 Subject: [PATCH 3/6] Small bugfix --- specification/containerregistry/data-plane/readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/containerregistry/data-plane/readme.md b/specification/containerregistry/data-plane/readme.md index 5694fc5152be..f72dda96b8f5 100644 --- a/specification/containerregistry/data-plane/readme.md +++ b/specification/containerregistry/data-plane/readme.md @@ -33,11 +33,12 @@ tag: package-2019-07 These settings apply only when `--tag=package-2019-07` is specified on the command line. -``` yaml $(tag) == 'package-2018-08' +``` yaml $(tag) == 'package-2019-07' input-file: - Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json ``` + ### Tag: package-2018-08 These settings apply only when `--tag=package-2018-08` is specified on the command line. From bda9bbba716248460ef975de6d17b2a08eaf6e16 Mon Sep 17 00:00:00 2001 From: Esteban Rey Date: Tue, 16 Jul 2019 11:05:15 -0700 Subject: [PATCH 4/6] Update version in new swagger file --- .../preview/2019-07-15/containerregistry.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json index c93ff37161a9..eaa2fbb79191 100644 --- a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json +++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json @@ -3,7 +3,7 @@ "info": { "title": "Azure Container Registry", "description": "Metadata API definition for the Azure Container Registry runtime", - "version": "2018-08-10-preview" + "version": "2019-07-15-preview" }, "x-ms-parameterized-host": { "hostTemplate": "{url}", From fe9d6aa179ce23b4ab3a93dce20d062aa477bb4d Mon Sep 17 00:00:00 2001 From: Esteban Rey Date: Mon, 22 Jul 2019 15:53:13 -0700 Subject: [PATCH 5/6] Added Go Support --- .../containerregistry/data-plane/readme.go.md | 27 +++++++++++++++++++ .../containerregistry/data-plane/readme.md | 17 +++++++----- 2 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 specification/containerregistry/data-plane/readme.go.md diff --git a/specification/containerregistry/data-plane/readme.go.md b/specification/containerregistry/data-plane/readme.go.md new file mode 100644 index 000000000000..e2a2984d687e --- /dev/null +++ b/specification/containerregistry/data-plane/readme.go.md @@ -0,0 +1,27 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: containerregistry + clear-output-folder: true + add-credentials: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2019-07 +``` + +### Tag: package-2019-07 and go + +These settings apply only when `--tag=package-2019-07 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-07' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/runtime/2019-07/$(namespace) +``` diff --git a/specification/containerregistry/data-plane/readme.md b/specification/containerregistry/data-plane/readme.md index f72dda96b8f5..1008d397f431 100644 --- a/specification/containerregistry/data-plane/readme.md +++ b/specification/containerregistry/data-plane/readme.md @@ -1,13 +1,13 @@ # ContainerRegistry - + > see https://aka.ms/autorest This is the AutoRest configuration file for ContainerRegistry. +--- +## Getting Started ---- -## Getting Started To build the SDK for ContainerRegistry, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -19,12 +19,12 @@ To see additional help and options, run: ## Configuration +### Basic Information -#### Basic Information These are the global settings for the ContainerRegistry API. ``` yaml -# common +# common openapi-type: data-plane tag: package-2019-07 ``` @@ -38,7 +38,6 @@ input-file: - Microsoft.ContainerRegistry/preview/2019-07-15/containerregistry.json ``` - ### Tag: package-2018-08 These settings apply only when `--tag=package-2018-08` is specified on the command line. @@ -49,7 +48,6 @@ input-file: ``` --- -# Code Generation ## Swagger to SDK @@ -59,6 +57,7 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-net + - repo: azure-sdk-for-go ``` ## C# @@ -77,6 +76,10 @@ csharp: add-credentials: true ``` +## Go + +See configuration in [readme.go.md](./readme.go.md) + ## Suppression ``` yaml From baf9fdde3c8be9ab59bae147d5d40e99cff46756 Mon Sep 17 00:00:00 2001 From: Esteban Rey Date: Mon, 22 Jul 2019 16:14:44 -0700 Subject: [PATCH 6/6] Added preview specification in generated paths --- specification/containerregistry/data-plane/readme.go.md | 2 +- specification/containerregistry/data-plane/readme.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/containerregistry/data-plane/readme.go.md b/specification/containerregistry/data-plane/readme.go.md index e2a2984d687e..97ef4154aa73 100644 --- a/specification/containerregistry/data-plane/readme.go.md +++ b/specification/containerregistry/data-plane/readme.go.md @@ -23,5 +23,5 @@ These settings apply only when `--tag=package-2019-07 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2019-07' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/runtime/2019-07/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/runtime/2019-07/$(namespace) ``` diff --git a/specification/containerregistry/data-plane/readme.md b/specification/containerregistry/data-plane/readme.md index 1008d397f431..9c7cc320a2ec 100644 --- a/specification/containerregistry/data-plane/readme.md +++ b/specification/containerregistry/data-plane/readme.md @@ -71,7 +71,7 @@ csharp: license-header: MICROSOFT_MIT_NO_VERSION namespace: Microsoft.Azure.ContainerRegistry sync-methods: None - output-folder: $(csharp-sdks-folder)/ContainerRegistry/Microsoft.Azure.ContainerRegistry/src/Generated + output-folder: $(csharp-sdks-folder)/ContainerRegistry/preview/Microsoft.Azure.ContainerRegistry/src/Generated clear-output-folder: true add-credentials: true ```