autorest.azure-functions-py.../test/data/swagger/xml-service.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"
}
}
}
}