{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, log files and configurations.",
    "title": "MySQLManagementClient",
    "version": "2017-04-30-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/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/mysql.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "mysql",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "The API version to use for the request.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "ConfigurationNameParameter": {
      "description": "The name of the server configuration.",
      "in": "path",
      "name": "configurationName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "DatabaseNameParameter": {
      "description": "The name of the database.",
      "in": "path",
      "name": "databaseName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "FirewallRuleNameParameter": {
      "description": "The name of the server firewall rule.",
      "in": "path",
      "name": "firewallRuleName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "LocationNameParameter": {
      "description": "The name of the location.",
      "in": "path",
      "name": "locationName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "ResourceGroupParameter": {
      "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
      "in": "path",
      "name": "resourceGroupName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "ServerNameParameter": {
      "description": "The name of the server.",
      "in": "path",
      "name": "serverName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "SubscriptionIdParameter": {
      "description": "The subscription ID that identifies an Azure subscription.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/providers/Microsoft.DBforMySQL/operations": {
      "get": {
        "description": "Lists all of the available REST API operations.",
        "operationId": "Operations_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OperationListResult"
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "OperationList": {
            "parameters": {
              "api-version": "2017-04-30-preview"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "display": {
                        "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule.",
                        "operation": "List/Get Firewall Rules",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "Firewall Rules"
                      },
                      "name": "Microsoft.DBforMySQL/servers/firewallRules/read"
                    },
                    {
                      "display": {
                        "description": "Creates a firewall rule with the specified parameters or update an existing rule.",
                        "operation": "Create/Update Firewall Rule",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "Firewall Rules"
                      },
                      "name": "Microsoft.DBforMySQL/servers/firewallRules/write"
                    },
                    {
                      "display": {
                        "description": "Deletes an existing firewall rule.",
                        "operation": "Delete Firewall Rule",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "Firewall Rules"
                      },
                      "name": "Microsoft.DBforMySQL/servers/firewallRules/delete"
                    },
                    {
                      "display": {
                        "description": "Return the list of servers or gets the properties for the specified server.",
                        "operation": "List/Get MySQL Servers",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "MySQL Server"
                      },
                      "name": "Microsoft.DBforMySQL/servers/read"
                    },
                    {
                      "display": {
                        "description": "Creates a server with the specified parameters or update the properties or tags for the specified server.",
                        "operation": "Create/Update MySQL Server",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "MySQL Server"
                      },
                      "name": "Microsoft.DBforMySQL/servers/write"
                    },
                    {
                      "display": {
                        "description": "Deletes an existing server.",
                        "operation": "Delete MySQL Server",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "MySQL Server"
                      },
                      "name": "Microsoft.DBforMySQL/servers/delete"
                    },
                    {
                      "display": {
                        "description": "Returns the list of Performance Tiers available.",
                        "operation": "List Performance Tiers",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "Performance Tiers"
                      },
                      "name": "Microsoft.DBforMySQL/performanceTiers/read"
                    },
                    {
                      "display": {
                        "description": "Return types of metrics that are available for databases",
                        "operation": "Get database metric definitions",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "Database Metric Definition"
                      },
                      "name": "Microsoft.DBforMySQL/servers/providers/Microsoft.Insights/metricDefinitions/read",
                      "properties": {
                        "serviceSpecification": {
                          "metricSpecifications": [
                            {
                              "aggregationType": "Average",
                              "displayDescription": "CPU percent",
                              "displayName": "CPU percent",
                              "fillGapWithZero": true,
                              "name": "cpu_percent",
                              "unit": "Percent"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Compute limit",
                              "displayName": "Compute limit",
                              "name": "compute_limit",
                              "unit": "Count"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Compute percentage",
                              "displayName": "Compute percentage",
                              "fillGapWithZero": true,
                              "name": "compute_consumption_percent",
                              "unit": "Percent"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Memory percent",
                              "displayName": "Memory percent",
                              "fillGapWithZero": true,
                              "name": "memory_percent",
                              "unit": "Percent"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "IO percent",
                              "displayName": "IO percent",
                              "fillGapWithZero": true,
                              "name": "io_consumption_percent",
                              "unit": "Percent"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Storage percentage",
                              "displayName": "Storage percentage",
                              "name": "storage_percent",
                              "unit": "Percent"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Storage used",
                              "displayName": "Storage used",
                              "name": "storage_used",
                              "unit": "Bytes"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Storage limit",
                              "displayName": "Storage limit",
                              "name": "storage_limit",
                              "unit": "Bytes"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Total active connections",
                              "displayName": "Total active connections",
                              "fillGapWithZero": true,
                              "name": "active_connections",
                              "unit": "Count"
                            },
                            {
                              "aggregationType": "Average",
                              "displayDescription": "Total failed connections",
                              "displayName": "Total failed connections",
                              "fillGapWithZero": true,
                              "name": "connections_failed",
                              "unit": "Count"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "display": {
                        "description": "Gets the disagnostic setting for the resource",
                        "operation": "Read diagnostic setting",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "Database Metric Definition"
                      },
                      "name": "Microsoft.DBforMySQL/servers/providers/Microsoft.Insights/diagnosticSettings/read"
                    },
                    {
                      "display": {
                        "description": "Creates or updates the diagnostic setting for the resource",
                        "operation": "Write diagnostic setting",
                        "provider": "Microsoft DB for MySQL",
                        "resource": "Database Metric Definition"
                      },
                      "name": "Microsoft.DBforMySQL/servers/providers/Microsoft.Insights/diagnosticSettings/write"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": {
      "post": {
        "description": "Check the availability of name for resource",
        "operationId": "CheckNameAvailability_Execute",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "description": "The required parameters for checking if resource name is available.",
            "in": "body",
            "name": "nameAvailabilityRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NameAvailabilityRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NameAvailability"
            }
          }
        },
        "tags": [
          "CheckNameAvailability"
        ],
        "x-ms-examples": {
          "NameAvailability": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "nameAvailabilityRequest": {
                "name": "name1",
                "type": "Microsoft.DBforMySQL"
              },
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "message": "",
                  "nameAvailable": true,
                  "reason": ""
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": {
      "get": {
        "description": "List all the performance tiers at specified location in a given subscription.",
        "operationId": "LocationBasedPerformanceTier_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/LocationNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PerformanceTierListResult"
            }
          }
        },
        "tags": [
          "LocationBasedPerformanceTier"
        ],
        "x-ms-examples": {
          "PerformanceTiersList": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "locationName": "WestUS",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "backupRetentionDays": 7,
                      "id": "Basic",
                      "serviceLevelObjectives": [
                        {
                          "dtu": 50,
                          "edition": "Basic",
                          "id": "MYSQLB50",
                          "storageMB": 51200
                        },
                        {
                          "dtu": 100,
                          "edition": "Basic",
                          "id": "MYSQLB100",
                          "storageMB": 51200
                        }
                      ]
                    },
                    {
                      "backupRetentionDays": 35,
                      "id": "Standard",
                      "serviceLevelObjectives": [
                        {
                          "dtu": 100,
                          "edition": "Standard",
                          "id": "MYSQLS100",
                          "storageMB": 128000
                        },
                        {
                          "dtu": 200,
                          "edition": "Standard",
                          "id": "MYSQLS200",
                          "storageMB": 128000
                        },
                        {
                          "dtu": 400,
                          "edition": "Standard",
                          "id": "MYSQLS400",
                          "storageMB": 128000
                        },
                        {
                          "dtu": 800,
                          "edition": "Standard",
                          "id": "MYSQLS800",
                          "storageMB": 128000
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers": {
      "get": {
        "description": "List all the performance tiers in a given subscription.",
        "operationId": "PerformanceTiers_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PerformanceTierListResult"
            }
          }
        },
        "tags": [
          "PerformanceTiers"
        ],
        "x-ms-examples": {
          "PerformanceTiersList": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "backupRetentionDays": 7,
                      "id": "Basic",
                      "serviceLevelObjectives": [
                        {
                          "dtu": 50,
                          "edition": "Basic",
                          "id": "MYSQLB50",
                          "storageMB": 51200
                        },
                        {
                          "dtu": 100,
                          "edition": "Basic",
                          "id": "MYSQLB100",
                          "storageMB": 51200
                        }
                      ]
                    },
                    {
                      "backupRetentionDays": 35,
                      "id": "Standard",
                      "serviceLevelObjectives": [
                        {
                          "dtu": 100,
                          "edition": "Standard",
                          "id": "MYSQLS100",
                          "storageMB": 128000
                        },
                        {
                          "dtu": 200,
                          "edition": "Standard",
                          "id": "MYSQLS200",
                          "storageMB": 128000
                        },
                        {
                          "dtu": 400,
                          "edition": "Standard",
                          "id": "MYSQLS400",
                          "storageMB": 128000
                        },
                        {
                          "dtu": 800,
                          "edition": "Standard",
                          "id": "MYSQLS800",
                          "storageMB": 128000
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": {
      "get": {
        "description": "List all the servers in a given subscription.",
        "operationId": "Servers_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ServerListResult"
            }
          }
        },
        "tags": [
          "Servers"
        ],
        "x-ms-examples": {
          "ServerList": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver",
                      "location": "onebox",
                      "name": "testserver",
                      "properties": {
                        "administratorLogin": "cloudsa",
                        "fullyQualifiedDomainName": "testserver.test-vm1.onebox.xdb.mscds.com",
                        "sslEnforcement": "Enabled",
                        "storageMB": 1024,
                        "userVisibleState": "Ready"
                      },
                      "sku": {
                        "capacity": 100,
                        "name": "MYSQLS3M100",
                        "tier": "Basic"
                      },
                      "tags": {
                        "elasticServer": "1"
                      },
                      "type": "Microsoft.DBforMySQL/servers"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/serv1",
                      "location": "onebox",
                      "name": "serv1",
                      "properties": {
                        "administratorLogin": "cloudsa",
                        "fullyQualifiedDomainName": "serv1.test-vm1.onebox.xdb.mscds.com",
                        "sslEnforcement": "Enabled",
                        "storageMB": 1024,
                        "userVisibleState": "Ready"
                      },
                      "sku": {
                        "capacity": 100,
                        "name": "MYSQLS3M100",
                        "tier": "Basic"
                      },
                      "tags": {
                        "elasticServer": "1"
                      },
                      "type": "Microsoft.DBforMySQL/servers"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup2/providers/Microsoft.DBforMySQL/servers/serv2",
                      "location": "onebox",
                      "name": "serv2",
                      "properties": {
                        "administratorLogin": "cloudsa",
                        "fullyQualifiedDomainName": "serv2.test-vm1.onebox.xdb.mscds.com",
                        "sslEnforcement": "Enabled",
                        "storageMB": 1024,
                        "userVisibleState": "Ready"
                      },
                      "sku": {
                        "capacity": 100,
                        "name": "MYSQLS3M100",
                        "tier": "Basic"
                      },
                      "tags": {
                        "elasticServer": "1"
                      },
                      "type": "Microsoft.DBforMySQL/servers"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": {
      "get": {
        "description": "List all the servers in a given resource group.",
        "operationId": "Servers_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ServerListResult"
            }
          }
        },
        "tags": [
          "Servers"
        ],
        "x-ms-examples": {
          "ServerListByResourceGroup": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "resourceGroupName": "TestGroup",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/serv1",
                      "location": "onebox",
                      "name": "serv1",
                      "properties": {
                        "administratorLogin": "cloudsa",
                        "fullyQualifiedDomainName": "serv1.test-vm1.onebox.xdb.mscds.com",
                        "sslEnforcement": "Enabled",
                        "storageMB": 1024,
                        "userVisibleState": "Ready"
                      },
                      "sku": {
                        "capacity": 100,
                        "name": "MYSQLS3M100",
                        "tier": "Basic"
                      },
                      "tags": {
                        "elasticServer": "1"
                      },
                      "type": "Microsoft.DBforMySQL/servers"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver",
                      "location": "onebox",
                      "name": "testserver",
                      "properties": {
                        "administratorLogin": "cloudsa",
                        "fullyQualifiedDomainName": "testserver.test-vm1.onebox.xdb.mscds.com",
                        "sslEnforcement": "Enabled",
                        "storageMB": 1024,
                        "userVisibleState": "Ready"
                      },
                      "sku": {
                        "capacity": 100,
                        "name": "MYSQLS3M100",
                        "tier": "Basic"
                      },
                      "tags": {
                        "elasticServer": "1"
                      },
                      "type": "Microsoft.DBforMySQL/servers"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": {
      "delete": {
        "description": "Deletes a server.",
        "operationId": "Servers_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "tags": [
          "Servers"
        ],
        "x-ms-examples": {
          "ServerDelete": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets information about a server.",
        "operationId": "Servers_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Server"
            }
          }
        },
        "tags": [
          "Servers"
        ],
        "x-ms-examples": {
          "ServerGet": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver",
                  "location": "onebox",
                  "name": "testserver",
                  "properties": {
                    "administratorLogin": "cloudsa",
                    "fullyQualifiedDomainName": "testserver.test-vm1.onebox.xdb.mscds.com",
                    "sslEnforcement": "Enabled",
                    "storageMB": 1024,
                    "userVisibleState": "Ready"
                  },
                  "sku": {
                    "capacity": 100,
                    "name": "MYSQLS3M100",
                    "tier": "Basic"
                  },
                  "tags": {
                    "elasticServer": "1"
                  },
                  "type": "Microsoft.DBforMySQL/servers"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.",
        "operationId": "Servers_Update",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "description": "The required parameters for updating a server.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ServerUpdateParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Server"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "Servers"
        ],
        "x-ms-examples": {
          "ServerUpdate": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "parameters": {
                "properties": {
                  "administratorLoginPassword": "newpassword",
                  "sslEnforcement": "Disabled"
                }
              },
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver",
                  "location": "onebox",
                  "name": "testserver",
                  "properties": {
                    "administratorLogin": "cloudsa",
                    "fullyQualifiedDomainName": "testserver.test-vm1.onebox.xdb.mscds.com",
                    "sslEnforcement": "Disabled",
                    "storageMB": 1024,
                    "userVisibleState": "Ready"
                  },
                  "sku": {
                    "capacity": 100,
                    "name": "MYSQLS3M100",
                    "tier": "Basic"
                  },
                  "tags": {
                    "elasticServer": "1"
                  },
                  "type": "Microsoft.DBforMySQL/servers"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.",
        "operationId": "Servers_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "description": "The required parameters for creating or updating a server.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ServerForCreate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Server"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Server"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "Servers"
        ],
        "x-ms-examples": {
          "ServerCreate": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "parameters": {
                "location": "OneBox",
                "properties": {
                  "administratorLogin": "cloudsa",
                  "administratorLoginPassword": "password",
                  "createMode": "Default",
                  "sslEnforcement": "Enabled",
                  "storageMB": 1024
                },
                "sku": {
                  "capacity": 100,
                  "name": "SkuName",
                  "tier": "Basic"
                },
                "tags": {
                  "ElasticServer": "1"
                }
              },
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver",
                  "location": "onebox",
                  "name": "testserver",
                  "properties": {
                    "administratorLogin": "cloudsa",
                    "fullyQualifiedDomainName": "testserver.test-vm1.onebox.xdb.mscds.com",
                    "sslEnforcement": "Enabled",
                    "storageMB": 1024,
                    "userVisibleState": "Ready"
                  },
                  "sku": {
                    "capacity": 100,
                    "name": "MYSQLS3M100",
                    "tier": "Basic"
                  },
                  "tags": {
                    "elasticServer": "1"
                  },
                  "type": "Microsoft.DBforMySQL/servers"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver",
                  "location": "onebox",
                  "name": "testserver",
                  "properties": {
                    "administratorLogin": "cloudsa",
                    "fullyQualifiedDomainName": "testserver.test-vm1.onebox.xdb.mscds.com",
                    "sslEnforcement": "Enabled",
                    "storageMB": 1024,
                    "userVisibleState": "Ready"
                  },
                  "sku": {
                    "capacity": 100,
                    "name": "MYSQLS3M100",
                    "tier": "Basic"
                  },
                  "tags": {
                    "elasticServer": "1"
                  },
                  "type": "Microsoft.DBforMySQL/servers"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": {
      "get": {
        "description": "List all the configurations in a given server.",
        "operationId": "Configurations_ListByServer",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ConfigurationListResult"
            }
          }
        },
        "tags": [
          "Configurations"
        ],
        "x-ms-examples": {
          "ConfigurationList": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/event_scheduler",
                      "name": "event_scheduler",
                      "properties": {
                        "allowedValues": "ON,OFF,DISABLED",
                        "dataType": "Enumeration",
                        "defaultValue": "OFF",
                        "description": "Indicates the status of the Event Scheduler.",
                        "source": "system-default",
                        "value": "OFF"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/div_precision_increment",
                      "name": "div_precision_increment",
                      "properties": {
                        "allowedValues": "0-30",
                        "dataType": "Integer",
                        "defaultValue": "4",
                        "description": "Number of digits by which to increase the scale of the result of division operations.",
                        "source": "system-default",
                        "value": "4"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/group_concat_max_len",
                      "name": "group_concat_max_len",
                      "properties": {
                        "allowedValues": "4-16777216",
                        "dataType": "Integer",
                        "defaultValue": "1024",
                        "description": "Maximum allowed result length in bytes for the GROUP_CONCAT().",
                        "source": "system-default",
                        "value": "1024"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/innodb_adaptive_hash_index",
                      "name": "innodb_adaptive_hash_index",
                      "properties": {
                        "allowedValues": "ON,OFF",
                        "dataType": "Enumeration",
                        "defaultValue": "ON",
                        "description": "Whether innodb adaptive hash indexes are enabled or disabled.",
                        "source": "system-default",
                        "value": "ON"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/innodb_lock_wait_timeout",
                      "name": "innodb_lock_wait_timeout",
                      "properties": {
                        "allowedValues": "1-3600",
                        "dataType": "Integer",
                        "defaultValue": "50",
                        "description": "The length of time in seconds an InnoDB transaction waits for a row lock before giving up.",
                        "source": "system-default",
                        "value": "50"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/interactive_timeout",
                      "name": "interactive_timeout",
                      "properties": {
                        "allowedValues": "10-1800",
                        "dataType": "Integer",
                        "defaultValue": "1800",
                        "description": "Number of seconds the server waits for activity on an interactive connection before closing it.",
                        "source": "system-default",
                        "value": "1800"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/log_queries_not_using_indexes",
                      "name": "log_queries_not_using_indexes",
                      "properties": {
                        "allowedValues": "ON,OFF",
                        "dataType": "Enumeration",
                        "defaultValue": "OFF",
                        "description": "Logs queries that are expected to retrieve all rows to slow query log.",
                        "source": "system-default",
                        "value": "OFF"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/log_throttle_queries_not_using_indexes",
                      "name": "log_throttle_queries_not_using_indexes",
                      "properties": {
                        "allowedValues": "0-4294967295",
                        "dataType": "Integer",
                        "defaultValue": "0",
                        "description": "Limits the number of such queries per minute that can be written to the slow query log.",
                        "source": "system-default",
                        "value": "0"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/log_slow_admin_statements",
                      "name": "log_slow_admin_statements",
                      "properties": {
                        "allowedValues": "ON,OFF",
                        "dataType": "Enumeration",
                        "defaultValue": "OFF",
                        "description": "Include slow administrative statements in the statements written to the slow query log.",
                        "source": "system-default",
                        "value": "OFF"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/log_bin_trust_function_creators",
                      "name": "log_bin_trust_function_creators",
                      "properties": {
                        "allowedValues": "ON,OFF,FALSE",
                        "dataType": "Enumeration",
                        "defaultValue": "OFF",
                        "description": "This variable applies when binary logging is enabled. It controls whether stored function creators can be trusted not to create stored functions that will cause unsafe events to be written to the binary log.",
                        "source": "system-default",
                        "value": "OFF"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/long_query_time",
                      "name": "long_query_time",
                      "properties": {
                        "allowedValues": "1-1E+100",
                        "dataType": "Numeric",
                        "defaultValue": "10",
                        "description": "If a query takes longer than this many seconds, the server increments the Slow_queries status variable.",
                        "source": "system-default",
                        "value": "10"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/min_examined_row_limit",
                      "name": "min_examined_row_limit",
                      "properties": {
                        "allowedValues": "0-18446744073709551615",
                        "dataType": "Integer",
                        "defaultValue": "0",
                        "description": "Can be used to cause queries which examine fewer than the stated number of rows not to be logged.",
                        "source": "system-default",
                        "value": "0"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/slow_query_log",
                      "name": "slow_query_log",
                      "properties": {
                        "allowedValues": "ON,OFF",
                        "dataType": "Enumeration",
                        "defaultValue": "OFF",
                        "description": "Enable or disable the slow query log",
                        "source": "system-default",
                        "value": "OFF"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/sql_mode",
                      "name": "sql_mode",
                      "properties": {
                        "allowedValues": ",ALLOW_INVALID_DATES,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE,IGNORE_SPACE,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_UNSIGNED_SUBTRACTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY,PAD_CHAR_TO_FULL_LENGTH,PIPES_AS_CONCAT,REAL_AS_FLOAT,STRICT_ALL_TABLES,STRICT_TRANS_TABLES",
                        "dataType": "Set",
                        "defaultValue": "",
                        "description": "The current server SQL mode.",
                        "source": "system-default",
                        "value": ""
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/wait_timeout",
                      "name": "wait_timeout",
                      "properties": {
                        "allowedValues": "60-240",
                        "dataType": "Integer",
                        "defaultValue": "120",
                        "description": "The number of seconds the server waits for activity on a noninteractive connection before closing it.",
                        "source": "system-default",
                        "value": "120"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/server_id",
                      "name": "server_id",
                      "properties": {
                        "allowedValues": "1000-4294967295",
                        "dataType": "Integer",
                        "defaultValue": "1000",
                        "description": "The server ID, used in replication to give each master and slave a unique identity.",
                        "source": "user-override",
                        "value": "1129667931"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/max_allowed_packet",
                      "name": "max_allowed_packet",
                      "properties": {
                        "allowedValues": "1024-1073741824",
                        "dataType": "Integer",
                        "defaultValue": "536870912",
                        "description": "The maximum size of one packet or any generated/intermediate string, or any parameter sent by the mysql_stmt_send_long_data() C API function.",
                        "source": "system-default",
                        "value": "536870912"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/slave_net_timeout",
                      "name": "slave_net_timeout",
                      "properties": {
                        "allowedValues": "30-3600",
                        "dataType": "Integer",
                        "defaultValue": "60",
                        "description": "The number of seconds to wait for more data from the master before the slave considers the connection broken, aborts the read, and tries to reconnect.",
                        "source": "system-default",
                        "value": "60"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/time_zone",
                      "name": "time_zone",
                      "properties": {
                        "allowedValues": "[+|-][0]{0,1}[0-9]:[0-5][0-9]|[+|-][1][0-2]:[0-5][0-9]|SYSTEM",
                        "dataType": "String",
                        "defaultValue": "SYSTEM",
                        "description": "The server time zone",
                        "source": "system-default",
                        "value": "SYSTEM"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/character_set_server",
                      "name": "character_set_server",
                      "properties": {
                        "allowedValues": "BIG5,DEC8,CP850,HP8,KOI8R,LATIN1,LATIN2,SWE7,ASCII,UJIS,SJIS,HEBREW,TIS620,EUCKR,KOI8U,GB2312,GREEK,CP1250,GBK,LATIN5,ARMSCII8,UTF8,UCS2,CP866,KEYBCS2,MACCE,MACROMAN,CP852,LATIN7,UTF8MB4,CP1251,UTF16,CP1256,CP1257,UTF32,BINARY,GEOSTD8,CP932,EUCJPMS",
                        "dataType": "Enumeration",
                        "defaultValue": "latin1",
                        "description": "Use charset_name as the default server character set.",
                        "source": "system-default",
                        "value": "latin1"
                      },
                      "type": "Microsoft.DBforMySQL/servers/configurations"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": {
      "get": {
        "description": "Gets information about a configuration of server.",
        "operationId": "Configurations_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/ConfigurationNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Configuration"
            }
          }
        },
        "tags": [
          "Configurations"
        ],
        "x-ms-examples": {
          "ConfigurationGet": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "configurationName": "event_scheduler",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/event_scheduler",
                  "name": "event_scheduler",
                  "properties": {
                    "allowedValues": "ON,OFF,DISABLED",
                    "dataType": "Enumeration",
                    "defaultValue": "OFF",
                    "description": "Indicates the status of the Event Scheduler.",
                    "source": "system-default",
                    "value": "OFF"
                  },
                  "type": "Microsoft.DBforMySQL/servers/configurations"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Updates a configuration of a server.",
        "operationId": "Configurations_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/ConfigurationNameParameter"
          },
          {
            "description": "The required parameters for updating a server configuration.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Configuration"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Configuration"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "Configurations"
        ],
        "x-ms-examples": {
          "ConfigurationCreateOrUpdate": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "configurationName": "event_scheduler",
              "parameters": {
                "properties": {
                  "source": "user-override",
                  "value": "ON"
                }
              },
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/event_scheduler",
                  "name": "event_scheduler",
                  "properties": {
                    "allowedValues": "ON,OFF,DISABLED",
                    "dataType": "Enumeration",
                    "defaultValue": "OFF",
                    "description": "Indicates the status of the Event Scheduler.",
                    "source": "user-override",
                    "value": "ON"
                  },
                  "type": "Microsoft.DBforMySQL/servers/configurations"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": {
      "get": {
        "description": "List all the databases in a given server.",
        "operationId": "Databases_ListByServer",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DatabaseListResult"
            }
          }
        },
        "tags": [
          "Databases"
        ],
        "x-ms-examples": {
          "DatabaseList": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/databases/db1",
                      "name": "db1",
                      "properties": {
                        "charset": "utf8",
                        "collation": "utf8_general_ci"
                      },
                      "type": "Microsoft.DBforMySQL/servers/databases"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/databases/db2",
                      "name": "db2",
                      "properties": {
                        "charset": "utf8",
                        "collation": "utf8_general_ci"
                      },
                      "type": "Microsoft.DBforMySQL/servers/databases"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": {
      "delete": {
        "description": "Deletes a database.",
        "operationId": "Databases_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/DatabaseNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "tags": [
          "Databases"
        ],
        "x-ms-examples": {
          "DatabaseDelete": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "databaseName": "db1",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets information about a database.",
        "operationId": "Databases_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/DatabaseNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Database"
            }
          }
        },
        "tags": [
          "Databases"
        ],
        "x-ms-examples": {
          "DatabaseGet": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "databaseName": "db1",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/databases/db1",
                  "name": "db1",
                  "properties": {
                    "charset": "utf8",
                    "collation": "utf8_general_ci"
                  },
                  "type": "Microsoft.DBforMySQL/servers/databases"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a new database or updates an existing database.",
        "operationId": "Databases_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/DatabaseNameParameter"
          },
          {
            "description": "The required parameters for creating or updating a database.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Database"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Database"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Database"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "Databases"
        ],
        "x-ms-examples": {
          "DatabaseCreate": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "databaseName": "db1",
              "parameters": {
                "properties": {
                  "charset": "utf8",
                  "collation": "utf8_general_ci"
                }
              },
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/databases/db1",
                  "name": "db1",
                  "properties": {
                    "charset": "utf8",
                    "collation": "utf8_general_ci"
                  },
                  "type": "Microsoft.DBforMySQL/servers/databases"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/databases/db1",
                  "name": "db1",
                  "properties": {
                    "charset": "utf8",
                    "collation": "utf8_general_ci"
                  },
                  "type": "Microsoft.DBforMySQL/servers/databases"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": {
      "get": {
        "description": "List all the firewall rules in a given server.",
        "operationId": "FirewallRules_ListByServer",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FirewallRuleListResult"
            }
          }
        },
        "tags": [
          "FirewallRules"
        ],
        "x-ms-examples": {
          "FirewallRuleList": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/firewallRules/rule1",
                      "name": "rule1",
                      "properties": {
                        "endIpAddress": "255.255.255.255",
                        "startIpAddress": "0.0.0.0"
                      },
                      "type": "Microsoft.DBforMySQL/servers/firewallRules"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/firewallRules/rule2",
                      "name": "rule2",
                      "properties": {
                        "endIpAddress": "255.0.0.0",
                        "startIpAddress": "1.0.0.0"
                      },
                      "type": "Microsoft.DBforMySQL/servers/firewallRules"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": {
      "delete": {
        "description": "Deletes a server firewall rule.",
        "operationId": "FirewallRules_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/FirewallRuleNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "tags": [
          "FirewallRules"
        ],
        "x-ms-examples": {
          "FirewallRuleDelete": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "firewallRuleName": "rule1",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets information about a server firewall rule.",
        "operationId": "FirewallRules_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/FirewallRuleNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FirewallRule"
            }
          }
        },
        "tags": [
          "FirewallRules"
        ],
        "x-ms-examples": {
          "FirewallRuleGet": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "firewallRuleName": "rule1",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/firewallRules/rule1",
                  "name": "rule1",
                  "properties": {
                    "endIpAddress": "255.255.255.255",
                    "startIpAddress": "0.0.0.0"
                  },
                  "type": "Microsoft.DBforMySQL/servers/firewallRules"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a new firewall rule or updates an existing firewall rule.",
        "operationId": "FirewallRules_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          },
          {
            "$ref": "#/parameters/FirewallRuleNameParameter"
          },
          {
            "description": "The required parameters for creating or updating a firewall rule.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FirewallRule"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FirewallRule"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/FirewallRule"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "FirewallRules"
        ],
        "x-ms-examples": {
          "FirewallRuleCreate": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "firewallRuleName": "rule1",
              "parameters": {
                "properties": {
                  "endIpAddress": "255.255.255.255",
                  "startIpAddress": "0.0.0.0"
                }
              },
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/firewallRules/rule1",
                  "name": "rule1",
                  "properties": {
                    "endIpAddress": "255.255.255.255",
                    "startIpAddress": "0.0.0.0"
                  },
                  "type": "Microsoft.DBforMySQL/servers/firewallRules"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/firewallRules/rule1",
                  "name": "rule1",
                  "properties": {
                    "endIpAddress": "255.255.255.255",
                    "startIpAddress": "0.0.0.0"
                  },
                  "type": "Microsoft.DBforMySQL/servers/firewallRules"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": {
      "get": {
        "description": "List all the log files in a given server.",
        "operationId": "LogFiles_ListByServer",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/ResourceGroupParameter"
          },
          {
            "$ref": "#/parameters/ServerNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LogFileListResult"
            }
          }
        },
        "tags": [
          "LogFiles"
        ],
        "x-ms-examples": {
          "LogFileList": {
            "parameters": {
              "api-version": "2017-04-30-preview",
              "resourceGroupName": "TestGroup",
              "serverName": "testserver",
              "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/logFiles/mysql-slow-testserver-2017042102.log",
                      "name": "mysql-slow-testserver-2017042102.log",
                      "properties": {
                        "createdTime": "0001-01-01T00:00:00+00:00",
                        "lastModifiedTime": "2017-04-21T03:02:23+00:00",
                        "name": "mysql-slow-testserver-2017042102.log",
                        "sizeInKB": 1,
                        "type": "slowlog",
                        "url": "https://wasd2orcasseas1aelsfse0.file.core.windows.net/52bd047495b3459b95185a1738cbaeac/serverlogs/mysql-slow-testserver-2017042102.log?sv=2015-04-05&sr=f&sig=zt6C6CBMygNbwzbDw5qcU%2F3duOgP9ZERQ8aWJr7fnuM%3D&se=2017-04-21T04%3A02%3A33Z&sp=r"
                      },
                      "type": "Microsoft.DBforMySQL/servers/logFiles"
                    },
                    {
                      "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/logFiles/mysql-slow-testserver-2017042202.log",
                      "name": "mysql-slow-testserver-2017042202.log",
                      "properties": {
                        "createdTime": "0001-01-01T00:00:00+00:00",
                        "lastModifiedTime": "2017-04-22T03:02:23+00:00",
                        "name": "mysql-slow-testserver-2017042202.log",
                        "sizeInKB": 1,
                        "type": "slowlog",
                        "url": "https://wasd2orcasseas1aelsfse0.file.core.windows.net/52bd047495b3459b95185a1738cbaeac/serverlogs/mysql-slow-testserver-2017042202.log?sv=2015-04-05&sr=f&sig=zt6C6CBMygNbwzbDw5qcU%2F3duOgP9ZERQ8aWJr7fnuM%3D&se=2017-04-22T04%3A02%3A33Z&sp=r"
                      },
                      "type": "Microsoft.DBforMySQL/servers/logFiles"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {}
      }
    }
  },
  "definitions": {
    "Configuration": {
      "allOf": [
        {
          "$ref": "#/definitions/ProxyResource"
        }
      ],
      "description": "Represents a Configuration.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ConfigurationProperties",
          "description": "The properties of a configuration.",
          "x-ms-client-flatten": true
        }
      }
    },
    "ConfigurationListResult": {
      "description": "A list of server configurations.",
      "properties": {
        "value": {
          "description": "The list of server configurations.",
          "items": {
            "$ref": "#/definitions/Configuration"
          },
          "type": "array"
        }
      }
    },
    "ConfigurationProperties": {
      "description": "The properties of a configuration.",
      "properties": {
        "allowedValues": {
          "description": "Allowed values of the configuration.",
          "readOnly": true,
          "type": "string"
        },
        "dataType": {
          "description": "Data type of the configuration.",
          "readOnly": true,
          "type": "string"
        },
        "defaultValue": {
          "description": "Default value of the configuration.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Description of the configuration.",
          "readOnly": true,
          "type": "string"
        },
        "source": {
          "description": "Source of the configuration.",
          "type": "string"
        },
        "value": {
          "description": "Value of the configuration.",
          "type": "string"
        }
      }
    },
    "Database": {
      "allOf": [
        {
          "$ref": "#/definitions/ProxyResource"
        }
      ],
      "description": "Represents a Database.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/DatabaseProperties",
          "description": "The properties of a database.",
          "x-ms-client-flatten": true
        }
      }
    },
    "DatabaseListResult": {
      "description": "A List of databases.",
      "properties": {
        "value": {
          "description": "The list of databases housed in a server",
          "items": {
            "$ref": "#/definitions/Database"
          },
          "type": "array"
        }
      }
    },
    "DatabaseProperties": {
      "description": "The properties of a database.",
      "properties": {
        "charset": {
          "description": "The charset of the database.",
          "type": "string"
        },
        "collation": {
          "description": "The collation of the database.",
          "type": "string"
        }
      }
    },
    "FirewallRule": {
      "allOf": [
        {
          "$ref": "#/definitions/ProxyResource"
        }
      ],
      "description": "Represents a server firewall rule.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/FirewallRuleProperties",
          "description": "The properties of a firewall rule.",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "properties"
      ]
    },
    "FirewallRuleListResult": {
      "description": "A list of firewall rules.",
      "properties": {
        "value": {
          "description": "The list of firewall rules in a server.",
          "items": {
            "$ref": "#/definitions/FirewallRule"
          },
          "type": "array"
        }
      }
    },
    "FirewallRuleProperties": {
      "description": "The properties of a server firewall rule.",
      "properties": {
        "endIpAddress": {
          "description": "The end IP address of the server firewall rule. Must be IPv4 format.",
          "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
          "type": "string"
        },
        "startIpAddress": {
          "description": "The start IP address of the server firewall rule. Must be IPv4 format.",
          "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
          "type": "string"
        }
      },
      "required": [
        "startIpAddress",
        "endIpAddress"
      ]
    },
    "LogFile": {
      "allOf": [
        {
          "$ref": "#/definitions/ProxyResource"
        }
      ],
      "description": "Represents a log file.",
      "properties": {
        "name": {
          "description": "The name of the log file.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/LogFileProperties",
          "description": "The properties of the log file.",
          "x-ms-client-flatten": true
        }
      }
    },
    "LogFileListResult": {
      "description": "A list of log files.",
      "properties": {
        "value": {
          "description": "The list of log files.",
          "items": {
            "$ref": "#/definitions/LogFile"
          },
          "type": "array"
        }
      }
    },
    "LogFileProperties": {
      "description": "The properties of a log file.",
      "properties": {
        "createdTime": {
          "description": "Creation timestamp of the log file.",
          "format": "date-time",
          "type": "string"
        },
        "lastModifiedTime": {
          "description": "Last modified timestamp of the log file.",
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "description": "Log file name.",
          "type": "string"
        },
        "sizeInKB": {
          "description": "Size of the log file.",
          "format": "int64",
          "type": "integer"
        },
        "type": {
          "description": "Type of the log file.",
          "type": "string"
        },
        "url": {
          "description": "The url to download the log file from.",
          "type": "string"
        }
      }
    },
    "NameAvailability": {
      "description": "Represents a resource name availability.",
      "properties": {
        "message": {
          "description": "Error Message.",
          "type": "string"
        },
        "nameAvailable": {
          "description": "Indicates whether the resource name is available.",
          "type": "boolean"
        },
        "reason": {
          "description": "Reason for name being unavailable.",
          "type": "string"
        }
      }
    },
    "NameAvailabilityRequest": {
      "description": "Request from client to check resource name availability.",
      "properties": {
        "name": {
          "description": "Resource name to verify.",
          "type": "string"
        },
        "type": {
          "description": "Resource type used for verification.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "Operation": {
      "description": "REST API operation definition.",
      "properties": {
        "display": {
          "$ref": "#/definitions/OperationDisplay",
          "description": "The localized display information for this particular operation or action.",
          "readOnly": true
        },
        "name": {
          "description": "The name of the operation being performed on this particular object.",
          "readOnly": true,
          "type": "string"
        },
        "origin": {
          "description": "The intended executor of the operation.",
          "enum": [
            "NotSpecified",
            "user",
            "system"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "OperationOrigin"
          }
        },
        "properties": {
          "additionalProperties": {
            "type": "object"
          },
          "description": "Additional descriptions for the operation.",
          "readOnly": true,
          "type": "object",
          "x-ms-client-flatten": false
        }
      }
    },
    "OperationDisplay": {
      "description": "Display metadata associated with the operation.",
      "properties": {
        "description": {
          "description": "Operation description.",
          "readOnly": true,
          "type": "string"
        },
        "operation": {
          "description": "Localized friendly name for the operation.",
          "readOnly": true,
          "type": "string"
        },
        "provider": {
          "description": "Operation resource provider name.",
          "readOnly": true,
          "type": "string"
        },
        "resource": {
          "description": "Resource on which the operation is performed.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "OperationListResult": {
      "description": "A list of resource provider operations.",
      "properties": {
        "value": {
          "description": "The list of resource provider operations.",
          "items": {
            "$ref": "#/definitions/Operation"
          },
          "type": "array"
        }
      }
    },
    "PerformanceTierListResult": {
      "description": "A list of performance tiers.",
      "properties": {
        "value": {
          "description": "The list of performance tiers",
          "items": {
            "$ref": "#/definitions/PerformanceTierProperties"
          },
          "type": "array"
        }
      }
    },
    "PerformanceTierProperties": {
      "description": "Performance tier properties",
      "properties": {
        "backupRetentionDays": {
          "description": "Backup retention in days for the performance tier edition",
          "type": "integer"
        },
        "id": {
          "description": "ID of the performance tier.",
          "type": "string"
        },
        "serviceLevelObjectives": {
          "description": "Service level objectives associated with the performance tier",
          "items": {
            "$ref": "#/definitions/PerformanceTierServiceLevelObjectives"
          },
          "type": "array"
        }
      }
    },
    "PerformanceTierServiceLevelObjectives": {
      "description": "Service level objectives for performance tier.",
      "properties": {
        "dtu": {
          "description": "Database throughput unit associated with the service level objective",
          "type": "integer"
        },
        "edition": {
          "description": "Edition of the performance tier.",
          "type": "string"
        },
        "id": {
          "description": "ID for the service level objective.",
          "type": "string"
        },
        "storageMB": {
          "description": "Maximum storage in MB associated with the service level objective",
          "type": "integer"
        }
      }
    },
    "ProxyResource": {
      "description": "Resource properties.",
      "properties": {
        "id": {
          "description": "Resource ID",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Resource name.",
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "Server": {
      "allOf": [
        {
          "$ref": "#/definitions/TrackedResource"
        }
      ],
      "description": "Represents a server.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ServerProperties",
          "description": "Properties of the server.",
          "x-ms-client-flatten": true
        },
        "sku": {
          "$ref": "#/definitions/Sku",
          "description": "The SKU (pricing tier) of the server."
        }
      }
    },
    "ServerForCreate": {
      "description": "Represents a server to be created.",
      "properties": {
        "location": {
          "description": "The location the resource resides in.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ServerPropertiesForCreate",
          "description": "Properties of the server.",
          "x-ms-client-flatten": false
        },
        "sku": {
          "$ref": "#/definitions/Sku",
          "description": "The SKU (pricing tier) of the server."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Application-specific metadata in the form of key-value pairs.",
          "type": "object"
        }
      },
      "required": [
        "properties",
        "location"
      ]
    },
    "ServerListResult": {
      "description": "A list of servers.",
      "properties": {
        "value": {
          "description": "The list of servers",
          "items": {
            "$ref": "#/definitions/Server"
          },
          "type": "array"
        }
      }
    },
    "ServerProperties": {
      "description": "The properties of a server.",
      "properties": {
        "administratorLogin": {
          "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).",
          "type": "string"
        },
        "fullyQualifiedDomainName": {
          "description": "The fully qualified domain name of a server.",
          "type": "string"
        },
        "sslEnforcement": {
          "$ref": "#/definitions/SslEnforcement",
          "description": "Enable ssl enforcement or not when connect to server."
        },
        "storageMB": {
          "description": "The maximum storage allowed for a server.",
          "format": "int64",
          "minimum": 1024,
          "type": "integer"
        },
        "userVisibleState": {
          "description": "A state of a server that is visible to user.",
          "enum": [
            "Ready",
            "Dropping",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ServerState"
          }
        },
        "version": {
          "$ref": "#/definitions/ServerVersion",
          "description": "Server version."
        }
      }
    },
    "ServerPropertiesForCreate": {
      "description": "The properties used to create a new server.",
      "discriminator": "createMode",
      "properties": {
        "createMode": {
          "description": "The mode to create a new server.",
          "enum": [
            "Default",
            "PointInTimeRestore"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "CreateMode"
          }
        },
        "sslEnforcement": {
          "$ref": "#/definitions/SslEnforcement",
          "description": "Enable ssl enforcement or not when connect to server."
        },
        "storageMB": {
          "description": "The maximum storage allowed for a server.",
          "format": "int64",
          "minimum": 1024,
          "type": "integer"
        },
        "version": {
          "$ref": "#/definitions/ServerVersion",
          "description": "Server version."
        }
      },
      "required": [
        "createMode"
      ]
    },
    "ServerPropertiesForDefaultCreate": {
      "allOf": [
        {
          "$ref": "#/definitions/ServerPropertiesForCreate"
        }
      ],
      "description": "The properties used to create a new server.",
      "properties": {
        "administratorLogin": {
          "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).",
          "type": "string"
        },
        "administratorLoginPassword": {
          "description": "The password of the administrator login.",
          "format": "password",
          "type": "string"
        }
      },
      "required": [
        "administratorLogin",
        "administratorLoginPassword"
      ],
      "x-ms-discriminator-value": "Default"
    },
    "ServerPropertiesForRestore": {
      "allOf": [
        {
          "$ref": "#/definitions/ServerPropertiesForCreate"
        }
      ],
      "description": "The properties to a new server by restoring from a backup.",
      "properties": {
        "restorePointInTime": {
          "description": "Restore point creation time (ISO8601 format), specifying the time to restore from.",
          "format": "date-time",
          "type": "string"
        },
        "sourceServerId": {
          "description": "The source server id to restore from.",
          "type": "string"
        }
      },
      "required": [
        "sourceServerId",
        "restorePointInTime"
      ],
      "x-ms-discriminator-value": "PointInTimeRestore"
    },
    "ServerUpdateParameters": {
      "description": "Parameters allowd to update for a server.",
      "properties": {
        "properties": {
          "description": "The properties that can be updated for a server.",
          "properties": {
            "administratorLoginPassword": {
              "description": "The password of the administrator login.",
              "format": "password",
              "type": "string"
            },
            "sslEnforcement": {
              "$ref": "#/definitions/SslEnforcement",
              "description": "Enable ssl enforcement or not when connect to server."
            },
            "storageMB": {
              "description": "The max storage allowed for a server.",
              "format": "int64",
              "minimum": 1024,
              "type": "integer"
            },
            "version": {
              "$ref": "#/definitions/ServerVersion",
              "description": "The version of a server."
            }
          },
          "x-ms-client-flatten": true
        },
        "sku": {
          "$ref": "#/definitions/Sku",
          "description": "The SKU (pricing tier) of the server."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Application-specific metadata in the form of key-value pairs.",
          "type": "object"
        }
      }
    },
    "ServerVersion": {
      "description": "The version of a server.",
      "enum": [
        "5.6",
        "5.7"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "ServerVersion"
      }
    },
    "Sku": {
      "description": "Billing information related properties of a server.",
      "properties": {
        "capacity": {
          "description": "The scale up/out capacity, representing server's compute units.",
          "format": "int32",
          "minimum": 0,
          "type": "integer"
        },
        "family": {
          "description": "The family of hardware.",
          "type": "string"
        },
        "name": {
          "description": "The name of the sku, typically, a letter + Number code, e.g. P3.",
          "type": "string"
        },
        "size": {
          "description": "The size code, to be interpreted by resource as appropriate.",
          "type": "string"
        },
        "tier": {
          "description": "The tier of the particular SKU, e.g. Basic.",
          "enum": [
            "Basic",
            "Standard"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SkuTier"
          }
        }
      }
    },
    "SslEnforcement": {
      "description": "Enable ssl enforcement or not when connect to server.",
      "enum": [
        "Enabled",
        "Disabled"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "SslEnforcementEnum"
      }
    },
    "TrackedResource": {
      "allOf": [
        {
          "$ref": "#/definitions/ProxyResource"
        }
      ],
      "description": "Resource properties including location and tags for track resources.",
      "properties": {
        "location": {
          "description": "The location the resource resides in.",
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Application-specific metadata in the form of key-value pairs.",
          "type": "object"
        }
      },
      "required": [
        "location"
      ]
    }
  }
}