Document TOOMANYREQUESTS error code
Add entries with this error code in registry/api/v2/descriptors.go. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>master
							parent
							
								
									2052f29be6
								
							
						
					
					
						commit
						b0099004e2
					
				
							
								
								
									
										636
									
								
								docs/spec/api.md
								
								
								
								
							
							
						
						
									
										636
									
								
								docs/spec/api.md
								
								
								
								
							|  | @ -126,6 +126,13 @@ reference and shouldn't be used outside the specification other than to | ||||||
| identify a set of modifications. | identify a set of modifications. | ||||||
| 
 | 
 | ||||||
| <dl> | <dl> | ||||||
|  |   <dt>l</dt> | ||||||
|  |   <dd> | ||||||
|  |     <ul> | ||||||
|  |       <li>Document TOOMANYREQUESTS error code.</li> | ||||||
|  |     </ul> | ||||||
|  |   </dd> | ||||||
|  | 
 | ||||||
|   <dt>k</dt> |   <dt>k</dt> | ||||||
|   <dd> |   <dd> | ||||||
|     <ul> |     <ul> | ||||||
|  | @ -1236,6 +1243,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ### Tags | ### Tags | ||||||
|  | @ -1411,6 +1455,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ##### Tags Paginated | ##### Tags Paginated | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | @ -1573,6 +1654,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ### Manifest | ### Manifest | ||||||
|  | @ -1785,6 +1903,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| #### PUT Manifest | #### PUT Manifest | ||||||
| 
 | 
 | ||||||
|  | @ -1997,6 +2152,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ###### On Failure: Missing Layer(s) | ###### On Failure: Missing Layer(s) | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | @ -2229,6 +2421,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ###### On Failure: Unknown Manifest | ###### On Failure: Unknown Manifest | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | @ -2529,6 +2758,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ##### Fetch Blob Part | ##### Fetch Blob Part | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | @ -2762,6 +3028,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| #### DELETE Blob | #### DELETE Blob | ||||||
| 
 | 
 | ||||||
|  | @ -3003,6 +3306,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ### Initiate Blob Upload | ### Initiate Blob Upload | ||||||
|  | @ -3216,6 +3556,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ##### Initiate Resumable Blob Upload | ##### Initiate Resumable Blob Upload | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | @ -3396,6 +3773,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ##### Mount Blob | ##### Mount Blob | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | @ -3594,6 +4008,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ### Blob Upload | ### Blob Upload | ||||||
|  | @ -3826,6 +4277,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| #### PATCH Blob Upload | #### PATCH Blob Upload | ||||||
| 
 | 
 | ||||||
|  | @ -4057,6 +4545,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ##### Chunked upload | ##### Chunked upload | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | @ -4296,6 +4821,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| #### PUT Blob Upload | #### PUT Blob Upload | ||||||
| 
 | 
 | ||||||
|  | @ -4530,6 +5092,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| #### DELETE Blob Upload | #### DELETE Blob Upload | ||||||
| 
 | 
 | ||||||
