From 3180a43e1e8bfaf2eaea7fd57050ba83b07a0dc6 Mon Sep 17 00:00:00 2001 From: Nicholas King Date: Mon, 14 Aug 2017 18:34:34 -0700 Subject: [PATCH] Update snapshot and deleted app entities for Microsoft.Web --- .../2016-03-01/DeletedWebApps.json | 1123 +---------------- .../Microsoft.Web/2016-08-01/WebApps.json | 77 +- .../2016-09-01/AppServiceEnvironments.json | 61 + .../2016-09-01/AppServicePlans.json | 61 + 4 files changed, 165 insertions(+), 1157 deletions(-) diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/DeletedWebApps.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/DeletedWebApps.json index a2a771b0b5f6..48906a350390 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/DeletedWebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/DeletedWebApps.json @@ -10,7 +10,7 @@ ], "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites": { - "post": { + "get": { "tags": [ "DeletedWebApps" ], @@ -41,461 +41,37 @@ "nextLinkName": "nextLink" } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites": { - "get": { - "tags": [ - "DeletedWebApps" - ], - "summary": "Gets deleted web apps in subscription.", - "description": "Gets deleted web apps in subscription.", - "operationId": "DeletedWebApps_ListByResourceGroup", - "produces": [ - "application/json", - "text/json" - ], - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DeletedWebAppCollection" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } } }, "definitions": { - "ApiDefinitionInfo": { - "description": "Information about the formal API definition for the app.", - "type": "object", - "properties": { - "url": { - "description": "The URL of the API definition.", - "type": "string" - } - } - }, - "AutoHealActions": { - "description": "Actions which to take by the auto-heal module when a rule is triggered.", - "type": "object", - "properties": { - "actionType": { - "description": "Predefined action to be taken.", - "enum": [ - "Recycle", - "LogEvent", - "CustomAction" - ], - "type": "string", - "x-ms-enum": { - "name": "AutoHealActionType", - "modelAsString": false - } - }, - "customAction": { - "$ref": "#/definitions/AutoHealCustomAction", - "description": "Custom action to be taken." - }, - "minProcessExecutionTime": { - "description": "Minimum time the process must execute\n before taking the action", - "type": "string" - } - } - }, - "AutoHealCustomAction": { - "description": "Custom action to be executed\n when an auto heal rule is triggered.", - "type": "object", - "properties": { - "exe": { - "description": "Executable to be run.", - "type": "string" - }, - "parameters": { - "description": "Parameters for the executable.", - "type": "string" - } - } - }, - "AutoHealRules": { - "description": "Rules that can be defined for auto-heal.", - "type": "object", - "properties": { - "triggers": { - "$ref": "#/definitions/AutoHealTriggers", - "description": "Conditions that describe when to execute the auto-heal actions." - }, - "actions": { - "$ref": "#/definitions/AutoHealActions", - "description": "Actions to be executed when a rule is triggered." - } - } - }, - "AutoHealTriggers": { - "description": "Triggers for auto-heal.", + "DeletedSite": { + "description": "A deleted app.", "type": "object", "properties": { - "requests": { - "$ref": "#/definitions/RequestsBasedTrigger", - "description": "A rule based on total requests." - }, - "privateBytesInKB": { + "id": { "format": "int32", - "description": "A rule based on private bytes.", + "description": "Numeric id for the deleted site", "type": "integer" }, - "statusCodes": { - "description": "A rule based on status codes.", - "type": "array", - "items": { - "$ref": "#/definitions/StatusCodesBasedTrigger" - } - }, - "slowRequests": { - "$ref": "#/definitions/SlowRequestsBasedTrigger", - "description": "A rule based on request execution time." - } - } - }, - "CloningInfo": { - "description": "Information needed for cloning operation.", - "required": [ - "sourceWebAppId" - ], - "type": "object", - "properties": { - "correlationId": { - "description": "Correlation ID of cloning operation. This ID ties multiple cloning operations\n together to use the same snapshot.", - "type": "string" - }, - "overwrite": { - "description": "true to overwrite destination app; otherwise, false.", - "type": "boolean" - }, - "cloneCustomHostNames": { - "description": "true to clone custom hostnames from source app; otherwise, false.", - "type": "boolean" - }, - "cloneSourceControl": { - "description": "true to clone source control from source app; otherwise, false.", - "type": "boolean" - }, - "sourceWebAppId": { - "description": "ARM resource ID of the source app. App resource ID is of the form \n /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.", - "type": "string" - }, - "hostingEnvironment": { - "description": "App Service Environment.", - "type": "string" - }, - "appSettingsOverrides": { - "description": "Application setting overrides for cloned app. If specified, these settings override the settings cloned \n from source app. Otherwise, application settings from source app are retained.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "configureLoadBalancing": { - "description": "true to configure load balancing for source and destination app.", - "type": "boolean" + "deletedTimestamp": { + "description": "Time in UTC when the app was deleted.", + "type": "string", + "readOnly": true }, - "trafficManagerProfileId": { - "description": "ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form \n /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}.", - "type": "string" + "subscription": { + "description": "Subscription containing the deleted site", + "type": "string", + "readOnly": true }, - "trafficManagerProfileName": { - "description": "Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist.", - "type": "string" + "resourceGroup": { + "description": "ResourceGroup that contained the deleted site", + "type": "string", + "readOnly": true }, - "ignoreQuotas": { - "description": "true if quotas should be ignored; otherwise, false.", - "type": "boolean" - } - } - }, - "ConnStringInfo": { - "description": "Database connection string information.", - "type": "object", - "properties": { "name": { - "description": "Name of connection string.", - "type": "string" - }, - "connectionString": { - "description": "Connection string value.", - "type": "string" - }, - "type": { - "description": "Type of database.", - "enum": [ - "MySql", - "SQLServer", - "SQLAzure", - "Custom", - "NotificationHub", - "ServiceBus", - "EventHub", - "ApiHub", - "DocDb", - "RedisCache", - "PostgreSQL" - ], + "description": "Name of the deleted site", "type": "string", - "x-ms-enum": { - "name": "ConnectionStringType", - "modelAsString": false - } - } - } - }, - "CorsSettings": { - "description": "Cross-Origin Resource Sharing (CORS) settings for the app.", - "type": "object", - "properties": { - "allowedOrigins": { - "description": "Gets or sets the list of origins that should be allowed to make cross-origin\n calls (for example: http://example.com:12345). Use \"*\" to allow all.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DeletedSite": { - "description": "A deleted app.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "DeletedSite resource specific properties", - "properties": { - "deletedTimestamp": { - "format": "date-time", - "description": "Time in UTC when the app was deleted.", - "type": "string", - "readOnly": true - }, - "state": { - "description": "Current state of the app.", - "type": "string", - "readOnly": true - }, - "hostNames": { - "description": "Hostnames associated with the app.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "repositorySiteName": { - "description": "Name of the repository site.", - "type": "string", - "readOnly": true - }, - "usageState": { - "description": "State indicating whether the app has exceeded its quota usage. Read-only.", - "enum": [ - "Normal", - "Exceeded" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "UsageState", - "modelAsString": false - } - }, - "enabled": { - "description": "true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline).", - "type": "boolean" - }, - "enabledHostNames": { - "description": "Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise,\n the app is not served on those hostnames.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "availabilityState": { - "description": "Management information availability state for the app.", - "enum": [ - "Normal", - "Limited", - "DisasterRecoveryMode" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "SiteAvailabilityState", - "modelAsString": false - } - }, - "hostNameSslStates": { - "description": "Hostname SSL states are used to manage the SSL bindings for app's hostnames.", - "type": "array", - "items": { - "$ref": "#/definitions/HostNameSslState" - } - }, - "serverFarmId": { - "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", - "type": "string" - }, - "reserved": { - "description": "true if reserved; otherwise, false.", - "default": false, - "type": "boolean", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "lastModifiedTimeUtc": { - "format": "date-time", - "description": "Last time the app was modified, in UTC. Read-only.", - "type": "string", - "readOnly": true - }, - "siteConfig": { - "$ref": "#/definitions/SiteConfig", - "description": "Configuration of the app." - }, - "trafficManagerHostNames": { - "description": "Azure Traffic Manager hostnames associated with the app. Read-only.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "premiumAppDeployed": { - "description": "Indicates whether app is deployed as a premium app.", - "type": "boolean", - "readOnly": true - }, - "scmSiteAlsoStopped": { - "description": "true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false.", - "default": false, - "type": "boolean" - }, - "targetSwapSlot": { - "description": "Specifies which deployment slot this app will swap into. Read-only.", - "type": "string", - "readOnly": true - }, - "hostingEnvironmentProfile": { - "$ref": "#/definitions/HostingEnvironmentProfile", - "description": "App Service Environment to use for the app.", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "microService": { - "description": "Micro services like apps, logic apps.", - "default": "WebSites", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "gatewaySiteName": { - "description": "Name of gateway app associated with the app.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "clientAffinityEnabled": { - "description": "true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true.", - "type": "boolean" - }, - "clientCertEnabled": { - "description": "true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false.", - "type": "boolean" - }, - "hostNamesDisabled": { - "description": "true to disable the public hostnames of the app; otherwise, false.\n If true, the app is only accessible via API management process.", - "type": "boolean" - }, - "outboundIpAddresses": { - "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Read-only.", - "type": "string", - "readOnly": true - }, - "containerSize": { - "format": "int32", - "description": "Size of the function container.", - "type": "integer" - }, - "dailyMemoryTimeQuota": { - "format": "int32", - "description": "Maximum allowed daily memory-time quota (applicable on dynamic apps only).", - "type": "integer" - }, - "suspendedTill": { - "format": "date-time", - "description": "App suspended till in case memory-time quota is exceeded.", - "type": "string", - "readOnly": true - }, - "maxNumberOfWorkers": { - "format": "int32", - "description": "Maximum number of workers.\n This only applies to Functions container.", - "type": "integer", - "readOnly": true - }, - "cloningInfo": { - "$ref": "#/definitions/CloningInfo", - "description": "If specified during app creation, the app is cloned from a source app.", - "x-ms-mutability": [ - "create" - ] - }, - "resourceGroup": { - "description": "Name of the resource group the app belongs to. Read-only.", - "type": "string", - "readOnly": true - }, - "isDefaultContainer": { - "description": "true if the app is a default container; otherwise, false.", - "type": "boolean", - "readOnly": true - }, - "defaultHostName": { - "description": "Default hostname of the app. Read-only.", - "type": "string", - "readOnly": true - }, - "slotSwapStatus": { - "$ref": "#/definitions/SlotSwapStatus", - "description": "Status of the last deployment slot swap operation.", - "readOnly": true - } - }, - "x-ms-client-flatten": true + "readOnly": true } } }, @@ -518,654 +94,6 @@ "type": "string" } } - }, - "Experiments": { - "description": "Routing rules in production experiments.", - "type": "object", - "properties": { - "rampUpRules": { - "description": "List of ramp-up rules.", - "type": "array", - "items": { - "$ref": "#/definitions/RampUpRule" - } - } - } - }, - "HandlerMapping": { - "description": "The IIS handler mappings used to define which handler processes HTTP requests with certain extension. \n For example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.", - "type": "object", - "properties": { - "extension": { - "description": "Requests with this extension will be handled using the specified FastCGI application.", - "type": "string" - }, - "scriptProcessor": { - "description": "The absolute path to the FastCGI application.", - "type": "string" - }, - "arguments": { - "description": "Command-line arguments to be passed to the script processor.", - "type": "string" - } - } - }, - "HostNameSslState": { - "description": "SSL-enabled hostname.", - "type": "object", - "properties": { - "name": { - "description": "Hostname.", - "type": "string" - }, - "sslState": { - "description": "SSL type.", - "enum": [ - "Disabled", - "SniEnabled", - "IpBasedEnabled" - ], - "type": "string", - "x-ms-enum": { - "name": "SslState", - "modelAsString": false - } - }, - "virtualIP": { - "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.", - "type": "string" - }, - "thumbprint": { - "description": "SSL certificate thumbprint.", - "type": "string" - }, - "toUpdate": { - "description": "Set to true to update existing hostname.", - "type": "boolean" - }, - "hostType": { - "description": "Indicates whether the hostname is a standard or repository hostname.", - "enum": [ - "Standard", - "Repository" - ], - "type": "string", - "x-ms-enum": { - "name": "HostType", - "modelAsString": false - } - } - } - }, - "HostingEnvironmentProfile": { - "description": "Specification for an App Service Environment to use for this resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID of the App Service Environment.", - "type": "string" - }, - "name": { - "description": "Name of the App Service Environment.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type of the App Service Environment.", - "type": "string", - "readOnly": true - } - } - }, - "IpSecurityRestriction": { - "description": "IP security restriction on an app.", - "required": [ - "ipAddress" - ], - "type": "object", - "properties": { - "ipAddress": { - "description": "IP address the security restriction is valid for.", - "type": "string" - }, - "subnetMask": { - "description": "Subnet mask for the range of IP addresses the restriction is valid for.", - "type": "string" - } - } - }, - "NameValuePair": { - "description": "Name value pair.", - "type": "object", - "properties": { - "name": { - "description": "Pair name.", - "type": "string" - }, - "value": { - "description": "Pair value.", - "type": "string" - } - } - }, - "PushSettings": { - "description": "Push settings for the App.", - "required": [ - "isPushEnabled" - ], - "type": "object", - "properties": { - "isPushEnabled": { - "description": "Gets or sets a flag indicating whether the Push endpoint is enabled.", - "type": "boolean" - }, - "tagWhitelistJson": { - "description": "Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint.", - "type": "string" - }, - "tagsRequiringAuth": { - "description": "Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint.\n Tags can consist of alphanumeric characters and the following:\n '_', '@', '#', '.', ':', '-'. \n Validation should be performed at the PushRequestHandler.", - "type": "string" - }, - "dynamicTagsJson": { - "description": "Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint.", - "type": "string" - } - } - }, - "RampUpRule": { - "description": "Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change routing % based on performance.", - "type": "object", - "properties": { - "actionHostName": { - "description": "Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net.", - "type": "string" - }, - "reroutePercentage": { - "format": "double", - "description": "Percentage of the traffic which will be redirected to ActionHostName.", - "type": "number" - }, - "changeStep": { - "format": "double", - "description": "In auto ramp up scenario this is the step to to add/remove from ReroutePercentage until it reaches \n MinReroutePercentage or MaxReroutePercentage. Site metrics are checked every N minutes specificed in ChangeIntervalInMinutes.\n Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl.", - "type": "number" - }, - "changeIntervalInMinutes": { - "format": "int32", - "description": "Specifies interval in mimuntes to reevaluate ReroutePercentage.", - "type": "integer" - }, - "minReroutePercentage": { - "format": "double", - "description": "Specifies lower boundary above which ReroutePercentage will stay.", - "type": "number" - }, - "maxReroutePercentage": { - "format": "double", - "description": "Specifies upper boundary below which ReroutePercentage will stay.", - "type": "number" - }, - "changeDecisionCallbackUrl": { - "description": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\n https://www.siteextensions.net/packages/TiPCallback/", - "type": "string" - }, - "name": { - "description": "Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment.", - "type": "string" - } - } - }, - "RequestsBasedTrigger": { - "description": "Trigger based on total requests.", - "type": "object", - "properties": { - "count": { - "format": "int32", - "description": "Count.", - "type": "integer" - }, - "timeInterval": { - "description": "Time interval.", - "type": "string" - } - } - }, - "Resource": { - "description": "Azure resource. This resource is tracked in Azure Resource Manager", - "required": [ - "location" - ], - "properties": { - "id": { - "description": "Resource Id.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource Name.", - "type": "string", - "readOnly": true - }, - "kind": { - "description": "Kind of resource.", - "type": "string" - }, - "location": { - "description": "Resource Location.", - "type": "string" - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "x-ms-azure-resource": true - }, - "SiteConfig": { - "description": "Configuration of an App Service app.", - "type": "object", - "properties": { - "numberOfWorkers": { - "format": "int32", - "description": "Number of workers.", - "type": "integer" - }, - "defaultDocuments": { - "description": "Default documents.", - "type": "array", - "items": { - "type": "string" - } - }, - "netFrameworkVersion": { - "description": ".NET Framework version.", - "default": "v4.6", - "type": "string" - }, - "phpVersion": { - "description": "Version of PHP.", - "type": "string" - }, - "pythonVersion": { - "description": "Version of Python.", - "type": "string" - }, - "nodeVersion": { - "description": "Version of Node.js.", - "type": "string" - }, - "linuxFxVersion": { - "description": "Linux App Framework and version", - "type": "string" - }, - "requestTracingEnabled": { - "description": "true if request tracing is enabled; otherwise, false.", - "type": "boolean" - }, - "requestTracingExpirationTime": { - "format": "date-time", - "description": "Request tracing expiration time.", - "type": "string" - }, - "remoteDebuggingEnabled": { - "description": "true if remote debugging is enabled; otherwise, false.", - "type": "boolean" - }, - "remoteDebuggingVersion": { - "description": "Remote debugging version.", - "type": "string" - }, - "httpLoggingEnabled": { - "description": "true if HTTP logging is enabled; otherwise, false.", - "type": "boolean" - }, - "logsDirectorySizeLimit": { - "format": "int32", - "description": "HTTP logs directory size limit.", - "type": "integer" - }, - "detailedErrorLoggingEnabled": { - "description": "true if detailed error logging is enabled; otherwise, false.", - "type": "boolean" - }, - "publishingUsername": { - "description": "Publishing user name.", - "type": "string" - }, - "appSettings": { - "description": "Application settings.", - "type": "array", - "items": { - "$ref": "#/definitions/NameValuePair" - } - }, - "connectionStrings": { - "description": "Connection strings.", - "type": "array", - "items": { - "$ref": "#/definitions/ConnStringInfo" - } - }, - "machineKey": { - "$ref": "#/definitions/SiteMachineKey", - "description": "Site MachineKey.", - "readOnly": true - }, - "handlerMappings": { - "description": "Handler mappings.", - "type": "array", - "items": { - "$ref": "#/definitions/HandlerMapping" - } - }, - "documentRoot": { - "description": "Document root.", - "type": "string" - }, - "scmType": { - "description": "SCM type.", - "enum": [ - "None", - "Dropbox", - "Tfs", - "LocalGit", - "GitHub", - "CodePlexGit", - "CodePlexHg", - "BitbucketGit", - "BitbucketHg", - "ExternalGit", - "ExternalHg", - "OneDrive", - "VSO" - ], - "type": "string", - "x-ms-enum": { - "name": "ScmType", - "modelAsString": true - } - }, - "use32BitWorkerProcess": { - "description": "true to use 32-bit worker process; otherwise, false.", - "type": "boolean" - }, - "webSocketsEnabled": { - "description": "true if WebSocket is enabled; otherwise, false.", - "type": "boolean" - }, - "alwaysOn": { - "description": "true if Always On is enabled; otherwise, false.", - "type": "boolean" - }, - "javaVersion": { - "description": "Java version.", - "type": "string" - }, - "javaContainer": { - "description": "Java container.", - "type": "string" - }, - "javaContainerVersion": { - "description": "Java container version.", - "type": "string" - }, - "appCommandLine": { - "description": "App command line to launch.", - "type": "string" - }, - "managedPipelineMode": { - "description": "Managed pipeline mode.", - "enum": [ - "Integrated", - "Classic" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedPipelineMode", - "modelAsString": false - } - }, - "virtualApplications": { - "description": "Virtual applications.", - "type": "array", - "items": { - "$ref": "#/definitions/VirtualApplication" - } - }, - "loadBalancing": { - "description": "Site load balancing.", - "enum": [ - "WeightedRoundRobin", - "LeastRequests", - "LeastResponseTime", - "WeightedTotalTraffic", - "RequestHash" - ], - "type": "string", - "x-ms-enum": { - "name": "SiteLoadBalancing", - "modelAsString": false - } - }, - "experiments": { - "$ref": "#/definitions/Experiments", - "description": "This is work around for polymophic types." - }, - "limits": { - "$ref": "#/definitions/SiteLimits", - "description": "Site limits." - }, - "autoHealEnabled": { - "description": "true if Auto Heal is enabled; otherwise, false.", - "type": "boolean" - }, - "autoHealRules": { - "$ref": "#/definitions/AutoHealRules", - "description": "Auto Heal rules." - }, - "tracingOptions": { - "description": "Tracing options.", - "type": "string" - }, - "vnetName": { - "description": "Virtual Network name.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "cors": { - "$ref": "#/definitions/CorsSettings", - "description": "Cross-Origin Resource Sharing (CORS) settings." - }, - "push": { - "$ref": "#/definitions/PushSettings", - "description": "Push endpoint settings." - }, - "apiDefinition": { - "$ref": "#/definitions/ApiDefinitionInfo", - "description": "Information about the formal API definition for the app." - }, - "autoSwapSlotName": { - "description": "Auto-swap slot name.", - "type": "string" - }, - "localMySqlEnabled": { - "description": "true to enable local MySQL; otherwise, false.", - "default": false, - "type": "boolean" - }, - "ipSecurityRestrictions": { - "description": "IP security restrictions.", - "type": "array", - "items": { - "$ref": "#/definitions/IpSecurityRestriction" - } - } - } - }, - "SiteLimits": { - "description": "Metric limits set on an app.", - "type": "object", - "properties": { - "maxPercentageCpu": { - "format": "double", - "description": "Maximum allowed CPU usage percentage.", - "type": "number" - }, - "maxMemoryInMb": { - "format": "int64", - "description": "Maximum allowed memory usage in MB.", - "type": "integer" - }, - "maxDiskSizeInMb": { - "format": "int64", - "description": "Maximum allowed disk size usage in MB.", - "type": "integer" - } - } - }, - "SiteMachineKey": { - "description": "MachineKey of an app.", - "type": "object", - "properties": { - "validation": { - "description": "MachineKey validation.", - "type": "string" - }, - "validationKey": { - "description": "Validation key.", - "type": "string" - }, - "decryption": { - "description": "Decryption.", - "type": "string" - }, - "decryptionKey": { - "description": "Decryption key.", - "type": "string" - } - } - }, - "SlotSwapStatus": { - "description": "The status of the last successfull slot swap operation.", - "type": "object", - "properties": { - "timestampUtc": { - "format": "date-time", - "description": "The time the last successful slot swap completed.", - "type": "string", - "readOnly": true - }, - "sourceSlotName": { - "description": "The source slot of the last swap operation.", - "type": "string", - "readOnly": true - }, - "destinationSlotName": { - "description": "The destination slot of the last swap operation.", - "type": "string", - "readOnly": true - } - } - }, - "SlowRequestsBasedTrigger": { - "description": "Trigger based on request execution time.", - "type": "object", - "properties": { - "timeTaken": { - "description": "Time taken.", - "type": "string" - }, - "count": { - "format": "int32", - "description": "Count.", - "type": "integer" - }, - "timeInterval": { - "description": "Time interval.", - "type": "string" - } - } - }, - "StatusCodesBasedTrigger": { - "description": "Trigger based on status code.", - "type": "object", - "properties": { - "status": { - "format": "int32", - "description": "HTTP status code.", - "type": "integer" - }, - "subStatus": { - "format": "int32", - "description": "SubStatus.", - "type": "integer" - }, - "win32Status": { - "format": "int32", - "description": "Win32 error code.", - "type": "integer" - }, - "count": { - "format": "int32", - "description": "Count.", - "type": "integer" - }, - "timeInterval": { - "description": "Time interval.", - "type": "string" - } - } - }, - "VirtualApplication": { - "description": "Virtual application in an app.", - "type": "object", - "properties": { - "virtualPath": { - "description": "Virtual path.", - "type": "string" - }, - "physicalPath": { - "description": "Physical path.", - "type": "string" - }, - "preloadEnabled": { - "description": "true if preloading is enabled; otherwise, false.", - "type": "boolean" - }, - "virtualDirectories": { - "description": "Virtual directories for virtual application.", - "type": "array", - "items": { - "$ref": "#/definitions/VirtualDirectory" - } - } - } - }, - "VirtualDirectory": { - "description": "Directory for virtual application.", - "type": "object", - "properties": { - "virtualPath": { - "description": "Path to virtual application.", - "type": "string" - }, - "physicalPath": { - "description": "Physical path.", - "type": "string" - } - } } }, "parameters": { @@ -1176,17 +104,6 @@ "required": true, "type": "string" }, - "resourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "description": "Name of the resource group to which the resource belongs.", - "required": true, - "x-ms-parameter-location": "method", - "type": "string", - "maxLength": 90, - "minLength": 1, - "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$" - }, "apiVersionParameter": { "name": "api-version", "in": "query", @@ -1213,4 +130,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/2016-08-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/2016-08-01/WebApps.json index b42d5817bc58..5d7214eeaae3 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-08-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-08-01/WebApps.json @@ -4792,20 +4792,14 @@ "tags": [ "WebApps" ], - "summary": "Recovers a deleted web app.", - "description": "Recovers a deleted web app.", + "summary": "Recovers a web app to a previous snapshot.", + "description": "Recovers a web app to a previous snapshot.", "operationId": "WebApps_Recover", "consumes": [ "application/json", "text/json", "application/x-www-form-urlencoded" ], - "produces": [ - "application/json", - "text/json", - "application/xml", - "text/xml" - ], "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -4834,11 +4828,8 @@ } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoverResponse" - } + "202": { + "description": "Recovery operation started" } }, "x-ms-long-running-operation": true @@ -10086,20 +10077,14 @@ "tags": [ "WebApps" ], - "summary": "Recovers a deleted web app.", - "description": "Recovers a deleted web app.", + "summary": "Recovers a web app to a previous snapshot.", + "description": "Recovers a web app to a previous snapshot.", "operationId": "WebApps_RecoverSlot", "consumes": [ "application/json", "text/json", "application/x-www-form-urlencoded" ], - "produces": [ - "application/json", - "text/json", - "application/xml", - "text/xml" - ], "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -10135,11 +10120,8 @@ } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoverResponse" - } + "202": { + "description": "Recovery operation started" } }, "x-ms-long-running-operation": true @@ -14301,28 +14283,6 @@ } } }, - "RecoverResponse": { - "description": "Response for an app recovery request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "RecoverResponse resource specific properties", - "properties": { - "operationId": { - "description": "ID of the recovery operation. Can be used to check the status of the corresponding operation.", - "type": "string", - "readOnly": true - } - }, - "x-ms-client-flatten": true - } - } - }, "RelayServiceConnectionEntity": { "description": "Hybrid Connection for an App Service app.", "type": "object", @@ -14937,6 +14897,13 @@ "create" ] }, + "snapshotInfo": { + "$ref": "#/definitions/SnapshotRecoveryRequest", + "description": "If specified during app creation, the app is created from a previous snapshot.", + "x-ms-mutability": [ + "create" + ] + }, "resourceGroup": { "description": "Name of the resource group the app belongs to. Read-only.", "type": "string", @@ -15820,7 +15787,6 @@ "description": "Snapshot resource specific properties", "properties": { "time": { - "format": "date-time", "description": "The time the snapshot was taken.", "type": "string", "readOnly": true @@ -15866,8 +15832,7 @@ ], "properties": { "snapshotTime": { - "format": "date-time", - "description": "Point in time in which the app recovery should be attempted.", + "description": "Point in time in which the app recovery should be attempted, formatted as a DateTime string.", "type": "string" }, "recoveryTarget": { @@ -15875,11 +15840,15 @@ "description": "Specifies the web app that snapshot contents will be written to." }, "overwrite": { - "description": "true if the recovery operation can overwrite source app; otherwise, false.", + "description": "If true the recovery operation can overwrite source app; otherwise, false.", "type": "boolean" }, "recoverConfiguration": { - "description": "Site configuration, in addition to content, will be reverted if this is true.", + "description": "If true, site configuration, in addition to content, will be reverted.", + "type": "boolean" + }, + "ignoreConflictingHostNames": { + "description": "If true, custom hostname conflicts will be ignored when recovering to a target web app.\n This setting is only necessary when RecoverConfiguration is enabled.", "type": "boolean" } }, @@ -16322,4 +16291,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServiceEnvironments.json b/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServiceEnvironments.json index c24107d6da69..436fcbd326f2 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServiceEnvironments.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServiceEnvironments.json @@ -3450,6 +3450,13 @@ "create" ] }, + "snapshotInfo": { + "$ref": "#/definitions/SnapshotRecoveryRequest", + "description": "If specified during app creation, the app is created from a previous snapshot.", + "x-ms-mutability": [ + "create" + ] + }, "resourceGroup": { "description": "Name of the resource group the app belongs to. Read-only.", "type": "string", @@ -3911,6 +3918,60 @@ } } }, + "SnapshotRecoveryRequest": { + "description": "Details about app recovery operation.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SnapshotRecoveryRequest resource specific properties", + "required": [ + "overwrite" + ], + "properties": { + "snapshotTime": { + "description": "Point in time in which the app recovery should be attempted, formatted as a DateTime string.", + "type": "string" + }, + "recoveryTarget": { + "$ref": "#/definitions/SnapshotRecoveryTarget", + "description": "Specifies the web app that snapshot contents will be written to." + }, + "overwrite": { + "description": "If true the recovery operation can overwrite source app; otherwise, false.", + "type": "boolean" + }, + "recoverConfiguration": { + "description": "If true, site configuration, in addition to content, will be reverted.", + "type": "boolean" + }, + "ignoreConflictingHostNames": { + "description": "If true, custom hostname conflicts will be ignored when recovering to a target web app.\n This setting is only necessary when RecoverConfiguration is enabled.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SnapshotRecoveryTarget": { + "description": "Specifies the web app that snapshot contents will be written to.", + "type": "object", + "properties": { + "location": { + "description": "Geographical location of the target web app, e.g. SouthEastAsia, SouthCentralUS", + "type": "string" + }, + "id": { + "description": "ARM resource ID of the target app. \n /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.", + "type": "string" + } + } + }, "StampCapacity": { "description": "Stamp capacity information.", "type": "object", diff --git a/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServicePlans.json b/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServicePlans.json index bcec1ee56a75..769aca948319 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServicePlans.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-09-01/AppServicePlans.json @@ -2576,6 +2576,13 @@ "create" ] }, + "snapshotInfo": { + "$ref": "#/definitions/SnapshotRecoveryRequest", + "description": "If specified during app creation, the app is created from a previous snapshot.", + "x-ms-mutability": [ + "create" + ] + }, "resourceGroup": { "description": "Name of the resource group the app belongs to. Read-only.", "type": "string", @@ -2999,6 +3006,60 @@ } } }, + "SnapshotRecoveryRequest": { + "description": "Details about app recovery operation.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SnapshotRecoveryRequest resource specific properties", + "required": [ + "overwrite" + ], + "properties": { + "snapshotTime": { + "description": "Point in time in which the app recovery should be attempted, formatted as a DateTime string.", + "type": "string" + }, + "recoveryTarget": { + "$ref": "#/definitions/SnapshotRecoveryTarget", + "description": "Specifies the web app that snapshot contents will be written to." + }, + "overwrite": { + "description": "If true the recovery operation can overwrite source app; otherwise, false.", + "type": "boolean" + }, + "recoverConfiguration": { + "description": "If true, site configuration, in addition to content, will be reverted.", + "type": "boolean" + }, + "ignoreConflictingHostNames": { + "description": "If true, custom hostname conflicts will be ignored when recovering to a target web app.\n This setting is only necessary when RecoverConfiguration is enabled.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SnapshotRecoveryTarget": { + "description": "Specifies the web app that snapshot contents will be written to.", + "type": "object", + "properties": { + "location": { + "description": "Geographical location of the target web app, e.g. SouthEastAsia, SouthCentralUS", + "type": "string" + }, + "id": { + "description": "ARM resource ID of the target app. \n /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.", + "type": "string" + } + } + }, "StatusCodesBasedTrigger": { "description": "Trigger based on status code.", "type": "object",