1594 строки
38 KiB
JSON
1594 строки
38 KiB
JSON
{
|
||
"swagger": "2.0",
|
||
"info": {
|
||
"title": "AutoRest Swagger BAT XML Service",
|
||
"description": "Test Infrastructure for AutoRest Swagger BAT",
|
||
"version": "1.0.0"
|
||
},
|
||
"host": "localhost:3000",
|
||
"schemes": [
|
||
"http"
|
||
],
|
||
"produces": [
|
||
"application/xml"
|
||
],
|
||
"consumes": [
|
||
"application/xml"
|
||
],
|
||
"paths": {
|
||
"/xml/complex-type-ref-no-meta": {
|
||
"get": {
|
||
"operationId": "xml_getComplexTypeRefNoMeta",
|
||
"description": "Get a complex type that has a ref to a complex type with no XML node",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The empty list.",
|
||
"schema": {
|
||
"$ref": "#/definitions/RootWithRefAndNoMeta"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putComplexTypeRefNoMeta",
|
||
"description": "Puts a complex type that has a ref to a complex type with no XML node",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "model",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/RootWithRefAndNoMeta"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/complex-type-ref-with-meta": {
|
||
"get": {
|
||
"operationId": "xml_getComplexTypeRefWithMeta",
|
||
"description": "Get a complex type that has a ref to a complex type with XML node",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The empty list.",
|
||
"schema": {
|
||
"$ref": "#/definitions/RootWithRefAndMeta"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putComplexTypeRefWithMeta",
|
||
"description": "Puts a complex type that has a ref to a complex type with XML node",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "model",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/RootWithRefAndMeta"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/simple": {
|
||
"get": {
|
||
"operationId": "xml_getSimple",
|
||
"description": "Get a simple XML document",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The simple XML document",
|
||
"schema": {
|
||
"$ref": "#/definitions/Slideshow"
|
||
}
|
||
},
|
||
"default": {
|
||
"description": "Unexpected error",
|
||
"schema": {
|
||
"$ref": "#/definitions/Error"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putSimple",
|
||
"description": "Put a simple XML document",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "slideshow",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/Slideshow"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success"
|
||
},
|
||
"default": {
|
||
"description": "Unexpected error",
|
||
"schema": {
|
||
"$ref": "#/definitions/Error"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/wrapped-lists": {
|
||
"get": {
|
||
"operationId": "xml_getWrappedLists",
|
||
"description": "Get an XML document with multiple wrapped lists",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The XML document with multiple wrapped lists",
|
||
"schema": {
|
||
"$ref": "#/definitions/AppleBarrel"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putWrappedLists",
|
||
"description": "Put an XML document with multiple wrapped lists",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "wrappedLists",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/AppleBarrel"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success"
|
||
},
|
||
"default": {
|
||
"description": "Unexpected error",
|
||
"schema": {
|
||
"$ref": "#/definitions/Error"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/headers": {
|
||
"get": {
|
||
"operationId": "xml_getHeaders",
|
||
"description": "Get strongly-typed response headers.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The response header.",
|
||
"headers": {
|
||
"Custom-Header": {
|
||
"description": "A custom response header.",
|
||
"type": "string"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/empty-list": {
|
||
"get": {
|
||
"operationId": "xml_getEmptyList",
|
||
"description": "Get an empty list.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The empty list.",
|
||
"schema": {
|
||
"$ref": "#/definitions/Slideshow"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putEmptyList",
|
||
"description": "Puts an empty list.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "slideshow",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/Slideshow"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/empty-wrapped-lists": {
|
||
"get": {
|
||
"operationId": "xml_getEmptyWrappedLists",
|
||
"description": "Gets some empty wrapped lists.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The empty lists.",
|
||
"schema": {
|
||
"$ref": "#/definitions/AppleBarrel"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putEmptyWrappedLists",
|
||
"description": "Puts some empty wrapped lists.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "appleBarrel",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/AppleBarrel"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/root-list": {
|
||
"get": {
|
||
"operationId": "xml_getRootList",
|
||
"description": "Gets a list as the root element.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The root list.",
|
||
"schema": {
|
||
"type": "array",
|
||
"xml": {
|
||
"name": "bananas"
|
||
},
|
||
"items": {
|
||
"$ref": "#/definitions/Banana"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putRootList",
|
||
"description": "Puts a list as the root element.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "bananas",
|
||
"in": "body",
|
||
"schema": {
|
||
"type": "array",
|
||
"xml": {
|
||
"name": "bananas",
|
||
"wrapped": true
|
||
},
|
||
"items": {
|
||
"$ref": "#/definitions/Banana"
|
||
}
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/root-list-single-item": {
|
||
"get": {
|
||
"operationId": "xml_getRootListSingleItem",
|
||
"description": "Gets a list with a single item.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The root list.",
|
||
"schema": {
|
||
"type": "array",
|
||
"xml": {
|
||
"name": "bananas"
|
||
},
|
||
"items": {
|
||
"$ref": "#/definitions/Banana"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putRootListSingleItem",
|
||
"description": "Puts a list with a single item.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "bananas",
|
||
"in": "body",
|
||
"schema": {
|
||
"type": "array",
|
||
"xml": {
|
||
"name": "bananas",
|
||
"wrapped": true
|
||
},
|
||
"items": {
|
||
"$ref": "#/definitions/Banana"
|
||
}
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/empty-root-list": {
|
||
"get": {
|
||
"operationId": "xml_getEmptyRootList",
|
||
"description": "Gets an empty list as the root element.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The root list.",
|
||
"schema": {
|
||
"type": "array",
|
||
"xml": {
|
||
"name": "bananas"
|
||
},
|
||
"items": {
|
||
"$ref": "#/definitions/Banana"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putEmptyRootList",
|
||
"description": "Puts an empty list as the root element.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "bananas",
|
||
"in": "body",
|
||
"schema": {
|
||
"type": "array",
|
||
"xml": {
|
||
"name": "bananas",
|
||
"wrapped": true
|
||
},
|
||
"items": {
|
||
"$ref": "#/definitions/Banana"
|
||
}
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/empty-child-element": {
|
||
"get": {
|
||
"operationId": "xml_getEmptyChildElement",
|
||
"description": "Gets an XML document with an empty child element.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The unknown banana.",
|
||
"schema": {
|
||
"$ref": "#/definitions/Banana"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putEmptyChildElement",
|
||
"description": "Puts a value with an empty child element.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "banana",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/Banana"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/?comp=list": {
|
||
"get": {
|
||
"operationId": "xml_listContainers",
|
||
"description": "Lists containers in a storage account.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "comp",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"list"
|
||
],
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "A list of containers.",
|
||
"schema": {
|
||
"$ref": "#/definitions/ListContainersResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/?comp=properties&restype=service": {
|
||
"get": {
|
||
"operationId": "xml_getServiceProperties",
|
||
"description": "Gets storage service properties.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "comp",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"properties"
|
||
],
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "restype",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"service"
|
||
],
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The storage service properties.",
|
||
"schema": {
|
||
"$ref": "#/definitions/StorageServiceProperties"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putServiceProperties",
|
||
"description": "Puts storage service properties.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "comp",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"properties"
|
||
],
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "restype",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"service"
|
||
],
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "properties",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/StorageServiceProperties"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/mycontainer?comp=acl&restype=container": {
|
||
"get": {
|
||
"operationId": "xml_getAcls",
|
||
"description": "Gets storage ACLs for a container.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "comp",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"acl"
|
||
],
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "restype",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"container"
|
||
],
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "The storage ACLs.",
|
||
"schema": {
|
||
"$ref": "#/definitions/SignedIdentifiers"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"put": {
|
||
"operationId": "xml_putAcls",
|
||
"description": "Puts storage ACLs for a container.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "comp",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"acl"
|
||
],
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "restype",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"container"
|
||
],
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "properties",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/SignedIdentifiers"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"201": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/mycontainer?comp=list&restype=container": {
|
||
"get": {
|
||
"operationId": "xml_listBlobs",
|
||
"description": "Lists blobs in a storage container.",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "comp",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"list"
|
||
],
|
||
"required": true
|
||
},
|
||
{
|
||
"name": "restype",
|
||
"in": "query",
|
||
"type": "string",
|
||
"enum": [
|
||
"container"
|
||
],
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "A list of containers.",
|
||
"schema": {
|
||
"$ref": "#/definitions/ListBlobsResponse"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/jsoninput": {
|
||
"put": {
|
||
"operationId": "xml_jsonInput",
|
||
"consumes":[
|
||
"application/json"
|
||
],
|
||
"description": "A Swagger with XML that has one operation that takes JSON as input. You need to send the ID number 42",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "properties",
|
||
"in": "body",
|
||
"schema": {
|
||
"$ref": "#/definitions/JSONInput"
|
||
},
|
||
"required": true
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "Indicates success."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/jsonoutput": {
|
||
"get": {
|
||
"operationId": "xml_jsonOutput",
|
||
"produces":[
|
||
"application/json"
|
||
],
|
||
"description": "A Swagger with XML that has one operation that returns JSON. ID number 42",
|
||
"tags": [
|
||
"XML Operations"
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "Indicates success.",
|
||
"schema": {
|
||
"$ref": "#/definitions/JSONOutput"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/xml/x-ms-text": {
|
||
"get": {
|
||
"operationId": "xml_GetXMsText",
|
||
"description": "Get back an XML object with an x-ms-text property, which should translate to the returned object's 'language' property being 'english' and its 'content' property being 'I am text'",
|
||
"responses": {
|
||
"200": {
|
||
"description": "Success.",
|
||
"schema": {
|
||
"$ref": "#/definitions/ObjectWithXMsTextProperty"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"definitions": {
|
||
"JSONInput": {
|
||
"properties": {
|
||
"id": {
|
||
"type": "integer"
|
||
}
|
||
}
|
||
},
|
||
"JSONOutput": {
|
||
"properties": {
|
||
"id": {
|
||
"type": "integer"
|
||
}
|
||
}
|
||
},
|
||
"Error": {
|
||
"properties": {
|
||
"status": {
|
||
"type": "integer",
|
||
"format": "int32"
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"Slide": {
|
||
"type": "object",
|
||
"description": "A slide in a slideshow",
|
||
"properties": {
|
||
"type": {
|
||
"type": "string",
|
||
"xml": {
|
||
"attribute": true
|
||
}
|
||
},
|
||
"title": {
|
||
"type": "string"
|
||
},
|
||
"items": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string",
|
||
"xml": {
|
||
"name": "item"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"xml": {
|
||
"name": "slide"
|
||
}
|
||
},
|
||
"Slideshow": {
|
||
"type": "object",
|
||
"description": "Data about a slideshow",
|
||
"xml": {
|
||
"name": "slideshow"
|
||
},
|
||
"properties": {
|
||
"title": {
|
||
"type": "string",
|
||
"xml": {
|
||
"attribute": true
|
||
}
|
||
},
|
||
"date": {
|
||
"type": "string",
|
||
"xml": {
|
||
"attribute": true
|
||
}
|
||
},
|
||
"author": {
|
||
"type": "string",
|
||
"xml": {
|
||
"attribute": true
|
||
}
|
||
},
|
||
"slides": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/Slide"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"AppleBarrel": {
|
||
"type": "object",
|
||
"description": "A barrel of apples.",
|
||
"properties": {
|
||
"GoodApples": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string",
|
||
"xml": {
|
||
"name": "Apple"
|
||
}
|
||
},
|
||
"xml": {
|
||
"wrapped": true
|
||
}
|
||
},
|
||
"BadApples": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string",
|
||
"xml": {
|
||
"name": "Apple"
|
||
}
|
||
},
|
||
"xml": {
|
||
"wrapped": true
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"Banana": {
|
||
"type": "object",
|
||
"description": "A banana.",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"xml": {
|
||
"name": "name"
|
||
}
|
||
},
|
||
"flavor": {
|
||
"type": "string",
|
||
"xml": {
|
||
"name": "flavor"
|
||
}
|
||
},
|
||
"expiration": {
|
||
"description": "The time at which you should reconsider eating this banana",
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"xml": {
|
||
"name": "expiration"
|
||
}
|
||
}
|
||
},
|
||
"xml": {
|
||
"name": "banana"
|
||
}
|
||
},
|
||
"Container": {
|
||
"type": "object",
|
||
"required": [
|
||
"Name",
|
||
"Properties"
|
||
],
|
||
"description": "An Azure Storage container",
|
||
"properties": {
|
||
"Name": {
|
||
"type": "string"
|
||
},
|
||
"Properties": {
|
||
"$ref": "#/definitions/ContainerProperties"
|
||
},
|
||
"Metadata": {
|
||
"$ref": "#/definitions/Metadata"
|
||
}
|
||
}
|
||
},
|
||
"ContainerProperties": {
|
||
"type": "object",
|
||
"required": [
|
||
"Last-Modified",
|
||
"Etag"
|
||
],
|
||
"description": "Properties of a container",
|
||
"properties": {
|
||
"Last-Modified": {
|
||
"type": "string",
|
||
"format": "date-time-rfc1123"
|
||
},
|
||
"Etag": {
|
||
"type": "string",
|
||
"format": "etag"
|
||
},
|
||
"LeaseStatus": {
|
||
"$ref": "#/definitions/LeaseStatus"
|
||
},
|
||
"LeaseState": {
|
||
"$ref": "#/definitions/LeaseState"
|
||
},
|
||
"LeaseDuration": {
|
||
"$ref": "#/definitions/LeaseDuration"
|
||
},
|
||
"PublicAccess": {
|
||
"$ref": "#/definitions/PublicAccessType"
|
||
}
|
||
}
|
||
},
|
||
"ListContainersResponse": {
|
||
"xml": {
|
||
"name": "EnumerationResults"
|
||
},
|
||
"description": "An enumeration of containers",
|
||
"type": "object",
|
||
"required": [
|
||
"ServiceEndpoint",
|
||
"Prefix",
|
||
"MaxResults",
|
||
"NextMarker"
|
||
],
|
||
"properties": {
|
||
"ServiceEndpoint": {
|
||
"type": "string",
|
||
"xml": {
|
||
"attribute": true
|
||
}
|
||
},
|
||
"Prefix": {
|
||
"type": "string"
|
||
},
|
||
"Marker": {
|
||
"type": "string"
|
||
},
|
||
"MaxResults": {
|
||
"type": "integer"
|
||
},
|
||
"Containers": {
|
||
"xml": {
|
||
"wrapped": true
|
||
},
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/Container"
|
||
}
|
||
},
|
||
"NextMarker": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"CorsRule": {
|
||
"description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain",
|
||
"type": "object",
|
||
"required": [
|
||
"AllowedOrigins",
|
||
"AllowedMethods",
|
||
"AllowedHeaders",
|
||
"ExposedHeaders",
|
||
"MaxAgeInSeconds"
|
||
],
|
||
"properties": {
|
||
"AllowedOrigins": {
|
||
"description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.",
|
||
"type": "string"
|
||
},
|
||
"AllowedMethods": {
|
||
"description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)",
|
||
"type": "string"
|
||
},
|
||
"AllowedHeaders": {
|
||
"description": "the request headers that the origin domain may specify on the CORS request.",
|
||
"type": "string"
|
||
},
|
||
"ExposedHeaders": {
|
||
"description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer",
|
||
"type": "string"
|
||
},
|
||
"MaxAgeInSeconds": {
|
||
"description": "The maximum amount time that a browser should cache the preflight OPTIONS request.",
|
||
"type": "integer",
|
||
"minimum": 0
|
||
}
|
||
},
|
||
"xml": {
|
||
"name": "CorsRule"
|
||
}
|
||
},
|
||
"Blob": {
|
||
"description": "An Azure Storage blob",
|
||
"type": "object",
|
||
"required": [
|
||
"Name",
|
||
"Deleted",
|
||
"Snapshot",
|
||
"Properties"
|
||
],
|
||
"properties": {
|
||
"Name": {
|
||
"type": "string"
|
||
},
|
||
"Deleted": {
|
||
"type": "boolean"
|
||
},
|
||
"Snapshot": {
|
||
"type": "string"
|
||
},
|
||
"Properties": {
|
||
"$ref": "#/definitions/BlobProperties"
|
||
},
|
||
"Metadata": {
|
||
"$ref": "#/definitions/Metadata"
|
||
}
|
||
},
|
||
"xml": {
|
||
"name": "Blob"
|
||
}
|
||
},
|
||
"BlobProperties": {
|
||
"description": "Properties of a blob",
|
||
"type": "object",
|
||
"required": [
|
||
"Etag",
|
||
"Last-Modified"
|
||
],
|
||
"properties": {
|
||
"Last-Modified": {
|
||
"type": "string",
|
||
"format": "date-time-rfc1123"
|
||
},
|
||
"Etag": {
|
||
"type": "string",
|
||
"format": "etag"
|
||
},
|
||
"Content-Length": {
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"description": "Size in bytes"
|
||
},
|
||
"Content-Type": {
|
||
"type": "string"
|
||
},
|
||
"Content-Encoding": {
|
||
"type": "string"
|
||
},
|
||
"Content-Language": {
|
||
"type": "string"
|
||
},
|
||
"Content-MD5": {
|
||
"type": "string"
|
||
},
|
||
"Content-Disposition": {
|
||
"type": "string"
|
||
},
|
||
"Cache-Control": {
|
||
"type": "string"
|
||
},
|
||
"x-ms-blob-sequence-number": {
|
||
"x-ms-client-name": "blobSequenceNumber",
|
||
"type": "integer"
|
||
},
|
||
"BlobType": {
|
||
"type": "string",
|
||
"enum": [
|
||
"BlockBlob",
|
||
"PageBlob",
|
||
"AppendBlob"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "BlobType",
|
||
"modelAsString": false
|
||
}
|
||
},
|
||
"LeaseStatus": {
|
||
"$ref": "#/definitions/LeaseStatus"
|
||
},
|
||
"LeaseState": {
|
||
"$ref": "#/definitions/LeaseState"
|
||
},
|
||
"LeaseDuration": {
|
||
"$ref": "#/definitions/LeaseDuration"
|
||
},
|
||
"CopyId": {
|
||
"type": "string"
|
||
},
|
||
"CopyStatus": {
|
||
"$ref": "#/definitions/CopyStatus"
|
||
},
|
||
"CopySource": {
|
||
"type": "string"
|
||
},
|
||
"CopyProgress": {
|
||
"type": "string"
|
||
},
|
||
"CopyCompletionTime": {
|
||
"type": "string",
|
||
"format": "date-time-rfc1123"
|
||
},
|
||
"CopyStatusDescription": {
|
||
"type": "string"
|
||
},
|
||
"ServerEncrypted": {
|
||
"type": "boolean"
|
||
},
|
||
"IncrementalCopy": {
|
||
"type": "boolean"
|
||
},
|
||
"DestinationSnapshot": {
|
||
"type": "string"
|
||
},
|
||
"DeletedTime": {
|
||
"type": "string",
|
||
"format": "date-time-rfc1123"
|
||
},
|
||
"RemainingRetentionDays": {
|
||
"type": "integer"
|
||
},
|
||
"AccessTier": {
|
||
"$ref": "#/definitions/AccessTier"
|
||
},
|
||
"AccessTierInferred": {
|
||
"type": "boolean"
|
||
},
|
||
"ArchiveStatus": {
|
||
"$ref": "#/definitions/ArchiveStatus"
|
||
}
|
||
}
|
||
},
|
||
"Logging": {
|
||
"description": "Azure Analytics Logging settings.",
|
||
"type": "object",
|
||
"required": [
|
||
"Version",
|
||
"Delete",
|
||
"Read",
|
||
"Write",
|
||
"RetentionPolicy"
|
||
],
|
||
"properties": {
|
||
"Version": {
|
||
"description": "The version of Storage Analytics to configure.",
|
||
"type": "string"
|
||
},
|
||
"Delete": {
|
||
"description": "Indicates whether all delete requests should be logged.",
|
||
"type": "boolean"
|
||
},
|
||
"Read": {
|
||
"description": "Indicates whether all read requests should be logged.",
|
||
"type": "boolean"
|
||
},
|
||
"Write": {
|
||
"description": "Indicates whether all write requests should be logged.",
|
||
"type": "boolean"
|
||
},
|
||
"RetentionPolicy": {
|
||
"$ref": "#/definitions/RetentionPolicy"
|
||
}
|
||
}
|
||
},
|
||
"Metadata": {
|
||
"type": "object",
|
||
"additionalProperties": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"Metrics": {
|
||
"description": "",
|
||
"required": [
|
||
"Enabled"
|
||
],
|
||
"properties": {
|
||
"Version": {
|
||
"description": "The version of Storage Analytics to configure.",
|
||
"type": "string"
|
||
},
|
||
"Enabled": {
|
||
"description": "Indicates whether metrics are enabled for the Blob service.",
|
||
"type": "boolean"
|
||
},
|
||
"IncludeAPIs": {
|
||
"description": "Indicates whether metrics should generate summary statistics for called API operations.",
|
||
"type": "boolean"
|
||
},
|
||
"RetentionPolicy": {
|
||
"$ref": "#/definitions/RetentionPolicy"
|
||
}
|
||
}
|
||
},
|
||
"ListBlobsResponse": {
|
||
"xml": {
|
||
"name": "EnumerationResults"
|
||
},
|
||
"description": "An enumeration of blobs",
|
||
"type": "object",
|
||
"required": [
|
||
"ContainerName",
|
||
"Prefix",
|
||
"Marker",
|
||
"MaxResults",
|
||
"Delimiter",
|
||
"Blobs",
|
||
"NextMarker"
|
||
],
|
||
"properties": {
|
||
"ServiceEndpoint": {
|
||
"type": "string",
|
||
"xml": {
|
||
"attribute": true
|
||
}
|
||
},
|
||
"ContainerName": {
|
||
"type": "string",
|
||
"xml": {
|
||
"attribute": true
|
||
}
|
||
},
|
||
"Prefix": {
|
||
"type": "string"
|
||
},
|
||
"Marker": {
|
||
"type": "string"
|
||
},
|
||
"MaxResults": {
|
||
"type": "integer"
|
||
},
|
||
"Delimiter": {
|
||
"type": "string"
|
||
},
|
||
"Blobs": {
|
||
"$ref": "#/definitions/Blobs"
|
||
},
|
||
"NextMarker": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"Blobs": {
|
||
"type": "object",
|
||
"properties": {
|
||
"BlobPrefix": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/BlobPrefix"
|
||
}
|
||
},
|
||
"Blob": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/Blob"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"BlobPrefix": {
|
||
"type": "object",
|
||
"required": [
|
||
"Name"
|
||
],
|
||
"properties": {
|
||
"Name": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"PublicAccessType": {
|
||
"type": "string",
|
||
"enum": [
|
||
"container",
|
||
"blob"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "PublicAccessType",
|
||
"modelAsString": true
|
||
}
|
||
},
|
||
"CopyStatus": {
|
||
"type": "string",
|
||
"enum": [
|
||
"pending",
|
||
"success",
|
||
"aborted",
|
||
"failed"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "CopyStatusType",
|
||
"modelAsString": false
|
||
}
|
||
},
|
||
"LeaseDuration": {
|
||
"type": "string",
|
||
"enum": [
|
||
"infinite",
|
||
"fixed"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "LeaseDurationType",
|
||
"modelAsString": false
|
||
}
|
||
},
|
||
"LeaseState": {
|
||
"type": "string",
|
||
"enum": [
|
||
"available",
|
||
"leased",
|
||
"expired",
|
||
"breaking",
|
||
"broken"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "LeaseStateType",
|
||
"modelAsString": false
|
||
}
|
||
},
|
||
"LeaseStatus": {
|
||
"type": "string",
|
||
"enum": [
|
||
"locked",
|
||
"unlocked"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "LeaseStatusType",
|
||
"modelAsString": false
|
||
}
|
||
},
|
||
"AccessPolicy": {
|
||
"type": "object",
|
||
"required": [
|
||
"Start",
|
||
"Expiry",
|
||
"Permission"
|
||
],
|
||
"description": "An Access policy",
|
||
"properties": {
|
||
"Start": {
|
||
"description": "the date-time the policy is active",
|
||
"type": "string",
|
||
"format": "date-time"
|
||
},
|
||
"Expiry": {
|
||
"description": "the date-time the policy expires",
|
||
"type": "string",
|
||
"format": "date-time"
|
||
},
|
||
"Permission": {
|
||
"description": "the permissions for the acl policy",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"AccessTier": {
|
||
"type": "string",
|
||
"enum": [
|
||
"P4",
|
||
"P6",
|
||
"P10",
|
||
"P20",
|
||
"P30",
|
||
"P40",
|
||
"P50",
|
||
"Hot",
|
||
"Cool",
|
||
"Archive"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "AccessTier",
|
||
"modelAsString": true
|
||
}
|
||
},
|
||
"ArchiveStatus": {
|
||
"type": "string",
|
||
"enum": [
|
||
"rehydrate-pending-to-hot",
|
||
"rehydrate-pending-to-cool"
|
||
],
|
||
"x-ms-enum": {
|
||
"name": "ArchiveStatus",
|
||
"modelAsString": true
|
||
}
|
||
},
|
||
"RetentionPolicy": {
|
||
"description": "the retention policy",
|
||
"type": "object",
|
||
"required": [
|
||
"Enabled"
|
||
],
|
||
"properties": {
|
||
"Enabled": {
|
||
"description": "Indicates whether a retention policy is enabled for the storage service",
|
||
"type": "boolean"
|
||
},
|
||
"Days": {
|
||
"description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted",
|
||
"type": "integer",
|
||
"minimum": 1
|
||
}
|
||
}
|
||
},
|
||
"SignedIdentifier": {
|
||
"description": "signed identifier",
|
||
"type": "object",
|
||
"required": [
|
||
"Id",
|
||
"AccessPolicy"
|
||
],
|
||
"properties": {
|
||
"Id": {
|
||
"type": "string",
|
||
"description": "a unique id"
|
||
},
|
||
"AccessPolicy": {
|
||
"description": "The access policy",
|
||
"$ref": "#/definitions/AccessPolicy"
|
||
}
|
||
},
|
||
"xml": {
|
||
"name": "SignedIdentifier"
|
||
}
|
||
},
|
||
"SignedIdentifiers": {
|
||
"description": "a collection of signed identifiers",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/SignedIdentifier"
|
||
},
|
||
"xml": {
|
||
"wrapped": true,
|
||
"name": "SignedIdentifiers"
|
||
}
|
||
},
|
||
"StorageServiceProperties": {
|
||
"description": "Storage Service Properties.",
|
||
"type": "object",
|
||
"properties": {
|
||
"Logging": {
|
||
"description": "Azure Analytics Logging settings",
|
||
"$ref": "#/definitions/Logging"
|
||
},
|
||
"HourMetrics": {
|
||
"description": "A summary of request statistics grouped by API in hourly aggregates for blobs",
|
||
"$ref": "#/definitions/Metrics"
|
||
},
|
||
"MinuteMetrics": {
|
||
"description": "a summary of request statistics grouped by API in minute aggregates for blobs",
|
||
"$ref": "#/definitions/Metrics"
|
||
},
|
||
"Cors": {
|
||
"description": "The set of CORS rules.",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/CorsRule"
|
||
},
|
||
"xml": {
|
||
"wrapped": true
|
||
}
|
||
},
|
||
"DefaultServiceVersion": {
|
||
"description": "The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions",
|
||
"type": "string"
|
||
},
|
||
"DeleteRetentionPolicy": {
|
||
"description": "The Delete Retention Policy for the service",
|
||
"$ref": "#/definitions/RetentionPolicy"
|
||
}
|
||
}
|
||
},
|
||
"ComplexTypeNoMeta": {
|
||
"description": "I am a complex type with no XML node",
|
||
"type": "object",
|
||
"properties":{
|
||
"ID": {
|
||
"description": "The id of the res",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"ComplexTypeWithMeta": {
|
||
"description": "I am a complex type with XML node",
|
||
"type": "object",
|
||
"properties":{
|
||
"ID": {
|
||
"description": "The id of the res",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"xml": {
|
||
"name": "XMLComplexTypeWithMeta"
|
||
}
|
||
},
|
||
"RootWithRefAndNoMeta": {
|
||
"description": "I am root, and I ref a model with no meta",
|
||
"type": "object",
|
||
"properties":{
|
||
"RefToModel": {
|
||
"description": "XML will use RefToModel",
|
||
"$ref": "#/definitions/ComplexTypeNoMeta"
|
||
},
|
||
"Something": {
|
||
"description": "Something else (just to avoid flattening)",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"RootWithRefAndMeta": {
|
||
"description": "I am root, and I ref a model WITH meta",
|
||
"type": "object",
|
||
"properties":{
|
||
"RefToModel": {
|
||
"description": "XML will use XMLComplexTypeWithMeta",
|
||
"$ref": "#/definitions/ComplexTypeWithMeta"
|
||
},
|
||
"Something": {
|
||
"description": "Something else (just to avoid flattening)",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"ObjectWithXMsTextProperty": {
|
||
"description": "Contans property ",
|
||
"type": "object",
|
||
"properties":{
|
||
"language": {
|
||
"xml": {
|
||
"attribute": true,
|
||
"name": "language"
|
||
},
|
||
"type": "string",
|
||
"description": "Returned value should be 'english'"
|
||
},
|
||
"content": {
|
||
"xml": {
|
||
"x-ms-text": true
|
||
},
|
||
"description": "Returned value should be 'I am text'",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"xml": {
|
||
"name": "Data"
|
||
}
|
||
}
|
||
}
|
||
} |