|  | @ -4752,6 +5351,43 @@ The error codes that may be included in the response body are enumerated below: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | ###### On Failure: Too Many Requests | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 429 Too Many Requests | ||||||
|  | Content-Length: <length> | ||||||
|  | Content-Type: application/json; charset=utf-8 | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  | 	"errors:" [ | ||||||
|  | 	    { | ||||||
|  |             "code": <error code>, | ||||||
|  |             "message": "<error message>", | ||||||
|  |             "detail": ... | ||||||
|  |         }, | ||||||
|  |         ... | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The client made too many requests within a time interval. | ||||||
|  | 
 | ||||||
|  | The following headers will be returned on the response: | ||||||
|  | 
 | ||||||
|  | |Name|Description| | ||||||
|  | |----|-----------| | ||||||
|  | |`Content-Length`|Length of the JSON response body.| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | The error codes that may be included in the response body are enumerated below: | ||||||
|  | 
 | ||||||
|  | |Code|Message|Description| | ||||||
|  | |----|-------|-----------| | ||||||
|  | | `TOOMANYREQUESTS` | too many requests | Returned when a client attempts to contact a service too many times | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ### Catalog | ### Catalog | ||||||
|  |  | ||||||
|  | @ -126,6 +126,13 @@ reference and shouldn't be used outside the specification other than to | ||||||
| identify a set of modifications. | identify a set of modifications. | ||||||
| 
 | 
 | ||||||
| <dl> | <dl> | ||||||
|  |   <dt>l</dt> | ||||||
|  |   <dd> | ||||||
|  |     <ul> | ||||||
|  |       <li>Document TOOMANYREQUESTS error code.</li> | ||||||
|  |     </ul> | ||||||
|  |   </dd> | ||||||
|  | 
 | ||||||
|   <dt>k</dt> |   <dt>k</dt> | ||||||
|   <dd> |   <dd> | ||||||
|     <ul> |     <ul> | ||||||
|  |  | ||||||
|  | @ -175,6 +175,27 @@ var ( | ||||||
| 			errcode.ErrorCodeDenied, | 			errcode.ErrorCodeDenied, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	tooManyRequestsDescriptor = ResponseDescriptor{ | ||||||
|  | 		Name:        "Too Many Requests", | ||||||
|  | 		StatusCode:  http.StatusTooManyRequests, | ||||||
|  | 		Description: "The client made too many requests within a time interval.", | ||||||
|  | 		Headers: []ParameterDescriptor{ | ||||||
|  | 			{ | ||||||
|  | 				Name:        "Content-Length", | ||||||
|  | 				Type:        "integer", | ||||||
|  | 				Description: "Length of the JSON response body.", | ||||||
|  | 				Format:      "<length>", | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 		Body: BodyDescriptor{ | ||||||
|  | 			ContentType: "application/json; charset=utf-8", | ||||||
|  | 			Format:      errorsBody, | ||||||
|  | 		}, | ||||||
|  | 		ErrorCodes: []errcode.ErrorCode{ | ||||||
|  | 			errcode.ErrorCodeTooManyRequests, | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| const ( | const ( | ||||||
|  | @ -202,17 +223,6 @@ const ( | ||||||
|         ... |         ... | ||||||
|     ] |     ] | ||||||
| }` | }` | ||||||
| 
 |  | ||||||
| 	unauthorizedErrorsBody = `{ |  | ||||||
| 	"errors:" [ |  | ||||||
| 	    { |  | ||||||
|             "code": "UNAUTHORIZED", |  | ||||||
|             "message": "access to the requested resource is not authorized", |  | ||||||
|             "detail": ... |  | ||||||
|         }, |  | ||||||
|         ... |  | ||||||
|     ] |  | ||||||
| }` |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // APIDescriptor exports descriptions of the layout of the v2 registry API.
 | // APIDescriptor exports descriptions of the layout of the v2 registry API.
 | ||||||
|  | @ -391,6 +401,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 								StatusCode:  http.StatusNotFound, | 								StatusCode:  http.StatusNotFound, | ||||||
| 							}, | 							}, | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -445,6 +456,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 					{ | 					{ | ||||||
|  | @ -481,6 +493,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -535,6 +548,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -592,6 +606,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 							{ | 							{ | ||||||
| 								Name:        "Missing Layer(s)", | 								Name:        "Missing Layer(s)", | ||||||
| 								Description: "One or more layers may be missing during a manifest upload. If so, the missing layers will be enumerated in the error response.", | 								Description: "One or more layers may be missing during a manifest upload. If so, the missing layers will be enumerated in the error response.", | ||||||
|  | @ -661,6 +676,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 							{ | 							{ | ||||||
| 								Name:        "Unknown Manifest", | 								Name:        "Unknown Manifest", | ||||||
| 								Description: "The specified `name` or `reference` are unknown to the registry and the delete was unable to proceed. Clients can assume the manifest was already deleted if this response is returned.", | 								Description: "The specified `name` or `reference` are unknown to the registry and the delete was unable to proceed. Clients can assume the manifest was already deleted if this response is returned.", | ||||||
|  | @ -769,6 +785,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 					{ | 					{ | ||||||
|  | @ -843,6 +860,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -909,6 +927,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -993,6 +1012,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 					{ | 					{ | ||||||
|  | @ -1039,6 +1059,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 					{ | 					{ | ||||||
|  | @ -1103,6 +1124,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -1175,6 +1197,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -1249,6 +1272,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 					{ | 					{ | ||||||
|  | @ -1334,6 +1358,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -1424,6 +1449,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  | @ -1480,6 +1506,7 @@ var routeDescriptors = []RouteDescriptor{ | ||||||
| 							unauthorizedResponseDescriptor, | 							unauthorizedResponseDescriptor, | ||||||
| 							repositoryNotFoundResponseDescriptor, | 							repositoryNotFoundResponseDescriptor, | ||||||
| 							deniedResponseDescriptor, | 							deniedResponseDescriptor, | ||||||
|  | 							tooManyRequestsDescriptor, | ||||||
| 						}, | 						}, | ||||||
| 					}, | 					}, | ||||||
| 				}, | 				}, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue