{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "adminmanagement.local.azurestack.external",
  "info": {
    "description": "The Admin Storage Management Client.",
    "title": "StorageManagementClient",
    "version": "2015-12-01-preview",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "azsadmin-storage",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "REST Api Version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "FarmIdParameter": {
      "description": "Farm Id.",
      "in": "path",
      "name": "farmId",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "FilterParameter": {
      "description": "Filter string",
      "in": "query",
      "name": "$filter",
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "LocationParameter": {
      "description": "Resource location.",
      "in": "path",
      "name": "location",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "OperationIdParameter": {
      "description": "Operation Id.",
      "in": "path",
      "name": "operationId",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "ResourceGroupNameParameter": {
      "description": "Resource group name.",
      "in": "path",
      "name": "resourceGroupName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "ServiceTypeParameter": {
      "description": "The service type.",
      "enum": [
        "default"
      ],
      "in": "path",
      "name": "serviceType",
      "required": true,
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "ServiceType"
      },
      "x-ms-parameter-location": "method"
    },
    "ShareNameParameter": {
      "description": "Share name.",
      "in": "path",
      "name": "shareName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "SubscriptionIdParameter": {
      "description": "Subscription Id.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/providers/Microsoft.Storage.Admin/operations": {
      "get": {
        "description": "Get the list of support rest operations.",
        "operationId": "Operations_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- The list of operations has been returned.",
            "schema": {
              "$ref": "#/definitions/OperationList"
            }
          }
        },
        "tags": [
          "Commerce"
        ],
        "x-ms-examples": {
          "Get the list of support rest operations.": {
            "parameters": {
              "api-version": "2015-12-01-preview"
            },
            "responses": {
              "200": {
                "body": {
                  "value": []
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    }
  },
  "definitions": {
    "AggregateType": {
      "description": "Aggregate type.",
      "enum": [
        "None",
        "Average",
        "Total",
        "Minimum",
        "Maximum",
        "Last"
      ],
      "readOnly": true,
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "AggregateType"
      }
    },
    "Display": {
      "description": "Contains the localized display information for this particular operation / action.",
      "properties": {
        "description": {
          "description": "The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views.",
          "readOnly": true,
          "type": "string"
        },
        "operation": {
          "description": "The localized friendly name for the operation, as it should be shown to the user.",
          "readOnly": true,
          "type": "string"
        },
        "provider": {
          "description": "The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
          "readOnly": true,
          "type": "string"
        },
        "resource": {
          "description": "The localized friendly form of the resource type related to this action/operation – it should match the public documentation for the resource provider.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "HealthStatus": {
      "description": "Current health status.",
      "enum": [
        "Unknown",
        "Healthy",
        "Warning",
        "Critical"
      ],
      "readOnly": true,
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "HealthStatus"
      }
    },
    "LocalizableString": {
      "description": "Localizable string.",
      "properties": {
        "localizedValue": {
          "description": "Localized value of the string.",
          "type": "string"
        },
        "value": {
          "description": "Value of the string.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Metric": {
      "description": "Metric information.",
      "properties": {
        "endTime": {
          "description": "Metric end time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "metricUnit": {
          "$ref": "#/definitions/MetricUnit",
          "description": "Metric Unit.",
          "readOnly": true
        },
        "metricValues": {
          "description": "List of metric values.",
          "items": {
            "$ref": "#/definitions/MetricValue"
          },
          "readOnly": true,
          "type": "array"
        },
        "name": {
          "$ref": "#/definitions/LocalizableString",
          "description": "Metric Name.",
          "readOnly": true
        },
        "startTime": {
          "description": "Metric start time.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "timeGrain": {
          "description": "Metric time grain.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "MetricAvailability": {
      "description": "Metric availability.",
      "properties": {
        "retention": {
          "description": "Retention of metric.",
          "type": "string"
        },
        "timeGrain": {
          "description": "Time grain.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MetricDefinition": {
      "description": "Metric definition.",
      "properties": {
        "metricAvailabilities": {
          "description": "Metric availabilities.",
          "items": {
            "$ref": "#/definitions/MetricAvailability"
          },
          "readOnly": true,
          "type": "array"
        },
        "name": {
          "$ref": "#/definitions/LocalizableString",
          "description": "Metric name.",
          "readOnly": true
        },
        "primaryAggregationType": {
          "$ref": "#/definitions/AggregateType",
          "description": "Aggregation type of metric.",
          "readOnly": true
        },
        "unit": {
          "$ref": "#/definitions/MetricUnit",
          "description": "Metric unit.",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "MetricDefinitionList": {
      "description": "Pageable list of metric definitions.",
      "properties": {
        "nextLink": {
          "description": "URI to the next page.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "List of metric definitions.",
          "items": {
            "$ref": "#/definitions/MetricDefinition"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "MetricList": {
      "description": "Pageable list of metrics.",
      "properties": {
        "nextLink": {
          "description": "URI to the next page.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "List of metrics.",
          "items": {
            "$ref": "#/definitions/Metric"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "MetricUnit": {
      "description": "Metric unit.",
      "enum": [
        "Count",
        "Bytes",
        "Seconds",
        "CountPerSecond",
        "BytesPerSecond"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "MetricUnit"
      }
    },
    "MetricValue": {
      "description": "Metric value.",
      "properties": {
        "average": {
          "description": "Average value of metric.",
          "format": "float",
          "readOnly": true,
          "type": "number"
        },
        "count": {
          "description": "Count of metric values.",
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "maximum": {
          "description": "Maximum value of metric.",
          "format": "float",
          "readOnly": true,
          "type": "number"
        },
        "minimum": {
          "description": "Minimum value of metric.",
          "format": "float",
          "readOnly": true,
          "type": "number"
        },
        "properties": {
          "description": "Metric value properties.",
          "readOnly": true,
          "type": "string"
        },
        "timeStamp": {
          "description": "Timestamp of metric value.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "total": {
          "description": "Total value of metric.",
          "format": "float",
          "readOnly": true,
          "type": "number"
        }
      }
    },
    "Operation": {
      "description": "Describes the supported REST operation.",
      "properties": {
        "display": {
          "$ref": "#/definitions/Display",
          "description": "Contains the localized display information for this particular operation / action.",
          "readOnly": true
        },
        "name": {
          "description": "The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "OperationList": {
      "description": "Pageable list of supported operations.",
      "properties": {
        "nextLink": {
          "description": "URI to the next page of operations.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "List of operations",
          "items": {
            "$ref": "#/definitions/Operation"
          },
          "type": "array"
        }
      }
    },
    "Resource": {
      "description": "Base resource object.",
      "properties": {
        "id": {
          "description": "Resource ID.",
          "type": "string"
        },
        "location": {
          "description": "Resource location.",
          "type": "string"
        },
        "name": {
          "description": "Resource Name.",
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags.",
          "type": "object"
        },
        "type": {
          "description": "Resource type.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "Service": {
      "description": "Storage service.",
      "properties": {
        "healthStatus": {
          "$ref": "#/definitions/HealthStatus",
          "description": "Health status of storage service."
        },
        "version": {
          "description": "Storage service version.",
          "type": "string"
        }
      }
    },
    "WritableServiceSettings": {
      "allOf": [
        {
          "$ref": "#/definitions/WritableSettings"
        }
      ],
      "description": "Settings of storage services.",
      "properties": {
        "frontEndHttpListenPort": {
          "description": "The HTTP port of the storage service front end.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndHttpsListenPort": {
          "description": "The HTTPs port of the storage service front end.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "WritableSettings": {
      "description": "Storage service settings.",
      "properties": {
        "frontEndCallbackThreadsCount": {
          "description": "Front end callback threads count.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": {
          "description": "Interval (in second) of CPU monitor for front end CPU based keep-alive throttling.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndCpuBasedKeepAliveThrottlingEnabled": {
          "description": "Switch of front end CPU based keep-alive throttling.",
          "type": "boolean"
        },
        "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": {
          "description": "Threshold (% percentage) of front end CPU based keep-alive throttling.",
          "format": "float",
          "type": "number"
        },
        "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": {
          "description": "Threshold (% percentage) of requests to throttle in front end CPU based keep-alive throttling.",
          "format": "float",
          "type": "number"
        },
        "frontEndMaxMillisecondsBetweenMemorySamples": {
          "description": "Maximum interval (in millisecond) between memory samples of front end.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndMemoryThrottleThresholdSettings": {
          "description": "Front end memory throttle threshold settings.",
          "type": "string"
        },
        "frontEndMemoryThrottlingEnabled": {
          "description": "Switch of front end memory throttling.",
          "type": "boolean"
        },
        "frontEndMinThreadPoolThreads": {
          "description": "Front end minimum number of threads in thread pool.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": {
          "description": "Threshold of front end thread pool based keep-alive IO completion.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": {
          "description": "Monitor interval (in seconds) of front end thread pool based keep-alive monitor.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndThreadPoolBasedKeepAlivePercentage": {
          "description": "Percentage (%) of front end thread pool based keep-alive.",
          "format": "float",
          "type": "number"
        },
        "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": {
          "description": "Threshold of front end thread pool based keep-alive worker thread.",
          "format": "int32",
          "type": "integer"
        },
        "frontEndUseSlaTimeInAvailability": {
          "description": "Switch of whether front end uses SLA time in availability.",
          "type": "boolean"
        }
      },
      "type": "object"
    }
  }
}