@microsoft.azure/autorest.testserver
Version:
Autorest test server.
1,536 lines (1,535 loc) • 41.1 kB
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"],
"x-ms-enum": { "modelAsString": false },
"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"],
"x-ms-enum": { "modelAsString": false },
"required": true
},
{
"name": "restype",
"in": "query",
"type": "string",
"enum": ["service"],
"x-ms-enum": { "modelAsString": false },
"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"],
"x-ms-enum": { "modelAsString": false },
"required": true
},
{
"name": "restype",
"in": "query",
"type": "string",
"enum": ["service"],
"x-ms-enum": { "modelAsString": false },
"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"],
"x-ms-enum": { "modelAsString": false },
"required": true
},
{
"name": "restype",
"in": "query",
"type": "string",
"enum": ["container"],
"x-ms-enum": { "modelAsString": false },
"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"],
"x-ms-enum": { "modelAsString": false },
"required": true
},
{
"name": "restype",
"in": "query",
"type": "string",
"enum": ["container"],
"x-ms-enum": { "modelAsString": false },
"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"],
"x-ms-enum": { "modelAsString": false },
"required": true
},
{
"name": "restype",
"in": "query",
"type": "string",
"enum": ["container"],
"x-ms-enum": { "modelAsString": false },
"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"
}
}
}
}
},
"/xml/bytes": {
"get": {
"operationId": "xml_getBytes",
"description": "Get an XML document with binary property",
"tags": ["XML Operations"],
"responses": {
"200": {
"description": "The simple XML document",
"schema": {
"$ref": "#/definitions/ModelWithByteProperty"
}
},
"default": {
"description": "Unexpected error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"operationId": "xml_putBinary",
"description": "Put an XML document with binary property",
"tags": ["XML Operations"],
"parameters": [
{
"name": "slideshow",
"in": "body",
"schema": {
"$ref": "#/definitions/ModelWithByteProperty"
},
"required": true
}
],
"responses": {
"201": {
"description": "Indicates success"
},
"default": {
"description": "Unexpected error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/xml/url": {
"get": {
"operationId": "xml_getUri",
"description": "Get an XML document with uri property",
"tags": ["XML Operations"],
"responses": {
"200": {
"description": "The simple XML document",
"schema": {
"$ref": "#/definitions/ModelWithUrlProperty"
}
},
"default": {
"description": "Unexpected error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"put": {
"operationId": "xml_putUri",
"description": "Put an XML document with uri property",
"tags": ["XML Operations"],
"parameters": [
{
"name": "model",
"in": "body",
"schema": {
"$ref": "#/definitions/ModelWithUrlProperty"
},
"required": true
}
],
"responses": {
"201": {
"description": "Indicates success"
},
"default": {
"description": "Unexpected error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
}
},
"definitions": {
"ModelWithByteProperty": {
"properties": {
"Bytes": {
"type": "string",
"format": "byte"
}
}
},
"ModelWithUrlProperty": {
"properties": {
"Url": {
"type": "string",
"format": "url"
}
}
},
"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"
}
}
}
}